Release build
•Arrays!main:
•push    ebp
•mov     ebp,esp
•and     esp,0xfffffff8  ; aligning a pointer down to 8-byte boundary
•sub     esp,0x194 ; allocating stack for 2 arrays
•push    edi
•mov     ecx,0x31 ; zeroing 49 integers
•xor     eax,eax
•lea     edi,[esp+0xc]
•mov     dword ptr [esp+0x8],0x0 ; zeroing 1 more (pipelining)
•rep     stosd
•nop
•mov     ecx,0x2 ; optimizations, compiler figured out results
•mov     eax,0x4
•mov     [Arrays!g_array (004072c0)],ecx
•mov     [Arrays!g_array+0x28 (004072e8)],eax
•nop
•mov     [esp+0x30],eax ; array[10] = 4
•lea     eax,[esp+0xd0] ; eax := arrayNI
•mov     [esp+0x8],ecx ; array[0] = 2
•push    eax
•lea     ecx,[esp+0xc] ; array
•push    ecx
•push    0x4072c0 ; g_array
•call    Arrays!useArrays (00401070)
•add     esp,0xc ; adjusting stack after function call
•xor     eax,eax
•pop     edi
•mov     esp,ebp ; no need to adjust esp, will use ebp value
•pop     ebp
•ret
•