Function at 0x4084a0
Capabilities:
Resolve function by parsing pe exports

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 0x5f9cf2
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x18
push esi
push edi
mov eax, dword [0x675978]
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.0040a670
lea esi, [edi + 0x38d8]
mov dword [ebp - 4], 0
push 0x98
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
mov dword [esi + 0x88], 0
push 0
push esi
mov dword [esi + 0x90], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x94], 0
call fcn.004867e0
mov eax, 0x2e
add esp, 0xc
mov word [esi + 0x1c], ax
lea ecx, [edi + 0x3970]
mov byte [ebp - 4], 1
call fcn.0040a340
lea eax, [edi + 0x3e34]
mov dword [ebp - 0x1c], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x38], 0
lea esi, [eax + 0x3c]
mov byte [ebp - 4], 2
mov dword [ebp - 0x24], esi
mov eax, 0x30
nop
dec eax
mov ecx, esi
mov dword [ebp - 0x20], eax
call fcn.00405070
mov eax, dword [ebp - 0x20]
add esi, 8
test eax, eax
jne 0x4085b0
push 0x204
push eax
push dword [ebp - 0x1c]
call fcn.004867e0
mov esi, dword [ebp - 0x24]
add esp, 0xc
xor edi, edi
nop dword [eax + eax]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
addss xmm0, xmm0
mulss xmm0, dword [0x657b30]
divss xmm0, dword [0x657b64]
movss dword [ebp - 0x24], xmm0
call fcn.0042ea60
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x24]
cvtps2pd xmm0, xmm0
call fcn.005f8460
xorps xmm1, xmm1
inc edi
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [esi], xmm1
movss dword [esi + 4], xmm0
add esi, 8
cmp edi, 0x30
jl 0x4085e0
movsd xmm0, qword [0x657b08]
call fcn.005f8460
movss xmm1, dword [0x657af8]
mov eax, dword [ebp - 0x1c]
cvtsd2ss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [eax + 0x18]
divss xmm0, xmm1
movss dword [eax + 0x1bc], xmm0
mov edi, dword [ebp - 0x18]
mov dword [edi + 0x4070], 0
mov dword [edi + 0x406c], 0
mov dword [edi + 0x4074], 0
mov dword [edi + 0x407c], 0
mov dword [edi + 0x4078], 0
mov dword [edi + 0x4080], 0
mov dword [edi + 0x4090], 0
mov dword [edi + 0x408c], 0
mov dword [edi + 0x4094], 0
mov dword [edi + 0x409c], 0
mov dword [edi + 0x4098], 0
mov dword [edi + 0x40a0], 0
mov dword [edi + 0x40a8], 0
mov dword [edi + 0x40a4], 0
mov dword [edi + 0x40ac], 0
mov dword [edi + 0x40b4], 0
mov dword [edi + 0x40b0], 0
mov dword [edi + 0x40b8], 0
mov dword [edi + 0x40c0], 0
mov dword [edi + 0x40bc], 0
mov dword [edi + 0x40c4], 0
mov byte [ebp - 4], 0xa
lea esi, [edi + 0x419c]
mov dword [edi + 0x40cc], 0
xorps xmm0, xmm0
mov dword [edi + 0x40d0], 0
mov dword [edi + 0x40f0], 0
mov dword [edi + 0x40f4], 0
mov dword [edi + 0x4104], 0
mov dword [edi + 0x4108], 0
mov dword [edi + 0x410c], 0
mov dword [edi + 0x4110], 0
mov dword [edi + 0x414c], 0
mov dword [edi + 0x4150], 0
movups xmmword [edi + 0x4188], xmm0
mov dword [edi + 0x4198], 0
mov edi, 0x9a
mov ecx, esi
call fcn.004080a0
add esi, 0xc
sub edi, 1
jne 0x4087c2
mov edi, dword [ebp - 0x18]
lea ecx, [edi + 0x48d4]
mov dword [ebp - 0x24], ecx
mov dword [ecx + 0x138], 0
mov dword [ecx + 0x134], 0
mov dword [ecx + 0x13c], 0
mov dword [ecx + 0x144], 0
mov dword [ecx + 0x140], 0
mov dword [ecx + 0x148], 0
mov byte [ebp - 4], 0xc
call fcn.00408030
push 0x38
lea esi, [edi + 0x4a38]
push 0
push esi
call fcn.004867e0
add esp, 0xc
mov dword [esi + 0x10], 0xffffffff
lea ecx, [edi + 0x4a70]
mov dword [esi + 0x14], 0xffffffff
call fcn.00407fc0
lea eax, [edi + 0x4ac0]
xorps xmm0, xmm0
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 + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x50], 0
movups xmmword [eax + 0x68], xmm0
push 0x94
movups xmmword [eax + 0x78], xmm0
mov dword [eax + 0x6c], 0xffffffff
mov byte [eax + 0x85], 1
push 0
push eax
mov dword [eax + 0x88], 0
mov dword [eax + 0x8c], 0
call fcn.004867e0
add esp, 0xc
mov dword [edi + 0x4b60], 0
mov dword [edi + 0x4b5c], 0
mov dword [edi + 0x4b64], 0
mov dword [edi + 0x4b6c], 0
mov dword [edi + 0x4b68], 0
mov dword [edi + 0x4b70], 0
mov dword [edi + 0x4b78], 0
mov dword [edi + 0x4b74], 0
mov dword [edi + 0x4b7c], 0
mov dword [edi + 0x4b84], 0
mov dword [edi + 0x4b80], 0
mov dword [edi + 0x4b88], 0
mov dword [edi + 0x4b90], 0
mov dword [edi + 0x4b8c], 0
mov dword [edi + 0x4b94], 0
mov dword [edi + 0x4b9c], 0
mov dword [edi + 0x4b98], 0
mov dword [edi + 0x4ba0], 0
mov dword [edi + 0x4ba8], 0
mov dword [edi + 0x4ba4], 0
mov dword [edi + 0x4bac], 0
mov dword [edi + 0x4bb4], 0
mov dword [edi + 0x4bb0], 0
mov dword [edi + 0x4bb8], 0
mov dword [edi + 0x4bc0], 0
mov dword [edi + 0x4bbc], 0
mov dword [edi + 0x4bc4], 0
mov dword [edi + 0x4bcc], 0
mov dword [edi + 0x4bc8], 0
mov dword [edi + 0x4bd0], 0
mov dword [edi + 0x4be4], 0
mov dword [edi + 0x4be8], 0
mov dword [edi + 0x4bf0], 0
mov dword [edi + 0x4bf8], 0
mov dword [edi + 0x4bfc], 0
mov eax, dword [edi + 0x4bfc]
mov dword [edi + 0x4bf4], eax
mov dword [edi + 0x4c00], 0
mov eax, dword [edi + 0x4c00]
mov dword [edi + 0x4bf8], eax
mov eax, dword [edi + 0x4bfc]
mov dword [edi + 0x4bec], eax
mov eax, dword [edi + 0x4c00]
mov dword [edi + 0x4bf0], eax
mov eax, dword [edi + 0x4bfc]
mov dword [edi + 0x4be4], eax
mov eax, dword [edi + 0x4c00]
mov dword [edi + 0x4be8], eax
mov dword [edi + 0x4c04], 0x3f800000
mov dword [edi + 0x4c08], 0
mov dword [edi + 0x4c0c], 0
mov dword [edi + 0x4c10], 0
mov dword [edi + 0x4c14], 0
mov dword [edi + 0x4c18], 0
mov dword [edi + 0x4c4c], 0
mov dword [edi + 0x4c48], 0
mov dword [edi + 0x4c50], 0
mov dword [edi + 0x4c84], 0
mov dword [edi + 0x4c88], 0
mov dword [edi + 0x4c8c], 0
mov dword [edi + 0x4c90], 0
mov dword [edi + 0x4c78], 0
mov dword [edi + 0x4c80], 0
mov dword [edi + 0x4c7c], 0
mov dword [edi + 0x4c94], 0
mov dword [edi + 0x4ca8], 0xffffffff
mov dword [edi + 0x4cac], 0xffffffff
mov dword [edi + 0x4ca0], 0x7f7fffff
mov dword [edi + 0x4c9c], 0x7f7fffff
mov dword [edi + 0x4c98], 0x7f7fffff
mov dword [edi + 0x4ccc], 0
mov dword [edi + 0x4cd0], 0
mov dword [edi + 0x4cd4], 0
mov dword [edi + 0x4cd8], 0
mov dword [edi + 0x4cdc], 0
mov dword [edi + 0x4ce0], 0
mov dword [edi + 0x4ce4], 0
mov dword [edi + 0x4ce8], 0
mov dword [edi + 0x4d04], 0
mov dword [edi + 0x4d08], 0
mov dword [edi + 0x4d0c], 0
mov dword [edi + 0x4d10], 0
mov dword [edi + 0x4cf8], 0
mov dword [edi + 0x4d00], 0
mov dword [edi + 0x4cfc], 0
mov dword [edi + 0x4d14], 0
mov dword [edi + 0x4d28], 0xffffffff
mov dword [edi + 0x4d2c], 0xffffffff
mov dword [edi + 0x4d20], 0x7f7fffff
mov dword [edi + 0x4d1c], 0x7f7fffff
mov dword [edi + 0x4d18], 0x7f7fffff
mov dword [edi + 0x4d3c], 0
mov dword [edi + 0x4d40], 0
mov dword [edi + 0x4d44], 0
mov dword [edi + 0x4d48], 0
mov dword [edi + 0x4d30], 0
mov dword [edi + 0x4d38], 0
mov dword [edi + 0x4d34], 0
mov dword [edi + 0x4d4c], 0
mov dword [edi + 0x4d60], 0xffffffff
mov dword [edi + 0x4d64], 0xffffffff
xorps xmm0, xmm0
mov dword [edi + 0x4d58], 0x7f7fffff
mov dword [edi + 0x4d54], 0x7f7fffff
mov dword [edi + 0x4d50], 0x7f7fffff
mov dword [edi + 0x4d74], 0
mov dword [edi + 0x4d78], 0
mov dword [edi + 0x4d7c], 0
mov dword [edi + 0x4d80], 0
mov dword [edi + 0x4d68], 0
mov dword [edi + 0x4d70], 0
mov dword [edi + 0x4d6c], 0
mov dword [edi + 0x4d84], 0
mov dword [edi + 0x4d98], 0xffffffff
mov dword [edi + 0x4d9c], 0xffffffff
mov dword [edi + 0x4d90], 0x7f7fffff
mov dword [edi + 0x4d8c], 0x7f7fffff
mov dword [edi + 0x4d88], 0x7f7fffff
mov dword [edi + 0x4dac], 0
mov dword [edi + 0x4db0], 0
mov dword [edi + 0x4db4], 0
mov dword [edi + 0x4db8], 0
mov dword [edi + 0x4da0], 0
mov dword [edi + 0x4da8], 0
mov dword [edi + 0x4da4], 0
mov dword [edi + 0x4dbc], 0
mov dword [edi + 0x4dd0], 0xffffffff
mov dword [edi + 0x4dd4], 0xffffffff
mov dword [edi + 0x4dc8], 0x7f7fffff
mov dword [edi + 0x4dc4], 0x7f7fffff
mov dword [edi + 0x4dc0], 0x7f7fffff
mov dword [edi + 0x4e10], 0
mov dword [edi + 0x4e14], 0
mov dword [edi + 0x4e18], 0
mov dword [edi + 0x4e1c], 0
mov dword [edi + 0x4e40], 0
mov dword [edi + 0x4e3c], 0
mov dword [edi + 0x4e34], 0
mov dword [edi + 0x4e38], 0
movups xmmword [edi + 0x4e48], xmm0
movups xmmword [edi + 0x4e58], xmm0
mov word [edi + 0x4e68], 0
mov dword [edi + 0x4e44], 0xffffffff
mov byte [edi + 0x4e6a], 0
mov dword [edi + 0x4e6c], 0
mov dword [edi + 0x4e70], 0
mov dword [edi + 0x4e74], 0
mov dword [edi + 0x4e78], 0
mov dword [edi + 0x4e7c], 0
mov dword [edi + 0x4e80], 0
mov dword [edi + 0x4e84], 0
mov dword [edi + 0x4e88], 0
mov dword [edi + 0x4eac], 0
mov dword [edi + 0x4ea8], 0
mov dword [edi + 0x4eb0], 0
mov dword [edi + 0x4ecc], 0
mov dword [edi + 0x4ec8], 0
mov dword [edi + 0x4ed0], 0
mov dword [edi + 0x4ee4], 0
mov dword [edi + 0x4ee0], 0
mov dword [edi + 0x4ee8], 0
mov dword [edi + 0x4ef0], 0
mov dword [edi + 0x4eec], 0
mov dword [edi + 0x4ef4], 0
mov dword [edi + 0x4efc], 0
mov dword [edi + 0x4ef8], 0
mov dword [edi + 0x4f00], 0
mov dword [edi + 0x4f08], 0
mov dword [edi + 0x4f04], 0
mov dword [edi + 0x4f10], 0
mov dword [edi + 0x4f0c], 0
mov dword [edi + 0x4f14], 0
mov dword [edi + 0x4f1c], 0
mov dword [edi + 0x4f18], 0
mov dword [edi + 0x4f20], 0
mov dword [edi + 0x4f2c], 0
mov dword [edi + 0x4f28], 0
mov dword [edi + 0x4f30], 0
mov dword [edi + 0x4f38], 0
mov dword [edi + 0x4f34], 0
mov dword [edi + 0x4f3c], 0
mov dword [edi + 0x4f44], 0
mov dword [edi + 0x4f40], 0
mov dword [edi + 0x4f4c], 0
mov dword [edi + 0x4f48], 0
mov dword [edi + 0x4f50], 0
mov dword [edi + 0x4f58], 0
mov dword [edi + 0x4f54], 0
mov dword [edi + 0x4f5c], 0
lea eax, [edi + 0x4f60]
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
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
push 0x60
mov dword [eax + 0x50], 0
mov dword [eax + 0x54], 0
push 0
push eax
mov dword [eax + 0x58], 0
mov dword [eax + 0x5c], 0
call fcn.004867e0
add esp, 0xc
mov dword [edi + 0x4fcc], 0
mov dword [edi + 0x4fc8], 0
mov dword [edi + 0x4fd0], 0
mov dword [edi + 0x4fd8], 0
mov dword [edi + 0x4fd4], 0
mov dword [edi + 0x4fdc], 0
mov dword [edi + 0x4fe4], 0
mov dword [edi + 0x4fe0], 0
mov dword [edi + 0x4fe8], 0
mov dword [edi + 0x4ff0], 0
mov dword [edi + 0x4fec], 0
lea esi, [edi + 0x501c]
mov dword [edi + 0x5014], 0
mov dword [edi + 0x5018], 0
mov dword [ebp - 0x24], esi
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x34], 0
push 0x60
mov byte [ebp - 4], 0x26
push 0
push esi
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
call fcn.004867e0
add esp, 0xc
push dword [0x67dc10]
push 0xe2c
call fcn.0040a320
mov ecx, dword [0x67dc18]
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 6
test ecx, ecx
je 0x409203
movsx edx, word [ecx + 0x5394]
lea eax, [ecx + 0x5398]
mov esi, dword [ecx + 0x4040]
lea eax, [eax + edx*8]
cmp dword [eax], esi
je 0x4091f0
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x1c]
movzx eax, dx
mov word [ecx + 0x5394], ax
cwde
add eax, 0xa73
xor edx, edx
lea eax, [ecx + eax*8]
mov dword [eax], esi
mov dword [eax + 4], edx
inc word [eax + 4]
lea esi, [edi + 0x501c]
inc dword [ecx + 0x538c]
mov eax, dword [ebp - 0x24]
mov dword [esi + 4], eax
xorps xmm0, xmm0
mov dword [edi + 0x5084], 0
mov dword [edi + 0x5080], 0
mov dword [edi + 0x5088], 0
movups xmmword [edi + 0x507c], xmm0
lea ecx, [edi + 0x508c]
call fcn.0043b090
lea eax, [edi + 0x5128]
mov dword [edi + 0x5118], 0
mov dword [edi + 0x511c], 0
mov dword [edi + 0x5120], 0
mov dword [edi + 0x5124], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
push 0x30
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
push 0
push eax
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
call fcn.004867e0
mov dword [edi + 0x5158], 0
add esp, 0xc
mov dword [edi + 0x515c], 0
mov dword [edi + 0x5160], 0
mov dword [edi + 0x5164], 0
mov dword [edi + 0x5194], 0
mov dword [edi + 0x5190], 0
mov dword [edi + 0x5198], 0
mov dword [edi + 0x51a0], 0
mov dword [edi + 0x519c], 0
mov dword [edi + 0x51a4], 0
lea eax, [edi + 0x51a8]
mov dword [eax + 0x54], 0
push 0x60
push 0
push eax
mov dword [eax + 0x58], 0
mov byte [eax + 0x5c], 0
call fcn.004867e0
mov dword [edi + 0x520c], 0
xorps xmm0, xmm0
mov dword [edi + 0x5210], 0
add esp, 0xc
movups xmmword [edi + 0x5208], xmm0
mov dword [edi + 0x521c], 0
mov dword [edi + 0x5220], 0
movups xmmword [edi + 0x5218], xmm0
mov dword [edi + 0x5230], 0
mov dword [edi + 0x522c], 0
mov dword [edi + 0x5234], 0
mov dword [edi + 0x523c], 0
mov dword [edi + 0x5238], 0
mov dword [edi + 0x5240], 0
mov dword [edi + 0x5248], 0
mov dword [edi + 0x5244], 0
mov dword [edi + 0x524c], 0
movups xmmword [edi + 0x522c], xmm0
movups xmmword [edi + 0x523c], xmm0
movq qword [edi + 0x524c], xmm0
mov dword [edi + 0x5264], 0
mov dword [edi + 0x5260], 0
mov dword [edi + 0x5268], 0
mov dword [edi + 0x5270], 0
mov dword [edi + 0x526c], 0
mov dword [edi + 0x5274], 0
mov dword [edi + 0x527c], 0
mov dword [edi + 0x5278], 0
mov dword [edi + 0x5280], 0
mov dword [edi + 0x5288], 0
mov dword [edi + 0x5284], 0
mov dword [edi + 0x528c], 0
mov dword [edi + 0x5294], 0
mov dword [edi + 0x5290], 0
mov dword [edi + 0x5298], 0
mov dword [edi + 0x52e4], 0
mov dword [edi + 0x52e0], 0
mov dword [edi + 0x52e8], 0
mov dword [edi + 0x5310], 0
mov dword [edi + 0x530c], 0
mov dword [edi + 0x5314], 0
mov dword [edi + 0x531c], 0
mov dword [edi + 0x5318], 0
mov dword [edi + 0x5320], 0
mov dword [edi + 0x5324], 0
mov dword [edi + 0x5340], 0
mov dword [edi + 0x5344], 0
mov dword [edi + 0x5348], 0
mov dword [edi + 0x534c], 0
mov dword [edi + 0x5350], 0
mov dword [edi + 0x5354], 0x10100
mov word [edi + 0x5358], 0
mov dword [edi + 0x535c], 0xffffffff
mov dword [edi + 0x5360], 0xffffffff
mov dword [edi + 0x5364], 0xffffffff
mov dword [edi + 0x5368], 0
mov dword [edi + 0x537c], 0
mov dword [edi + 0x5378], 0
mov dword [edi + 0x5380], 0
movups xmmword [edi + 0x536c], xmm0
movups xmmword [edi + 0x537c], xmm0
mov dword [edi + 0x5388], 0xff7fffff
push 0x3c
lea eax, [edi + 0x538c]
push 0
push eax
call fcn.004867e0
add esp, 0xc
mov dword [edi + 0x54d8], 0
mov dword [edi + 0x54d4], 0
mov dword [edi + 0x54dc], 0
mov byte [ebp - 4], 0x36
push dword [0x67dc10]
mov dword [edi + 0xb0], edi
push 0x470
mov dword [esi], edi
mov word [edi], 0x100
mov dword [edi + 0x3e1c], 0
mov dword [edi + 0x3e18], 0
mov dword [edi + 0x3e20], 0
mov dword [edi + 0x3e30], 0
mov dword [edi + 0x3e2c], 0
mov dword [edi + 0x3e28], 0
mov dword [edi + 0x3e24], 0
call fcn.0040a320
mov ecx, dword [0x67dc18]
add esp, 8
mov esi, eax
mov dword [ebp - 0x20], esi
test ecx, ecx
je 0x409682
movsx eax, word [ecx + 0x5394]
mov edx, dword [ecx + 0x4040]
add eax, 0xa73
mov dword [ebp - 0x24], edx
cmp dword [ecx + eax*8], edx
lea eax, [ecx + eax*8]
je 0x409678
movsx eax, word [ecx + 0x5394]
inc eax
cdq
idiv dword [ebp - 0x1c]
movzx eax, dx
mov edx, dword [ebp - 0x24]
mov word [ecx + 0x5394], ax
cwde
add eax, 0xa73
lea eax, [ecx + eax*8]
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
inc word [eax + 4]
inc dword [ecx + 0x538c]
lea eax, [ebp - 0x11]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x37
test esi, esi
je 0x409741
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], 0
mov dword [esi + 0x5c], 0
lea edi, [esi + 0x60]
mov byte [ebp - 4], 0x3a
mov esi, 0x40
nop
mov ecx, edi
call fcn.00407ad0
add edi, 0x10
sub esi, 1
jne 0x409700
push 0x470
push esi
mov esi, dword [ebp - 0x20]
push esi
call fcn.004867e0
mov edi, dword [ebp - 0x18]
add esp, 0xc
mov dword [esi + 0xc], 1
mov dword [esi + 0x46c], 0xffffffff
mov dword [esi + 0x468], 0xffffffff
jmp 0x409743
xor esi, esi
xorps xmm0, xmm0
mov dword [edi + 0x2c], esi
movsd qword [edi + 0x4038], xmm0
mov dword [edi + 0x4040], 0
mov dword [edi + 0x404c], 0xffffffff
mov dword [edi + 0x4048], 0xffffffff
mov dword [edi + 0x4044], 0xffffffff
mov dword [edi + 0x4051], 0
mov byte [edi + 0x4050], 0
mov dword [edi + 0x4058], 0
movups xmmword [edi + 0x405c], xmm0
or dword [edi + 0x4148], 0xff
movaps xmm0, xmmword [0x658080]
mov dword [edi + 0x4084], 0
mov dword [edi + 0x4088], 1
mov dword [edi + 0x40c8], 0
mov dword [edi + 0x40d8], 0
mov dword [edi + 0x40dc], 0
mov dword [edi + 0x40e0], 0
mov dword [edi + 0x40e4], 0
mov dword [edi + 0x40e8], 0
mov dword [edi + 0x40ec], 0
mov dword [edi + 0x40fc], 0xffffffff
mov dword [edi + 0x40f8], 0xffffffff
mov dword [edi + 0x4100], 0
mov dword [edi + 0x4114], 0
mov dword [edi + 0x4118], 0
mov dword [edi + 0x4120], 0
mov dword [edi + 0x411c], 0
mov dword [edi + 0x4124], 0
mov word [edi + 0x4130], 0
mov dword [edi + 0x412c], 0
mov dword [edi + 0x4128], 0
mov byte [edi + 0x4132], 0
mov dword [edi + 0x4134], 0
mov dword [edi + 0x4138], 0
mov dword [edi + 0x413c], 0
mov dword [edi + 0x4140], 0
mov word [edi + 0x4144], 0
mov byte [edi + 0x4146], 0
mov dword [edi + 0x414c], 0xbf800000
mov dword [edi + 0x4150], 0xbf800000
mov dword [edi + 0x4154], 0
mov dword [edi + 0x4158], 0
mov dword [edi + 0x415c], 0
mov word [edi + 0x4160], 0
mov dword [edi + 0x4164], 0
mov dword [edi + 0x4168], 0
mov dword [edi + 0x416c], 0
movups xmmword [edi + 0x4170], xmm0
mov dword [edi + 0x4a20], 0
movsd qword [edi + 0x4180], xmm0
mov byte [edi + 0x4a24], 0
mov dword [edi + 0x4a2c], 0
mov dword [edi + 0x4a30], 0
mov byte [edi + 0x4b54], 0
mov dword [edi + 0x4bd4], 0
mov dword [edi + 0x4bdc], 0
mov dword [edi + 0x4bd8], 0
mov dword [edi + 0x4be0], 0
mov dword [edi + 0x4c20], 0
mov dword [edi + 0x4c1c], 0
mov dword [edi + 0x4c24], 0
mov dword [edi + 0x4c28], 0
mov dword [edi + 0x4c40], 0
mov dword [edi + 0x4c3c], 0
mov dword [edi + 0x4c38], 0
mov dword [edi + 0x4c30], 0
mov dword [edi + 0x4c2c], 0
mov dword [edi + 0x4c34], 0
mov dword [edi + 0x4c5c], 0
mov dword [edi + 0x4c60], 0
mov dword [edi + 0x4c44], 0
mov dword [edi + 0x4c54], 0
mov dword [edi + 0x4c58], 0
mov dword [edi + 0x4c64], 2
mov dword [edi + 0x4c68], 0xffffffff
mov dword [edi + 0x4c6c], 0xffffffff
mov dword [edi + 0x4c70], 0x10000
mov word [edi + 0x4c74], 0
mov byte [edi + 0x4c76], 0
mov word [edi + 0x4cb0], 0
mov ecx, 0x8200
mov byte [edi + 0x4cb2], 0
mov eax, 0x1200
mov dword [edi + 0x4cb4], 0
xorps xmm0, xmm0
mov dword [edi + 0x4cb8], 0
mov dword [edi + 0x4cbc], 0
mov dword [edi + 0x4cc8], 0xffffffff
mov dword [edi + 0x4cc4], 0xffffffff
mov dword [edi + 0x4cc0], 0xffffffff
mov dword [edi + 0x4cec], 0
mov dword [edi + 0x4cf0], 0
mov dword [edi + 0x4cf4], 0
mov dword [edi + 0x4de0], 0
mov dword [edi + 0x4ddc], 0
mov dword [edi + 0x4dd8], 0
mov dword [edi + 0x4de4], 0
mov word [edi + 0x4de8], 0
cmp byte [edi + 0x4d], 0
cmovne eax, ecx
mov ecx, 0xa200
mov dword [edi + 0x4dec], eax
mov eax, 0x3200
cmovne eax, ecx
mov dword [edi + 0x4df0], eax
xor eax, eax
mov dword [edi + 0x4dfc], 0
mov dword [edi + 0x4df8], 0
mov dword [edi + 0x4df4], 0
mov dword [edi + 0x4e04], 0
mov dword [edi + 0x4e00], 0
mov byte [edi + 0x4e08], 0
mov dword [edi + 0x4e0c], 0
mov dword [edi + 0x4e20], 0
mov word [edi + 0x4e25], 0
mov byte [edi + 0x4e24], 0
mov dword [edi + 0x4e28], 0
mov dword [edi + 0x4e2c], 0xffffffff
mov dword [edi + 0x4e30], 0xffffffff
mov dword [edi + 0x4e8c], 0
mov dword [edi + 0x4e90], 0
mov dword [edi + 0x4e94], 0
mov dword [edi + 0x4e98], 0
mov dword [edi + 0x4e9c], 0
mov dword [edi + 0x4ea0], 0xffffffff
mov dword [edi + 0x4ea4], 0
movups xmmword [edi + 0x4eb4], xmm0
mov dword [edi + 0x4ec4], 0
mov dword [edi + 0x4ed4], 0
mov dword [edi + 0x4edc], 0
mov dword [edi + 0x4f24], 0
mov dword [edi + 0x4fc0], 0
mov dword [edi + 0x4fc4], 0
mov dword [edi + 0x5008], 0
mov dword [edi + 0x5004], 0
mov dword [edi + 0x4ff8], 0
mov dword [edi + 0x4ff4], 0
mov dword [edi + 0x5000], 0
mov dword [edi + 0x4ffc], 0
mov dword [edi + 0x500c], 0
mov dword [edi + 0x5010], 0
mov dword [edi + 0x50ec], 0
movq qword [edi + 0x50f0], xmm0
mov dword [edi + 0x50fc], 0
mov dword [edi + 0x50f8], 0
mov dword [edi + 0x5100], 0xa900000
mov dword [edi + 0x5108], 0
mov dword [edi + 0x5104], 0
mov dword [edi + 0x5110], 0
mov dword [edi + 0x510c], 0
mov dword [edi + 0x5114], 0
mov byte [edi + 0x5168], 0
mov word [edi + 0x516a], ax
mov dword [edi + 0x516c], eax
mov dword [edi + 0x5170], eax
mov dword [edi + 0x5174], eax
mov word [edi + 0x5178], ax
mov dword [edi + 0x517c], eax
mov dword [edi + 0x5180], 0x3c23d70a
mov dword [edi + 0x5184], eax
mov dword [edi + 0x5188], eax
mov word [edi + 0x518c], ax
mov dword [edi + 0x520c], eax
mov dword [edi + 0x5210], eax
mov dword [edi + 0x521c], 0xbf800000
mov dword [edi + 0x5220], 0xbf800000
mov dword [edi + 0x5228], eax
mov dword [edi + 0x5254], eax
mov byte [edi + 0x5258], al
mov dword [edi + 0x525c], eax
push 0x34
push eax
mov dword [edi + 0x529c], eax
lea eax, [edi + 0x52a0]
push eax
call fcn.004867e0
mov byte [edi + 0x52d4], 0
lea eax, [edi + 0x53cc]
mov dword [edi + 0x52d8], 0
add esp, 0xc
mov dword [edi + 0x52f0], 0
mov dword [edi + 0x52ec], 0
mov dword [edi + 0x52dc], 0
mov dword [edi + 0x52f4], 0x7f7fffff
mov byte [edi + 0x52f8], 0
mov dword [edi + 0x52fc], 0
mov dword [edi + 0x5304], 2
mov dword [edi + 0x5300], 2
mov dword [edi + 0x5308], 0x100000
mov dword [edi + 0x4a34], 0
mov dword [edi + 0x5328], 0
mov word [edi + 0x532c], 0
mov word [edi + 0x5334], 0xff
mov byte [edi + 0x5336], 0
mov dword [edi + 0x5338], 0
mov dword [edi + 0x533c], 0
mov dword [edi + 0x4b58], 0x3a
mov dword [edi + 0x53c8], 0
mov dword [edi + 0x40d4], 0
mov dword [edi + 0x4ed8], 0
push 0xf0
mov byte [edi + 0x532e], 0
push 0
mov dword [edi + 0x5330], 0x263
push eax
mov dword [edi + 0x4a28], 0
call fcn.004867e0
add esp, 0xc
mov dword [edi + 0x54c0], 0
mov dword [edi + 0x54bc], 0
lea eax, [edi + 0x54e0]
mov dword [edi + 0x54c4], 0
mov dword [edi + 0x54d0], 0xffffffff
push 0x40
push 0
mov dword [edi + 0x54cc], 0xffffffff
push eax
mov dword [edi + 0x54c8], 0xffffffff
call fcn.004867e0
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