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

Disassembly:
push 0xffffffffffffffff
push 0x4d0e8b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
push ebx
mov ebx, ecx
mov eax, dword [ebx + 8]
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 8], ebx
jne 0x45c4d8
push 0x4e35b8
push 0x284
jmp 0x45c4fc
mov eax, dword [ebx + 0x18]
cmp eax, edi
jne 0x45c4eb
push 0x4e334c
push 0x28a
jmp 0x45c4fc
mov eax, dword [eax + 0x20]
test eax, eax
jns 0x45c52e
push 0x4e3588
push 0x290
push 0x4e32d8
push 0x4e3570
push 5
push 0x50ef58
call fcn.00408780
add esp, 0x18
pop edi
xor al, al
pop ebx
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
add esp, 0xd8
ret
push ebp
push esi
lea ecx, [esp + 0x24]
call fcn.0045aa50
mov esi, eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
mov eax, dword [ebx + 4]
mov dword [esp + 0xe4], edi
mov edi, dword [eax]
cmp edi, eax
je 0x45c588
mov ecx, dword [esi + 4]
lea eax, [edi + 8]
lea ebp, [esi + 4]
push eax
push ecx
push esi
lea ecx, [esp + 0x30]
call fcn.0045aa70
push 1
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.0045b5d0
mov dword [ebp], esi
mov edx, dword [esi + 4]
mov dword [edx], esi
mov edi, dword [edi]
cmp edi, dword [ebx + 4]
mov esi, dword [esp + 0x28]
jne 0x45c553
mov edi, dword [esi]
cmp edi, esi
je 0x45c699
mov eax, dword [edi + 8]
mov ebp, dword [eax + 0x20]
test ebp, ebp
jns 0x45c68f
movzx eax, word [eax + 0x194]
test ax, ax
je 0x45c5e5
push eax
call fcn.0044d710
mov ecx, eax
call fcn.0044b310
test eax, eax
je 0x45c666
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x45c666
push ebp
call fcn.004104a0
cmp al, 1
jne 0x45c666
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x300]
jmp 0x45c5ff
push ebp
call fcn.00413c20
mov ecx, eax
call fcn.004104a0
cmp al, 1
jne 0x45c666
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + 0x300]
test ecx, ecx
je 0x45c666
mov eax, dword [esi]
cmp eax, esi
je 0x45c62c
lea esp, [esp]
cmp dword [eax + 8], ecx
je 0x45c61d
mov eax, dword [eax]
cmp eax, esi
jne 0x45c610
jmp 0x45c62c
mov edx, dword [edi + 0xc]
mov ebp, dword [eax + 0xc]
add ebp, edx
cmp eax, esi
mov dword [eax + 0xc], ebp
jne 0x45c666
mov edx, dword [esi + 4]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1c]
push ecx
lea ebp, [esi + 4]
push edx
push esi
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], eax
call fcn.0045aa70
push 1
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.0045b5d0
mov dword [ebp], esi
mov eax, dword [esi + 4]
mov dword [eax], esi
mov esi, dword [esp + 0x28]
cmp edi, esi
mov ebp, dword [edi]
je 0x45c68b
mov ecx, dword [edi + 4]
mov dword [ecx], ebp
mov edx, dword [edi]
mov eax, dword [edi + 4]
push edi
mov dword [edx + 4], eax
call fcn.004be8db
mov eax, dword [esp + 0x30]
add esp, 4
dec eax
mov dword [esp + 0x2c], eax
mov edi, ebp
jmp 0x45c691
mov edi, dword [edi]
cmp edi, esi
jne 0x45c592
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x45c6c7
mov eax, dword [esi]
cmp eax, esi
mov dword [esi], esi
mov dword [esi + 4], esi
je 0x45c6c1
lea esp, [esp]
mov edi, dword [eax]
push eax
call fcn.004be8db
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x45c6b0
push esi
jmp 0x45cca2
mov ecx, dword [esi + 4]
mov ebp, dword [ecx + 8]
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebx + 0x18]
mov ecx, dword [esp + 0x10]
push eax
mov dword [esp + 0x38], ebx
call fcn.0045a930
cmp al, 1
jne 0x45c777
mov eax, dword [ebx + 0x5e0]
test eax, eax
je 0x45c710
push 3
lea edx, [ebx + 0x4b4]
push edx
lea ecx, [ebp + 0x4b4]
push ecx
add eax, 0x40
push ebx
push eax
call fcn.00452f10
add esp, 0x14
mov edi, dword [esi]
cmp edi, esi
je 0x45c750
jmp 0x45c720
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x5e0]
test ecx, ecx
je 0x45c74a
push 2
lea edx, [ebx + 0x4b4]
push edx
lea edx, [ebp + 0x4b4]
push edx
push eax
add ecx, 0x40
push ecx
call fcn.00452f10
add esp, 0x14
mov edi, dword [edi]
cmp edi, esi
jne 0x45c720
mov eax, dword [esi]
cmp eax, esi
mov dword [esi], esi
mov dword [esi + 4], esi
je 0x45c771
jmp 0x45c760
mov edi, dword [eax]
push eax
call fcn.004be8db
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x45c760
push esi
jmp 0x45cca2
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.0045bc00
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 4]
mov edi, dword [edx + 8]
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.0045be30
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 4]
mov esi, dword [edx + 8]
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.0045b9d0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x54]
mov esi, eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x54]
mov ecx, dword [ebx + 0x90]
sub eax, esi
mov esi, dword [edi + 0x90]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
sub ecx, esi
add ecx, 4
fmul dword [0x4e356c]
mov dword [esp + 0x10], ecx
fiadd dword [esp + 0x10]
call fcn.004c0ecc
mov esi, eax
mov dword [esp + 0x38], esi
call fcn.0043d6d0
movsx eax, word [eax + 0x140]
mov dword [esp + 0x10], eax
cmp si, ax
lea eax, [esp + 0x10]
jl 0x45c825
lea eax, [esp + 0x38]
mov dx, word [eax]
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
xor ebp, ebp
xor ebx, ebx
cmp edi, eax
mov word [esp + 0x38], dx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xd8], ebp
je 0x45c9fe
lea eax, [esp + 0x68]
mov dword [esp + 0x30], eax
jmp 0x45c910
cmp ebx, 0xa
jge 0x45c9fe
mov esi, dword [edi + 8]
mov edx, dword [esp + 0x34]
mov cl, byte [esi + 0x4c7]
cmp cl, byte [edx + 0x4c7]
je 0x45c9f2
mov eax, dword [edi + 0xc]
add dword [esp + 0x10], eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x10]
test eax, eax
jne 0x45cb2f
mov ecx, dword [esp + 0x34]
movzx ecx, word [ecx + 0xba]
mov eax, dword [edi + 0xc]
cmp eax, ecx
mov dword [esp + 0x18], ecx
jl 0x45c960
mov eax, ecx
movsx edx, word [esp + 0x38]
imul edx, eax
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fidiv dword [esp + 0x18]
fld dword [0x4e2ab8]
fadd st(1)
fdivr st(1)
fmul dword [0x4dc1b8]
call fcn.004c0ecc
fstp st(0)
mov ebp, eax
mov dword [esp + 0x18], ebp
call fcn.0043d6d0
mov eax, dword [eax + 0x140]
mov dword [esp + 0x1c], eax
cmp ebp, eax
lea eax, [esp + 0x1c]
jb 0x45c9ac
lea eax, [esp + 0x18]
mov ebp, dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
add eax, ebp
push eax
mov ecx, esi
call fcn.0041a560
mov edx, dword [esi + 0x4ce]
mov eax, dword [esi + 0x5e0]
add edx, ebp
test eax, eax
mov dword [esi + 0x4ce], edx
je 0x45c9f0
push 0
push 0x4ff603
push 0x4ff603
add eax, 0x40
push esi
push eax
call fcn.00452f10
add esp, 0x14
xor ebp, ebp
mov edi, dword [edi]
cmp edi, dword [esp + 0x28]
jne 0x45c910
mov ecx, dword [esp + 0x34]
movzx eax, word [ecx + 0xba]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov dword [esp + 0x18], eax
jge 0x45ca17
mov eax, ecx
movsx ecx, word [esp + 0x38]
imul eax, ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fidiv dword [esp + 0x18]
fmul dword [0x4e29e8]
call fcn.004c0ecc
mov edi, dword [esp + 0x34]
mov edx, dword [edi]
mov ecx, edi
mov esi, eax
call dword [edx + 0x54]
cmp eax, esi
jge 0x45ca49
mov esi, eax
call fcn.0043d6d0
mov eax, dword [eax + 0x144]
cmp eax, esi
jge 0x45ca5a
mov esi, eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x54]
sub eax, esi
push eax
mov ecx, edi
call fcn.0041a560
mov eax, dword [edi + 0x5e0]
cmp eax, ebp
je 0x45ca8d
push ebp
push 0x4ff603
push 0x4ff603
add eax, 0x40
push edi
push eax
call fcn.00452f10
add esp, 0x14
cmp ebx, ebp
jle 0x45cc7a
xor ebp, ebp
mov dword [esp + 0x10], ebx
jmp 0x45caa0
mov esi, dword [esp + ebp + 0x68]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
xor bl, bl
test esi, esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
je 0x45cb92
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x1f], cl
push ecx
mov ecx, dword [esp + ebp + 0x70]
mov edx, dword [ecx + 0x190]
push edx
mov ecx, esi
call fcn.0047a5c0
mov bl, al
test bl, bl
jne 0x45cb92
mov eax, dword [esi + 0x34]
push eax
push 0x4e3540
push 0x367
push 0x4e32d8
push 0x4e3570
push 5
push 0x50ef58
call fcn.00408780
add esp, 0x1c
jmp 0x45cc68
xor esi, esi
cmp ebx, ebp
jle 0x45cb57
lea ebp, [esp + 0x68]
lea esp, [esp]
mov ecx, dword [edi + 8]
mov edx, dword [ecx]
call dword [edx + 0x10]
cmp dword [ebp], eax
je 0x45cb7b
inc esi
add ebp, 0xc
cmp esi, ebx
jl 0x45cb40
xor ebp, ebp
mov ecx, dword [edi + 8]
mov esi, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [esi - 4], ecx
call dword [edx + 0x10]
mov dword [esi], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 4], eax
inc ebx
add esi, 0xc
mov dword [esp + 0x30], esi
jmp 0x45c9f2
mov ecx, dword [edi + 0xc]
lea eax, [esi + esi*2]
mov edx, dword [esp + eax*4 + 0x6c]
lea eax, [esp + eax*4 + 0x6c]
add edx, ecx
mov dword [eax], edx
jmp 0x45c9f0
xor edi, edi
mov eax, dword [esp + edi*4 + 0x3c]
test eax, eax
je 0x45cc68
mov ecx, dword [esp + 0x34]
movzx ecx, word [ecx + 0xba]
mov eax, dword [esp + ebp + 0x6c]
cmp eax, ecx
mov dword [esp + 0x18], ecx
jl 0x45cbb9
mov eax, ecx
movsx ecx, word [esp + 0x38]
imul eax, ecx
mov dword [esp + 0x1c], eax
movzx edx, bl
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
fidiv dword [esp + 0x18]
fmul dword [0x4d7338]
fld dword [0x4e2ab8]
fadd st(1)
fdivr st(1)
fmul dword [0x4dc1b8]
fidiv dword [esp + 0x1c]
call fcn.004c0ecc
fstp st(0)
mov esi, eax
mov dword [esp + 0x30], esi
call fcn.0043d6d0
mov eax, dword [eax + 0x140]
mov dword [esp + 0x1c], eax
cmp esi, eax
lea eax, [esp + 0x1c]
jb 0x45cc16
lea eax, [esp + 0x30]
mov ecx, dword [esp + edi*4 + 0x3c]
mov esi, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x54]
mov ecx, dword [esp + edi*4 + 0x3c]
add eax, esi
push eax
call fcn.0041a560
mov eax, dword [esp + edi*4 + 0x3c]
add dword [eax + 0x4ce], esi
mov eax, dword [esp + edi*4 + 0x3c]
mov ecx, dword [eax + 0x5e0]
test ecx, ecx
je 0x45cc5e
push 0
push 0x4ff603
push 0x4ff603
push eax
add ecx, 0x40
push ecx
call fcn.00452f10
add esp, 0x14
inc edi
cmp edi, 0xa
jl 0x45cb94
mov eax, dword [esp + 0x10]
add ebp, 0xc
dec eax
mov dword [esp + 0x10], eax
jne 0x45caa0
mov edi, dword [esp + 0x28]
mov eax, dword [edi]
cmp eax, edi
mov dword [edi], edi
mov dword [edi + 4], edi
je 0x45cca1
lea esp, [esp]
mov esi, dword [eax]
push eax
call fcn.004be8db
add esp, 4
cmp esi, edi
mov eax, esi
jne 0x45cc90
push edi
call fcn.004be8db
mov ecx, dword [esp + 0xe0]
add esp, 4
pop esi
pop ebp
pop edi
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0xd8
ret