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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0x7c
and esp, 0xfffffff8
mov ebx, ecx
mov esi, dword [ecx]
call dword [esi + 0x178]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
movsx edi, word [esp + 0x26]
movsx eax, word [esp + 0x2a]
mov dword [esp + 8], eax
sub dword [esp + 8], edi
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 4], 0
xor esi, esi
jmp 0x45e263
mov edi, dword [esp + 4]
push edi
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call fcn.0045e3a0
lea ecx, [esp + 0x38]
push ecx
mov eax, dword [ebx + 0x77c]
sub eax, edi
push eax
push dword [esp + 0x10]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.0045dfb0
add esp, 0x14
mov dword [ebx + esi + 0x88], eax
cmp dword [esp + 0x64], 0
je 0x45e15c
mov ecx, dword [esp + 0x64]
call fcn.0040b9e0
push edi
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
call fcn.0045e720
lea ecx, [esp + 0x40]
push ecx
mov eax, dword [ebx + 0x77c]
sub eax, edi
push eax
push dword [esp + 0x10]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x78]
push eax
call fcn.0045dfb0
add esp, 0x14
mov dword [ebx + esi + 0x8c], eax
cmp dword [esp + 0x68], 0
je 0x45e1a4
mov ecx, dword [esp + 0x68]
call fcn.0040b9e0
push edi
lea eax, [esp + 0x70]
push eax
mov ecx, ebx
call fcn.0045ea80
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x54], eax
test eax, eax
je 0x45e1c4
mov ecx, eax
call fcn.0040b9a0
cmp dword [esp + 0x6c], 0
je 0x45e1d4
mov ecx, dword [esp + 0x6c]
call fcn.0040b9e0
lea ecx, [esp + 0x54]
call fcn.0040bb50
push eax
call fcn.00440fb0
pop ecx
fcomp qword [0x4c9210]
fnstsw ax
test ah, 5
jne 0x45e244
mov eax, dword [esp + 0x54]
mov dword [esp + 0x70], eax
test eax, eax
je 0x45e204
mov ecx, eax
call fcn.0040b9a0
lea ecx, [esp + 0x48]
push ecx
mov eax, dword [ebx + 0x77c]
sub eax, edi
push eax
push dword [esp + 0x10]
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.0045dfb0
add esp, 0x14
mov dword [ebx + esi + 0x90], eax
cmp dword [esp + 0x70], 0
je 0x45e24c
mov ecx, dword [esp + 0x70]
call fcn.0040b9e0
jmp 0x45e24c
or dword [ebx + esi + 0x90], 0xffffffff
cmp dword [esp + 0x54], 0
je 0x45e25c
mov ecx, dword [esp + 0x54]
call fcn.0040b9e0
add esi, 0x1c
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, dword [ebx + 0x77c]
jl 0x45e110
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x8e0], ecx
mov dword [ebx + 0x8e4], eax
fild dword [esp + 0x2c]
fdiv qword [esp + 0x38]
fstp qword [esp + 0x10]
xor esi, esi
xor edi, edi
jmp 0x45e359
fld qword [0x4c9210]
fcomp qword [esp + 0x38]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x45e355
cmp dword [esp + 0x2c], 0
jge 0x45e2c7
mov dword [esp + 0x2c], 0
push esi
lea eax, [esp + 0x78]
push eax
mov ecx, ebx
call fcn.0045e3a0
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x78]
push eax
call fcn.0045dc80
pop ecx
pop ecx
mov byte [esp], al
cmp dword [esp + 0x74], 0
je 0x45e2f8
mov ecx, dword [esp + 0x74]
call fcn.0040b9e0
cmp byte [esp], 2
jne 0x45e355
fld qword [esp + 0x58]
fmul qword [esp + 0x10]
fnstcw word [esp + 0xc]
mov eax, dword [esp + 0xc]
or byte [esp + 0xd], 0xc
fldcw word [esp + 0xc]
fistp dword [esp + 0x18]
mov dword [esp + 0xc], eax
fldcw word [esp + 0xc]
mov edx, dword [esp + 0x18]
mov eax, dword [ebx + 0x77c]
dec eax
cmp esi, eax
jge 0x45e340
mov dword [ebx + edi + 0x88], edx
jmp 0x45e351
mov dword [ebx + 0x8c4], edx
mov eax, dword [esp + 0x2c]
mov dword [ebx + edi + 0x88], eax
sub dword [esp + 0x2c], edx
add edi, 0x1c
inc esi
mov ecx, dword [ebx + 0x77c]
cmp esi, ecx
jl 0x45e2a0
cmp byte [ebx + 0x779], 0
je 0x45e381
lea eax, [ebx + 0x784]
push eax
push ecx
mov ecx, ebx
call fcn.0045d2b0
jmp 0x45e38b
mov ecx, ebx
mov edi, dword [ecx]
call dword [edi + 0x17c]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret