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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5dcca8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
push ebx
xor ebx, ebx
push esi
push edi
mov dword [esp + 0xe0], 0x5e7a90
mov dword [esp + 0x178], ebx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
push edi
push 0xbf847ae1
mov eax, dword [esi]
push 0x47ae147b
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov dword [edi + 4], ecx
mov edx, dword [esi + 8]
mov dword [edi + 8], edx
mov eax, dword [esi + 0xc]
mov ecx, esi
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], 0x3ff00000
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], 0x3ff00000
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
mov dword [edi + 0xc], eax
call fcn.004b90b0
fld qword [esi]
fadd qword [edi]
lea ecx, [esp + 0x90]
fstp qword [esp + 0x58]
fld qword [esi + 8]
fadd qword [edi + 8]
fstp qword [esp + 0x60]
fld qword [0x5e2640]
fdiv qword [esi + 0x10]
fadd qword [0x5e2858]
fld st(0)
fmul qword [esi + 0x18]
fadd qword [esi]
fstp qword [esp + 0x24]
fmul qword [esi + 0x20]
fadd qword [esi + 8]
fld qword [esp + 0x24]
fadd qword [edi]
fstp qword [esp + 0x24]
fadd qword [edi + 8]
fstp qword [esp + 0x2c]
call fcn.004ccd50
lea ecx, [esp + 0x24]
lea edx, [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x98]
mov byte [esp + 0x1c8], 1
call fcn.004b8810
lea ecx, [esp + 0x68]
call fcn.004ccd50
lea eax, [esp + 0x68]
lea ecx, [esp + 0x24]
push eax
push ecx
lea ecx, [esp + 0x98]
mov byte [esp + 0x1c8], 2
call fcn.004b8970
push 0x3f947ae1
push 0x47ae147b
lea ecx, [esp + 0x70]
call fcn.004b8ee0
fld qword [esp + 0x80]
fadd qword [esp + 0x68]
fstp qword [esp + 0x58]
fld qword [esp + 0x70]
fadd qword [esp + 0x88]
lea ecx, [esp + 0xb8]
fstp qword [esp + 0x60]
fld qword [0x5e2640]
fdiv qword [esi + 0x10]
fsubr qword [0x5e2858]
fld st(0)
fmul qword [esi + 0x18]
fadd qword [esi]
fstp qword [esp + 0x24]
fmul qword [esi + 0x20]
fadd qword [esi + 8]
fstp qword [esp + 0x2c]
call fcn.004ccd50
lea edx, [esp + 0x24]
lea eax, [esp + 0x58]
push edx
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1c8], 3
call fcn.004b8810
push 0x3ff0cccc
push 0xcccccccd
push 0xbfa99999
push 0x9999999a
lea ecx, [esp + 0x78]
call fcn.004b8a70
push 0x3ff0cccc
push 0xcccccccd
push 0xbfa99999
push 0x9999999a
lea ecx, [esp + 0xc8]
call fcn.004b8a70
lea ecx, [esp + 0x34]
call fcn.004b6ca0
lea ecx, [esp + 0x34]
mov byte [esp + 0x1c0], 4
push ecx
mov ecx, esi
call fcn.004b8750
fld qword [esp + 0x34]
fsub qword [0x5e2640]
mov dword [esp + 0x10], 0x5e27fc
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
fstp qword [esp + 0x34]
fld qword [esp + 0x3c]
fsub qword [0x5e2640]
fstp qword [esp + 0x3c]
fld qword [esp + 0x44]
fadd qword [0x5e2640]
fstp qword [esp + 0x44]
fld qword [esp + 0x4c]
fadd qword [0x5e2640]
fstp qword [esp + 0x4c]
mov ebx, dword [ebp + 0x10]
xor eax, eax
cmp ebx, eax
mov byte [esp + 0x1c0], 5
jne 0x56e5c1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
jmp 0x56e5e4
lea edx, [ebx*4]
push edx
call sub.mfc42u.dll_operatornew
add esp, 4
mov dword [esp + 0x14], eax
push ebx
push eax
call fcn.005463a0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
xor ecx, ecx
test ebx, ebx
jle 0x56e667
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x40]
mov dword [esp + 0xc], edx
fld qword [esp + 0x34]
fcomp qword [edx - 8]
fnstsw ax
test ah, 0x41
jne 0x56e609
mov eax, 1
jmp 0x56e649
fld qword [esp + 0x3c]
fcomp qword [edx]
fnstsw ax
test ah, 0x41
jne 0x56e61d
mov eax, 1
jmp 0x56e649
fld qword [esp + 0x44]
fcomp qword [edx - 0x18]
fnstsw ax
test ah, 1
je 0x56e632
mov eax, 1
jmp 0x56e649
fld qword [esp + 0x4c]
fcomp qword [edx - 0x10]
fnstsw ax
test ah, 1
je 0x56e647
mov eax, 1
jmp 0x56e649
xor eax, eax
mov edx, 1
sub edx, eax
mov eax, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
mov edx, dword [esp + 0xc]
inc ecx
add edx, 0x48
cmp ecx, ebx
mov dword [esp + 0xc], edx
jl 0x56e5f4
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
push ebx
lea edx, [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x9c]
push eax
push ecx
call fcn.0056e160
add esp, 0x14
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x56e7ad
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
push ebx
lea eax, [esp + 0x14]
push edx
push eax
lea edx, [esp + 0x74]
push ecx
push edx
call fcn.0056e160
add esp, 0x14
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x56e78a
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
push ebx
lea ecx, [esp + 0x14]
push eax
push ecx
lea eax, [esp + 0xc4]
push edx
push eax
call fcn.0056e160
add esp, 0x14
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x56e78a
mov dword [esp + 0x10], 0x5e27fc
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c0], 6
test eax, eax
je 0x56e709
push eax
call sub.mfc42u.dll_operatordelete
add esp, 4
lea ecx, [esp + 0x34]
mov dword [esp + 0x10], 0x5e262c
mov byte [esp + 0x1c0], 3
call fcn.0042bd50
lea ecx, [esp + 0xb8]
mov byte [esp + 0x1c0], 2
call fcn.0042bd50
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c0], 1
call fcn.0042bd50
lea ecx, [esp + 0x90]
mov byte [esp + 0x1c0], 0
call fcn.0042bd50
lea ecx, [esp + 0xe0]
mov dword [esp + 0x1c0], 0xffffffff
call fcn.004b90a0
or eax, 0xffffffff
mov ecx, dword [esp + 0x1b8]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx], 0
mov dword [ebx + 4], 0x3ff00000
fld qword [esi]
fadd qword [esi + 0x18]
mov eax, dword [esp + 0xc]
fstp qword [edi]
fld qword [esi + 0x20]
fadd qword [esi + 8]
fstp qword [edi + 8]
jmp 0x56e7e4
fld qword [ebx]
fld qword [esp + 0xa8]
fmul st(1)
fadd qword [esp + 0x90]
fstp qword [edi]
fld qword [esp + 0xb0]
fmul st(1)
fadd qword [esp + 0x98]
fstp qword [edi + 8]
fstp st(0)
fld qword [esp + 0xa0]
fdiv qword [esi + 0x10]
fmul qword [ebx]
fstp qword [ebx]
mov edx, dword [ebp + 0xc]
lea ecx, [eax + eax*8]
lea eax, [edx + ecx*8]
lea ecx, [esp + 0xe0]
push eax
push esi
mov dword [esp + 0x5c], eax
call fcn.0045d840
fld qword [esp + 0x180]
fcomp qword [0x5e2798]
fnstsw ax
test ah, 0x40
je 0x56e820
mov dword [esp + 0x178], 0
jmp 0x56e88a
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0xe0]
push eax
push esi
call fcn.00456950
mov eax, dword [esp + 0x178]
test eax, eax
je 0x56e88a
fld qword [esp + 0xe8]
fcomp qword [ebx]
fnstsw ax
test ah, 0x41
je 0x56e88a
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov eax, dword [ebp + 0x14]
mov dword [ebx], ecx
mov ecx, dword [esp + 0x130]
mov dword [ebx + 4], edx
mov edx, dword [esp + 0x134]
mov dword [eax], ecx
mov dword [eax + 4], edx
fld qword [ebx]
fld st(0)
fmul qword [esi + 0x18]
fadd qword [esi]
fstp qword [edi]
fmul qword [esi + 0x20]
fadd qword [esi + 8]
fstp qword [edi + 8]
mov dword [esp + 0x10], 0x5e27fc
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c0], 7
test eax, eax
je 0x56e8ab
push eax
call sub.mfc42u.dll_operatordelete
add esp, 4
lea ecx, [esp + 0x34]
mov dword [esp + 0x10], 0x5e262c
mov byte [esp + 0x1c0], 3
call fcn.0042bd50
lea ecx, [esp + 0xb8]
mov byte [esp + 0x1c0], 2
call fcn.0042bd50
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c0], 1
call fcn.0042bd50
lea ecx, [esp + 0x90]
mov byte [esp + 0x1c0], 0
call fcn.0042bd50
lea ecx, [esp + 0xe0]
mov dword [esp + 0x1c0], 0xffffffff
call fcn.004b90a0
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret