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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [eax + 0xc]
push edi
mov edi, dword [ecx + 0xc]
test esi, esi
je 0x4c627b
test edi, edi
je 0x4c627b
push 0xc0
push 1
call fcn.00547150
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4c627b
push 0xc0
push 1
mov dword [ebx + 0x38], 1
call fcn.00547150
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x4c627b
mov ecx, 1
mov dword [eax + 0x38], ecx
mov dword [esp + 0x34], ecx
test edi, edi
je 0x4c6192
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
fld dword [esi + 0x40]
fstp qword [esp + 0x68]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
fld dword [esi + 0x44]
fstp qword [esp + 0xc0]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
fld dword [edi + 0x40]
fstp qword [esp + 0x80]
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], eax
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
fld dword [edi + 0x44]
test eax, eax
fstp qword [esp + 0xd8]
je 0x4c5d0f
lea eax, [esp + 0x70]
lea ecx, [esp + 0x58]
push eax
push ecx
call fcn.00418f70
fstp qword [esp + 0x48]
add esp, 8
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0
jmp 0x4c5d5b
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x58]
lea edx, [esp + 0x70]
push ecx
lea eax, [esp + 0x9c]
push edx
push eax
call fcn.00418e20
push 0xe
call fcn.004b2890
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push ecx
push edx
call fcn.00457540
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
push edx
push eax
call fcn.004569e0
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push ecx
push edx
call fcn.00457540
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
push edx
push eax
call fcn.00456b90
add esp, 0x40
lea ecx, [esp + 0x58]
lea edx, [esp + 0xb0]
lea eax, [esp + 0xe0]
push ecx
push edx
push eax
call fcn.00418e20
lea ecx, [esp + 0xec]
push ecx
call fcn.00418eb0
fstp qword [esp + 0x28]
lea edx, [esp + 0xa8]
push edx
call fcn.00418eb0
fmul qword [esp + 0x2c]
add esp, 0x14
fst qword [esp + 0x10]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x4c5e50
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x3ff00000
lea eax, [esp + 0x110]
lea ecx, [esp + 0xe0]
push eax
lea edx, [esp + 0x9c]
push ecx
push edx
call fcn.00419040
lea eax, [esp + 0xec]
lea ecx, [esp + 0xa4]
push eax
push ecx
fstp st(0)
call fcn.00418fd0
fdiv qword [esp + 0x24]
add esp, 0x14
fst qword [esp + 0x10]
fcomp qword [0x550f30]
fnstsw ax
test ah, 0x41
jne 0x4c5eae
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x3ff00000
jmp 0x4c5ecf
fld qword [esp + 0x10]
fcomp qword [0x550fa8]
fnstsw ax
test ah, 1
je 0x4c5ecf
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xbff00000
fld qword [esp + 0x10]
call fcn.00547db0
fmul qword [0x550f60]
fstp qword [esp + 0x10]
fld qword [esp + 0x120]
fcomp qword [0x550f20]
fnstsw ax
test ah, 1
je 0x4c5f00
fld qword [esp + 0x10]
fchs
fstp qword [esp + 0x10]
lea edx, [esp + 0xe0]
push edx
call fcn.00418eb0
fstp qword [esp + 0x1c]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x90]
push ecx
push edx
call fcn.00418960
lea eax, [esp + 0x98]
push eax
call fcn.004189e0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0xa0]
push edx
push eax
fstp st(0)
call fcn.00418af0
lea ecx, [esp + 0x44]
lea edx, [esp + 0xa8]
push ecx
push edx
call fcn.00418920
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x4c]
push eax
push ecx
lea eax, [esp + 0xb8]
push edx
push eax
call fcn.00418c70
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x90]
push ecx
lea eax, [esp + 0xd4]
push edx
push eax
call fcn.00418e20
add esp, 0x44
lea ecx, [esp + 0x70]
lea edx, [esp + 0xc8]
lea eax, [esp + 0xf8]
push ecx
push edx
push eax
call fcn.00418e20
lea ecx, [esp + 0x104]
push ecx
call fcn.00418eb0
fstp qword [esp + 0x28]
lea edx, [esp + 0xa8]
push edx
call fcn.00418eb0
fmul qword [esp + 0x2c]
add esp, 0x14
fst qword [esp + 0x10]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x4c5ffc
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x3ff00000
lea eax, [esp + 0xf8]
lea ecx, [esp + 0x98]
push eax
push ecx
call fcn.00418fd0
fdiv qword [esp + 0x18]
add esp, 8
fst qword [esp + 0x10]
fcomp qword [0x550f30]
fnstsw ax
test ah, 0x41
jne 0x4c603b
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x3ff00000
jmp 0x4c605c
fld qword [esp + 0x10]
fcomp qword [0x550fa8]
fnstsw ax
test ah, 1
je 0x4c605c
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xbff00000
fld qword [esp + 0x10]
call fcn.00547db0
fmul qword [0x550f60]
fstp qword [esp + 0x10]
fld qword [esp + 0x120]
fcomp qword [0x550f20]
fnstsw ax
test ah, 1
jne 0x4c608d
fld qword [esp + 0x10]
fchs
fstp qword [esp + 0x10]
lea edx, [esp + 0xf8]
push edx
call fcn.00418eb0
fstp qword [esp + 0x1c]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.00418960
lea eax, [esp + 0x58]
push eax
call fcn.004189e0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0x60]
push edx
push eax
fstp st(0)
call fcn.00418af0
lea ecx, [esp + 0x58]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.00418920
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x60]
push eax
push ecx
lea eax, [esp + 0x78]
push edx
push eax
call fcn.00418c70
lea ecx, [esp + 0xc0]
push ebx
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.0043f9f0
add esp, 0x44
test eax, eax
je 0x4c627b
push 0xc
call fcn.004b2890
push 0
push 0
call fcn.00457540
mov eax, dword [ebx + 0x10]
push eax
call fcn.0048e930
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x58]
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
call fcn.0043f9f0
add esp, 0x1c
test eax, eax
je 0x4c627b
push 0xc
call fcn.004b2890
push 0
push 0
call fcn.00457540
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x10]
push edx
call fcn.0048e930
mov eax, dword [ebp + 8]
mov esi, dword [esi + 0xc]
add esp, 0x10
cmp esi, dword [eax + 0xc]
jne 0x4c617d
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov edi, dword [edi + 0xc]
cmp edi, dword [ecx + 0xc]
jne 0x4c618a
xor edi, edi
test esi, esi
jne 0x4c5c02
fld dword [0x56c288]
push 0x403e0000
push 0
push 0x40c38800
push 0
sub esp, 8
fstp qword [esp]
push ebx
call fcn.0049d3e0
fld dword [0x56c288]
add esp, 0x1c
push 0x403e0000
push 0
sub esp, 8
fstp qword [esp]
push ebx
call fcn.0049d930
add esp, 0x14
mov esi, dword [esp + 0x20]
fld dword [0x56c288]
push 0x403e0000
push 0
push 0x40c38800
push 0
sub esp, 8
fstp qword [esp]
push esi
call fcn.0049d3e0
fld dword [0x56c288]
add esp, 0x1c
push 0x403e0000
push 0
sub esp, 8
fstp qword [esp]
push esi
call fcn.0049d930
push esi
call fcn.00488fe0
push esi
push ebx
call fcn.00489520
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
add edx, 0x10
push ebx
add eax, 0x20
push edx
push eax
call fcn.0043f9f0
add esp, 0x2c
test eax, eax
je 0x4c627b
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, 2
mov dword [ebx], ecx
mov edx, dword [0x584ab4]
mov eax, dword [0x584ab0]
push edx
push eax
push ebx
call fcn.00488de0
push ebx
push 0x585050
call fcn.004894b0
push 3
push ebx
call fcn.004ac0f0
push ebx
call fcn.0048cbe0
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret