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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x17c
mov eax, dword [esp + 0x190]
mov edx, dword [esp + 0x1b0]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x1d4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x204]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x20c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x210]
mov edx, dword [esp + 0x218]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0x70], eax
mov eax, dword [0xd47044]
mov dword [esp + 0x16c], eax
xor eax, eax
lea eax, [esp + 0x10c]
mov dword [esp], eax
call fcn.005016c0
lea eax, [esp + 0x13c]
mov dword [esp + 4], eax
lea eax, [esp + 0x10c]
mov dword [esp], eax
call fcn.00501a30
lea eax, [esp + 0x13c]
mov dword [esp], eax
call fcn.005020f0
lea eax, [esp + 0xfc]
mov dword [esp], eax
call fcn.00502ab0
mov eax, dword [esp + 0xfc]
mov eax, dword [esp + eax*4 + 0x10c]
test eax, eax
je 0x415c27
lea ebx, [esp + 0x100]
lea ebp, [esp + 0xd0]
lea edi, [esp + 0xc8]
lea esi, [esp + 0xd8]
lea eax, [esp + 0x108]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x58], eax
lea eax, [esp + 0xfc]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x28], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xd4]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xe4]
mov dword [esp + 4], eax
lea eax, [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 0x10], edi
mov dword [esp + 8], esi
mov dword [esp + 0x54], ebx
call fcn.004fd020
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x415c30
lea eax, [esp + 0xfc]
mov dword [esp], eax
call fcn.00500ff0
mov eax, dword [esp + 0xfc]
mov eax, dword [esp + eax*4 + 0x10c]
test eax, eax
jne 0x415b1b
xor eax, eax
jmp 0x415d5d
mov dword [esp], ebx
call fcn.004fe4f0
mov eax, dword [esp + 0x100]
mov eax, dword [esp + eax*4 + 0x13c]
test eax, eax
jne 0x415c6a
jmp 0x415c02
mov dword [esp], ebx
call fcn.00579c50
mov eax, dword [esp + 0x100]
mov edx, dword [esp + eax*4 + 0x13c]
test edx, edx
je 0x415c02
lea eax, [esp + 0x104]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x58], eax
lea eax, [esp + 0x13c]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x30], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x28], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xdc]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
lea eax, [esp + 0xec]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x54], ebx
call fcn.004ff500
mov ecx, dword [esp + 0x104]
test ecx, ecx
je 0x415c50
mov eax, 1
mov edx, dword [esp + 0x16c]
sub edx, dword [0xd47044]
jne 0x415d77
add esp, 0x17c
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00401690
nop
nop
nop
nop
push ebp
push edi
push esi
push ebx
sub esp, 0x32c
mov eax, dword [esp + 0x354]
fld qword [esp + 0x358]
lea ebx, [esp + 0x180]
mov edx, dword [esp + 0x348]
mov edi, dword [esp + 0x3bc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x36c]
fstp qword [esp + 0xb8]
fld qword [esp + 0x3a4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x350]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x398]
fstp qword [esp + 0xd0]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x12c], edx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x368]
mov edx, dword [esp + 0x394]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x370]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x3c8]
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], eax
mov eax, dword [0xd47044]
mov dword [esp + 0x31c], eax
xor eax, eax
lea eax, [esp + 0x150]
mov dword [esp], eax
call fcn.00506170
lea eax, [esp + 0x150]
mov dword [esp], eax
call fcn.00506910
lea eax, [esp + 0x150]
mov dword [esp], eax
call fcn.00506f10
lea eax, [esp + 0x150]
mov dword [esp], eax
call fcn.00507560
lea eax, [esp + 0x150]
mov dword [esp], eax
call fcn.00508540
mov dword [esp], ebx
call fcn.005098b0
mov dword [esp], ebx
call fcn.0050a1f0
mov dword [esp], ebx
call fcn.0050a990
mov dword [esp], ebx
call fcn.0050add0
mov dword [esp], ebx
call fcn.0050b0e0
mov dword [esp], ebx
call fcn.0050b810
mov dword [esp], ebx
call fcn.0050bda0
mov dword [esp], ebx
call fcn.0050c130
mov dword [esp], ebx
call fcn.0050c6c0
mov dword [esp], ebx
call fcn.0050dbb0
mov dword [esp], ebx
call fcn.0050f530
mov dword [esp], ebx
call fcn.0050fe30
mov dword [esp], ebx
call fcn.005105d0
mov dword [esp], ebx
call fcn.00511250
mov dword [esp], ebx
call fcn.00511bf0
mov dword [esp], ebx
call fcn.005121c0
mov dword [esp], ebx
call fcn.00512780
mov dword [esp], ebx
call fcn.00512e10
mov dword [esp], ebx
call fcn.00513320
mov dword [esp], ebx
call fcn.005139c0
mov dword [esp], ebx
call fcn.00513dd0
mov dword [esp], ebx
call fcn.00514ef0
mov dword [esp], ebx
call fcn.00516760
mov dword [esp], ebx
call fcn.00517b50
mov dword [esp], ebx
call fcn.00518d70
mov dword [esp], ebx
call fcn.00519aa0
mov dword [esp], ebx
call fcn.0051a820
mov dword [esp], ebx
call fcn.0051b2b0
mov dword [esp], ebx
call fcn.0051bb50
mov dword [esp], ebx
call fcn.0051e240
mov dword [esp], ebx
call fcn.005209b0
mov dword [esp], ebx
call fcn.005214b0
mov dword [esp], ebx
call fcn.005219c0
mov dword [esp], ebx
call fcn.00521e40
mov dword [esp], ebx
call fcn.00522240
mov dword [esp], ebx
call fcn.00522a20
mov dword [esp], ebx
call fcn.00522f30
mov dword [esp], ebx
call fcn.005233c0
mov dword [esp], ebx
call fcn.00523910
mov dword [esp], ebx
call fcn.00523e30
mov dword [esp], ebx
call fcn.005242c0
lea eax, [esp + 0x148]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00524760
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + eax*4 + 0x150]
test ecx, ecx
je 0x41644d
lea eax, [esp + 0x14c]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x148]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x150]
mov dword [esp + 0x58], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x54], eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x48], eax
lea eax, [esp + 0xec]
mov dword [esp + 0x44], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x104]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x114]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x118]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x138]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x128]
mov dword [esp + 8], eax
lea eax, [esp + 0x130]
mov dword [esp + 4], eax
lea eax, [esp + 0x13c]
mov dword [esp], eax
call fcn.005041d0
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x416428
mov eax, dword [esp + 0x180]
test eax, eax
je 0x416428
mov edx, dword [esp + 0x138]
fld qword [esp + 0xf8]
lea ebx, [esp + 0x184]
mov ecx, dword [esp + 0x118]
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0xe0]
fstp qword [esp + 0x80]
fld qword [esp + 0x128]
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xf4]
fstp qword [esp + 0x98]
fld qword [esp + 0x130]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x100]
fstp qword [esp + 0xa8]
mov dword [esp + 0xb0], edx
jmp 0x41630d
mov eax, dword [ebx]
add ebx, 4
test eax, eax
je 0x416428
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov edx, ebp
vmovsd xmm0, qword [esp + 0x80]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x70], esi
vmovsd xmm1, qword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x74], ecx
vmovsd xmm2, qword [esp + 0xd0]
mov dword [esp + 0x64], edi
vmovsd xmm3, qword [esp + 0xa8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xc0]
vmovsd qword [esp + 0x68], xmm0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc8]
vmovsd qword [esp + 0x48], xmm0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa0]
vmovsd qword [esp + 0x40], xmm2
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xcc]
vmovsd qword [esp + 0x2c], xmm1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xa4]
vmovsd qword [esp + 0x1c], xmm1
mov dword [esp + 0x24], eax
vmovsd qword [esp + 0x14], xmm3
mov eax, dword [esp + 0xc4]
vmovsd xmm4, qword [esp + 0xb8]
mov dword [esp], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xb0]
vmovsd qword [esp + 8], xmm4
mov dword [esp + 4], eax
mov eax, ebp
call fcn.0042ccc0
test eax, eax
je 0x416300
mov eax, 1
mov edx, dword [esp + 0x31c]
sub edx, dword [0xd47044]
jne 0x416451
add esp, 0x32c
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x148]
mov dword [esp], eax
call fcn.00579c50
mov eax, dword [esp + 0x148]
mov eax, dword [esp + eax*4 + 0x150]
test eax, eax
jne 0x416122
xor eax, eax
jmp 0x41640a
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
push edi
push esi
push ebx
sub esp, 0xec
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x130]
lea ebx, [esp + 0xc0]
lea esi, [esp + 0xc8]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x160]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x94], edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x194]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x17c]
mov dword [esp], esi
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov eax, dword [0xd47044]
mov dword [esp + 0xdc], eax
xor eax, eax
call fcn.00534460
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + eax*4 + 0xc8]
test ecx, ecx
je 0x4166e0
lea ebp, [esp + 0xb0]
lea edi, [esp + 0xb8]
jmp 0x4165fe
mov dword [esp], ebx
call fcn.00538370
mov eax, dword [esp + 0xc0]
mov eax, dword [esp + eax*4 + 0xc8]
test eax, eax
je 0x4166e0
lea eax, [esp + 0xc4]
mov dword [esp + 8], ebp
mov dword [esp + 0x54], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x84]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xac]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xbc]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], esi
call fcn.00535ed0
mov edx, dword [esp + 0xc4]
test edx, edx
jne 0x4165e0
mov eax, 1
jmp 0x4166e2
xor eax, eax
mov edx, dword [esp + 0xdc]
sub edx, dword [0xd47044]
jne 0x4166fc
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop