Function at 0x4020a0
Capabilities:
Get number of processors

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x432a40
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x18
push esi
push edi
mov eax, dword [0x43c040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
lea ecx, [edi + 8]
call fcn.00403d10
lea ecx, [edi + 0x38a8]
mov dword [ebp - 4], 0
call fcn.00403af0
lea ecx, [edi + 0x3cfc]
mov edx, 0x30
lea esi, [ecx + 0x38]
mov dword [ecx], 0
mov dword [ebp - 0x24], ecx
mov eax, esi
mov dword [ecx + 4], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x34], 0
nop dword [eax + eax]
mov dword [eax], 0
lea eax, [eax + 8]
mov dword [eax - 4], 0
sub edx, 1
jne 0x402150
push 0x200
push edx
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor edi, edi
nop word [eax + eax]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
addss xmm0, xmm0
mulss xmm0, dword [0x4395cc]
divss xmm0, dword [0x439600]
movss dword [ebp - 0x1c], xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x1c]
call fcn.0041a7b0
movss xmm1, dword [ebp - 0x20]
inc edi
movss dword [esi], xmm1
movss dword [esi + 4], xmm0
add esi, 8
cmp edi, 0x30
jl 0x402180
movsd xmm0, qword [0x4395b8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
mov eax, dword [ebp - 0x24]
mov ecx, 0x9a
movss xmm1, dword [0x4395a8]
mov edi, dword [ebp - 0x18]
cvtsd2ss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [eax + 0x14]
divss xmm0, xmm1
movss dword [eax + 0x1b8], xmm0
xorps xmm0, xmm0
mov dword [edi + 0x3f24], 0
lea eax, [edi + 0x4044]
mov dword [edi + 0x3f20], 0
mov dword [edi + 0x3f28], 0
mov dword [edi + 0x3f30], 0
mov dword [edi + 0x3f2c], 0
mov dword [edi + 0x3f34], 0
mov dword [edi + 0x3f44], 0
mov dword [edi + 0x3f40], 0
mov dword [edi + 0x3f48], 0
mov dword [edi + 0x3f50], 0
mov dword [edi + 0x3f4c], 0
mov dword [edi + 0x3f54], 0
mov dword [edi + 0x3f5c], 0
mov dword [edi + 0x3f58], 0
mov dword [edi + 0x3f60], 0
mov dword [edi + 0x3f68], 0
mov dword [edi + 0x3f64], 0
mov dword [edi + 0x3f6c], 0
mov dword [edi + 0x3f74], 0
mov dword [edi + 0x3f70], 0
mov dword [edi + 0x3f78], 0
mov dword [edi + 0x3f80], 0
mov dword [edi + 0x3f84], 0
mov dword [edi + 0x3fa0], 0
mov dword [edi + 0x3fa4], 0
mov dword [edi + 0x3fb4], 0
mov dword [edi + 0x3fb8], 0
mov dword [edi + 0x3fbc], 0
mov dword [edi + 0x3fc0], 0
mov dword [edi + 0x3ff0], 0
mov dword [edi + 0x3ff4], 0
movups xmmword [edi + 0x4030], xmm0
mov dword [edi + 0x4040], 0
nop dword [eax + eax]
mov dword [eax + 4], 0xffffffff
lea eax, [eax + 0xc]
mov dword [eax - 0xc], 0xffffffff
mov word [eax - 4], 0
sub ecx, 1
jne 0x402360
add edi, 0x477c
or eax, 0xffffffff
lea edx, [edi + 0x134]
mov dword [edi + 0x144], ecx
lea esi, [edi + 0x140]
mov dword [edx + 4], ecx
mov dword [edx], ecx
mov dword [edx + 8], ecx
mov dword [esi], ecx
mov dword [esi + 8], ecx
mov ecx, 0x4d
rep stosd dword es:[edi], eax
mov ecx, edx
call fcn.00401d00
mov ecx, esi
call fcn.00401d00
mov edi, dword [ebp - 0x18]
xorps xmm0, xmm0
movups xmmword [edi + 0x48e8], xmm0
lea ecx, [edi + 0x4908]
movups xmmword [edi + 0x48f8], xmm0
mov dword [edi + 0x48f0], 0xffffffff
mov dword [edi + 0x48f4], 0xffffffff
call fcn.00401f50
lea eax, [edi + 0x4954]
mov dword [eax + 0x10], 0
push 0x64
push 0
push eax
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x60], 0
call sub.VCRUNTIME140.dll_memset
mov dword [edi + 0x49c4], 0
add esp, 0xc
mov dword [edi + 0x49c0], 0
mov dword [edi + 0x49c8], 0
mov dword [edi + 0x49d0], 0
mov dword [edi + 0x49cc], 0
mov dword [edi + 0x49d4], 0
mov dword [edi + 0x49dc], 0
mov dword [edi + 0x49d8], 0
mov dword [edi + 0x49e0], 0
mov dword [edi + 0x49e8], 0
mov dword [edi + 0x49e4], 0
mov dword [edi + 0x49ec], 0
mov dword [edi + 0x49f4], 0
mov dword [edi + 0x49f0], 0
mov dword [edi + 0x49f8], 0
mov dword [edi + 0x4a00], 0
mov dword [edi + 0x49fc], 0
mov dword [edi + 0x4a04], 0
mov dword [edi + 0x4a0c], 0
mov dword [edi + 0x4a08], 0
mov dword [edi + 0x4a10], 0
mov dword [edi + 0x4a18], 0
mov dword [edi + 0x4a14], 0
mov dword [edi + 0x4a1c], 0
mov dword [edi + 0x4a24], 0
mov dword [edi + 0x4a20], 0
mov dword [edi + 0x4a28], 0
mov dword [edi + 0x4a34], 0
mov dword [edi + 0x4a30], 0
mov dword [edi + 0x4a38], 0
mov dword [edi + 0x4a4c], 0
mov dword [edi + 0x4a48], 0
mov dword [edi + 0x4a50], 0
mov dword [edi + 0x4a9c], 0
mov dword [edi + 0x4aa0], 0
mov dword [edi + 0x4aa4], 0
xorps xmm0, xmm0
mov dword [edi + 0x4aa8], 0
mov dword [edi + 0x4a90], 0
mov dword [edi + 0x4a98], 0
mov dword [edi + 0x4a94], 0
mov dword [edi + 0x4aac], 0
mov dword [edi + 0x4ab0], 0xffffffff
mov dword [edi + 0x4ab4], 0xffffffff
mov dword [edi + 0x4ac0], 0x7f7fffff
mov dword [edi + 0x4abc], 0x7f7fffff
mov dword [edi + 0x4ab8], 0x7f7fffff
mov dword [edi + 0x4ae4], 0
mov dword [edi + 0x4ae8], 0
mov dword [edi + 0x4aec], 0
mov dword [edi + 0x4af0], 0
mov dword [edi + 0x4af4], 0
mov dword [edi + 0x4af8], 0
mov dword [edi + 0x4afc], 0
mov dword [edi + 0x4b00], 0
mov dword [edi + 0x4b1c], 0
mov dword [edi + 0x4b20], 0
mov dword [edi + 0x4b24], 0
mov dword [edi + 0x4b28], 0
mov dword [edi + 0x4b10], 0
mov dword [edi + 0x4b18], 0
mov dword [edi + 0x4b14], 0
mov dword [edi + 0x4b2c], 0
mov dword [edi + 0x4b30], 0xffffffff
mov dword [edi + 0x4b34], 0xffffffff
mov dword [edi + 0x4b40], 0x7f7fffff
mov dword [edi + 0x4b3c], 0x7f7fffff
mov dword [edi + 0x4b38], 0x7f7fffff
mov dword [edi + 0x4b54], 0
mov dword [edi + 0x4b58], 0
mov dword [edi + 0x4b5c], 0
mov dword [edi + 0x4b60], 0
mov dword [edi + 0x4b48], 0
mov dword [edi + 0x4b50], 0
mov dword [edi + 0x4b4c], 0
mov dword [edi + 0x4b64], 0
mov dword [edi + 0x4b68], 0xffffffff
mov dword [edi + 0x4b6c], 0xffffffff
mov dword [edi + 0x4b78], 0x7f7fffff
mov dword [edi + 0x4b74], 0x7f7fffff
mov dword [edi + 0x4b70], 0x7f7fffff
mov dword [edi + 0x4b8c], 0
mov dword [edi + 0x4b90], 0
mov dword [edi + 0x4b94], 0
mov dword [edi + 0x4b98], 0
mov dword [edi + 0x4b80], 0
mov dword [edi + 0x4b88], 0
mov dword [edi + 0x4b84], 0
mov dword [edi + 0x4b9c], 0
mov dword [edi + 0x4ba0], 0xffffffff
mov dword [edi + 0x4ba4], 0xffffffff
mov dword [edi + 0x4bb0], 0x7f7fffff
mov dword [edi + 0x4bac], 0x7f7fffff
mov dword [edi + 0x4ba8], 0x7f7fffff
mov dword [edi + 0x4bc4], 0
mov dword [edi + 0x4bc8], 0
mov dword [edi + 0x4bcc], 0
mov dword [edi + 0x4bd0], 0
mov dword [edi + 0x4bb8], 0
mov dword [edi + 0x4bc0], 0
mov dword [edi + 0x4bbc], 0
mov dword [edi + 0x4bd4], 0
mov dword [edi + 0x4bd8], 0xffffffff
mov dword [edi + 0x4bdc], 0xffffffff
mov dword [edi + 0x4be8], 0x7f7fffff
mov dword [edi + 0x4be4], 0x7f7fffff
mov dword [edi + 0x4be0], 0x7f7fffff
mov dword [edi + 0x4c10], 0
mov dword [edi + 0x4c14], 0
mov dword [edi + 0x4c18], 0
mov dword [edi + 0x4c1c], 0
mov dword [edi + 0x4c40], 0
mov dword [edi + 0x4c3c], 0
mov dword [edi + 0x4c34], 0
mov dword [edi + 0x4c38], 0
movups xmmword [edi + 0x4c48], xmm0
movups xmmword [edi + 0x4c58], xmm0
mov word [edi + 0x4c68], 0
lea esi, [edi + 0x4d88]
mov dword [edi + 0x4c44], 0xffffffff
mov byte [edi + 0x4c6a], 0
mov dword [edi + 0x4c6c], 0
mov dword [edi + 0x4c70], 0
mov dword [edi + 0x4c74], 0
mov dword [edi + 0x4c78], 0
mov dword [edi + 0x4c7c], 0
mov dword [edi + 0x4c80], 0
mov dword [edi + 0x4c84], 0
mov dword [edi + 0x4c88], 0
mov dword [edi + 0x4cac], 0
mov dword [edi + 0x4ca8], 0
mov dword [edi + 0x4cb0], 0
mov dword [edi + 0x4ccc], 0
mov dword [edi + 0x4cc8], 0
mov dword [edi + 0x4cd0], 0
mov dword [edi + 0x4ce4], 0
mov dword [edi + 0x4ce0], 0
mov dword [edi + 0x4ce8], 0
mov dword [edi + 0x4cf0], 0
mov dword [edi + 0x4cec], 0
mov dword [edi + 0x4cf4], 0
mov dword [edi + 0x4cfc], 0
mov dword [edi + 0x4cf8], 0
mov dword [edi + 0x4d00], 0
mov dword [edi + 0x4d08], 0
mov dword [edi + 0x4d04], 0
mov dword [edi + 0x4d10], 0
mov dword [edi + 0x4d0c], 0
mov dword [edi + 0x4d14], 0
mov dword [edi + 0x4d1c], 0
mov dword [edi + 0x4d18], 0
mov dword [edi + 0x4d20], 0
mov dword [edi + 0x4d2c], 0
mov dword [edi + 0x4d28], 0
mov dword [edi + 0x4d30], 0
mov dword [edi + 0x4d38], 0
mov dword [edi + 0x4d34], 0
mov dword [edi + 0x4d3c], 0
mov dword [edi + 0x4d44], 0
mov dword [edi + 0x4d40], 0
mov dword [edi + 0x4d4c], 0
mov dword [edi + 0x4d48], 0
mov dword [edi + 0x4d50], 0
mov dword [edi + 0x4d58], 0
mov dword [edi + 0x4d54], 0
mov dword [edi + 0x4d5c], 0
mov dword [edi + 0x4d80], 0
mov dword [edi + 0x4d84], 0
push 0xe78
push 0
push esi
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x30], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi + 0x5c08], 0
mov dword [edi + 0x5c04], 0
lea ecx, [edi + 0x5c10]
mov dword [edi + 0x5c0c], 0
xorps xmm0, xmm0
movups xmmword [edi + 0x5c00], xmm0
call fcn.00427c30
lea eax, [edi + 0x5c9c]
mov dword [edi + 0x5c8c], 0
mov dword [edi + 0x5c90], 0
mov dword [edi + 0x5c94], 0
mov dword [edi + 0x5c98], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
push 0x30
push 0
push eax
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi + 0x5ccc], 0
mov dword [edi + 0x5cd0], 0
lea eax, [edi + 0x5d1c]
mov dword [edi + 0x5cd4], 0
mov dword [edi + 0x5cd8], 0
mov dword [edi + 0x5d08], 0
mov dword [edi + 0x5d04], 0
mov dword [edi + 0x5d0c], 0
push 0x60
mov dword [edi + 0x5d14], 0
mov dword [edi + 0x5d10], 0
mov dword [edi + 0x5d18], 0
push 0
push eax
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov byte [eax + 0x5c], 0
call sub.VCRUNTIME140.dll_memset
mov dword [edi + 0x5d80], 0
lea eax, [edi + 0x5eb4]
mov dword [edi + 0x5d84], 0
xorps xmm0, xmm0
movups xmmword [edi + 0x5d7c], xmm0
mov dword [edi + 0x5d90], 0
add esp, 0xc
mov dword [edi + 0x5d94], 0
movups xmmword [edi + 0x5d8c], xmm0
mov dword [edi + 0x5da8], 0
mov dword [edi + 0x5da4], 0
mov dword [edi + 0x5dac], 0
mov dword [edi + 0x5db4], 0
mov dword [edi + 0x5db0], 0
mov dword [edi + 0x5db8], 0
mov dword [edi + 0x5dc0], 0
mov dword [edi + 0x5dbc], 0
mov dword [edi + 0x5dc4], 0
mov dword [edi + 0x5dcc], 0
mov dword [edi + 0x5dc8], 0
mov dword [edi + 0x5dd0], 0
mov dword [edi + 0x5dd8], 0
mov dword [edi + 0x5dd4], 0
mov dword [edi + 0x5ddc], 0
mov dword [edi + 0x5e14], 0
mov dword [edi + 0x5e10], 0
mov dword [edi + 0x5e18], 0
mov dword [edi + 0x5e40], 0
mov dword [edi + 0x5e3c], 0
mov dword [edi + 0x5e44], 0
mov dword [edi + 0x5e4c], 0
mov dword [edi + 0x5e48], 0
mov dword [edi + 0x5e50], 0
mov dword [edi + 0x5e54], 0
mov dword [edi + 0x5e70], 0
mov dword [edi + 0x5e74], 0
mov dword [edi + 0x5e78], 0
mov dword [edi + 0x5e7c], 0
mov dword [edi + 0x5e80], 0
mov dword [edi + 0x5e84], 0x10100
mov byte [edi + 0x5e88], 0
mov dword [edi + 0x5e8c], 0xffffffff
mov dword [edi + 0x5e90], 0xffffffff
mov dword [edi + 0x5ea4], 0
mov dword [edi + 0x5ea0], 0
mov dword [edi + 0x5ea8], 0
movups xmmword [edi + 0x5e94], xmm0
push 0x3c
movups xmmword [edi + 0x5ea4], xmm0
mov dword [edi + 0x5eb0], 0xff7fffff
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov dword [edi + 0x5ffc], 0
add esp, 0xc
mov dword [edi + 0x5ff8], 0
mov dword [edi + 0x6000], 0
mov dword [edi + 0xdfc], edi
push 0x470
mov dword [esi], edi
mov word [edi], 0x100
mov dword [edi + 0x3cf0], 0
mov dword [edi + 0x3cf8], 0
mov dword [edi + 0x3cf4], 0
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [0x43c648]
add esp, 4
mov esi, eax
test ecx, ecx
je 0x402f02
movsx eax, word [ecx + 0x5ebc]
mov edx, dword [ecx + 0x3f08]
add eax, 0xbd8
mov dword [ebp - 0x20], edx
cmp dword [ecx + eax*8], edx
lea eax, [ecx + eax*8]
je 0x402ef8
movsx eax, word [ecx + 0x5ebc]
inc eax
mov dword [ebp - 0x24], 6
cdq
idiv dword [ebp - 0x24]
movzx eax, dx
mov edx, dword [ebp - 0x20]
mov word [ecx + 0x5ebc], ax
cwde
add eax, 0xbd8
lea eax, [ecx + eax*8]
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
inc word [eax + 4]
inc dword [ecx + 0x5eb4]
test esi, esi
je 0x402f9f
mov dword [esi + 0x30], 0
lea eax, [esi + 0x60]
mov dword [esi + 0x38], 0
mov ecx, 0x40
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x4c], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0
nop word [eax + eax]
mov dword [eax], 0
lea eax, [eax + 0x10]
mov dword [eax - 0xc], 0
mov dword [eax - 8], 0
mov dword [eax - 4], 0
sub ecx, 1
jne 0x402f50
push 0x470
push ecx
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esi + 0xc], 1
mov dword [esi + 0x46c], 0xffffffff
mov dword [esi + 0x468], 0xffffffff
jmp 0x402fa1
xor esi, esi
xorps xmm0, xmm0
mov dword [edi + 0x2c], esi
movsd qword [edi + 0x3f00], xmm0
movaps xmm0, xmmword [0x4399c0]
mov dword [edi + 0x3f08], 0
mov dword [edi + 0x3f10], 0xffffffff
mov dword [edi + 0x3f0c], 0xffffffff
mov dword [edi + 0x3f15], 0
mov byte [edi + 0x3f14], 0
mov dword [edi + 0x3f1c], 0
mov dword [edi + 0x3f38], 0
mov dword [edi + 0x3f3c], 1
mov dword [edi + 0x3f7c], 0
mov dword [edi + 0x3f8c], 0
mov dword [edi + 0x3f90], 0
mov dword [edi + 0x3f94], 0
mov dword [edi + 0x3f98], 0
mov dword [edi + 0x3f9c], 0
mov dword [edi + 0x3fac], 0xffffffff
mov dword [edi + 0x3fa8], 0xffffffff
mov dword [edi + 0x3fb0], 0
mov dword [edi + 0x3fc4], 0
mov dword [edi + 0x3fcc], 0
mov dword [edi + 0x3fc8], 0
mov word [edi + 0x3fd0], 0
mov dword [edi + 0x3fd8], 0
mov dword [edi + 0x3fd4], 0
mov dword [edi + 0x3fdc], 0
mov dword [edi + 0x3fe0], 0
mov dword [edi + 0x3fe4], 0
mov dword [edi + 0x3fe8], 0
mov word [edi + 0x3fec], 0
mov dword [edi + 0x3ff0], 0xbf800000
mov dword [edi + 0x3ff4], 0xbf800000
mov dword [edi + 0x3ff8], 0
mov dword [edi + 0x3ffc], 0
mov dword [edi + 0x4000], 0xffffffff
mov dword [edi + 0x4004], 0
mov word [edi + 0x4008], 0
mov dword [edi + 0x400c], 0
mov dword [edi + 0x4010], 0
mov dword [edi + 0x4014], 0
movups xmmword [edi + 0x4018], xmm0
mov dword [edi + 0x48c8], 0
movsd qword [edi + 0x4028], xmm0
mov byte [edi + 0x48cc], 0
mov dword [edi + 0x48d4], 0
mov dword [edi + 0x48d8], 0
mov dword [edi + 0x48dc], 0
mov byte [edi + 0x49b8], 0
mov dword [edi + 0x4a2c], 0
mov dword [edi + 0x4a3c], 0
mov dword [edi + 0x4a5c], 0
mov dword [edi + 0x4a58], 0
mov dword [edi + 0x4a54], 0
mov dword [edi + 0x4a44], 0
mov dword [edi + 0x4a40], 0
mov dword [edi + 0x4a70], 0
mov dword [edi + 0x4a68], 0
mov dword [edi + 0x4a64], 0
mov dword [edi + 0x4a74], 0
mov dword [edi + 0x4a60], 0
mov dword [edi + 0x4a6c], 0
mov dword [edi + 0x4a78], 2
mov dword [edi + 0x4a7c], 0
mov dword [edi + 0x4a80], 0xffffffff
mov dword [edi + 0x4a84], 0xffffffff
mov dword [edi + 0x4a88], 0x10000
mov word [edi + 0x4a8c], 0
mov byte [edi + 0x4a8e], 0
mov word [edi + 0x4ac8], 0
mov byte [edi + 0x4aca], 0
mov dword [edi + 0x4acc], 0
mov dword [edi + 0x4ad0], 0
mov dword [edi + 0x4ad4], 0
mov dword [edi + 0x4ae0], 0xffffffff
mov dword [edi + 0x4adc], 0xffffffff
mov dword [edi + 0x4ad8], 0xffffffff
mov dword [edi + 0x4b04], 0
mov dword [edi + 0x4b08], 0
mov dword [edi + 0x4b0c], 0
mov dword [edi + 0x4bf0], 0x1200
xorps xmm0, xmm0
mov dword [edi + 0x4bf4], 0x3200
xor eax, eax
mov dword [edi + 0x4c00], 0
mov dword [edi + 0x4bfc], 0
mov dword [edi + 0x4bf8], 0
mov dword [edi + 0x4c08], 0
mov dword [edi + 0x4c04], 0
mov byte [edi + 0x4c0c], 0
mov dword [edi + 0x4c20], 0
mov word [edi + 0x4c25], 0
mov byte [edi + 0x4c24], 0
mov dword [edi + 0x4c28], 0
mov dword [edi + 0x4c2c], 0xffffffff
mov dword [edi + 0x4c30], 0xffffffff
mov dword [edi + 0x4c8c], 0
mov dword [edi + 0x4c90], 0
mov dword [edi + 0x4c94], 0
mov dword [edi + 0x4c98], 0
mov dword [edi + 0x4c9c], 0
mov dword [edi + 0x4ca0], 0xffffffff
mov dword [edi + 0x4ca4], 0
movups xmmword [edi + 0x4cb4], xmm0
mov dword [edi + 0x4cc4], 0
mov dword [edi + 0x4cd4], 0
mov dword [edi + 0x4cdc], 0
mov dword [edi + 0x4d24], 0
mov dword [edi + 0x4d74], 0
mov dword [edi + 0x4d70], 0
mov dword [edi + 0x4d64], 0
mov dword [edi + 0x4d60], 0
mov dword [edi + 0x4d6c], 0
mov dword [edi + 0x4d68], 0
mov dword [edi + 0x4d78], 0
mov dword [edi + 0x4d7c], 0
mov dword [edi + 0x5c70], 0
mov dword [edi + 0x5c74], 0xa900000
mov dword [edi + 0x5c7c], 0
mov dword [edi + 0x5c78], 0
mov dword [edi + 0x5c84], 0
mov dword [edi + 0x5c80], 0
mov dword [edi + 0x5c88], 0
mov byte [edi + 0x5cdc], 0
mov dword [edi + 0x5ce0], 0
mov dword [edi + 0x5ce4], 0
mov word [edi + 0x5ce8], 0
mov dword [edi + 0x5cec], 0
mov dword [edi + 0x5cf0], 0x3c23d70a
mov dword [edi + 0x5cf4], 0
mov dword [edi + 0x5cf8], 0
mov dword [edi + 0x5cfc], eax
mov word [edi + 0x5d00], ax
mov dword [edi + 0x5d80], eax
mov dword [edi + 0x5d84], eax
mov dword [edi + 0x5d90], 0xbf800000
mov dword [edi + 0x5d94], 0xbf800000
mov byte [edi + 0x5d9c], al
mov dword [edi + 0x5da0], eax
mov dword [edi + 0x5de0], eax
movups xmmword [edi + 0x5de4], xmm0
movups xmmword [edi + 0x5df4], xmm0
mov byte [edi + 0x5e04], al
mov dword [edi + 0x5e08], eax
mov dword [edi + 0x5e20], eax
mov dword [edi + 0x5e1c], eax
mov dword [edi + 0x5e0c], eax
mov dword [edi + 0x5e24], 0x7f7fffff
mov byte [edi + 0x5e28], al
mov dword [edi + 0x5e2c], eax
mov dword [edi + 0x5e34], 2
mov dword [edi + 0x5e30], 2
mov dword [edi + 0x5e38], 0x100000
mov dword [edi + 0x48e0], eax
mov dword [edi + 0x5e58], eax
mov word [edi + 0x5e5c], ax
mov word [edi + 0x5e64], 0xff
mov byte [edi + 0x5e66], al
mov dword [edi + 0x5e68], eax
mov dword [edi + 0x5e6c], eax
mov dword [edi + 0x49bc], 0x35
mov dword [edi + 0x3f88], eax
mov dword [edi + 0x4cd8], eax
mov byte [edi + 0x5e5e], al
push 0xf0
mov dword [edi + 0x5e60], 0x263
push eax
mov dword [edi + 0x48d0], eax
lea eax, [edi + 0x5ef0]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi + 0x5fe4], 0
mov dword [edi + 0x5fe0], 0
lea eax, [edi + 0x6004]
mov dword [edi + 0x5fe8], 0
mov dword [edi + 0x5ff4], 0xffffffff
push 0x40
push 0
mov dword [edi + 0x5ff0], 0xffffffff
push eax
mov dword [edi + 0x5fec], 0xffffffff
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4