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

Disassembly:
sub esp, 0x80
push ebx
mov eax, dword [0x62bdb8]
push ebp
push esi
push edi
mov edi, dword [esp + 0x94]
or ecx, 0xffffffff
xor ebx, ebx
mov edx, dword [edi + 4]
mov esi, eax
test edx, edx
mov dword [esp + 0x20], ecx
jle 0x45ae68
mov ebp, dword [esp + 0x64]
lea eax, [edi + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
sub esp, 8
mov edx, dword [ecx]
fld dword [edx + 0x18]
fstp qword [esp]
call fcn.004b6664
add esp, 8
call fcn.004b5864
cmp eax, esi
jge 0x45adfb
mov ebp, ebx
mov esi, eax
cmp dword [esp + 0x20], eax
jg 0x45ae05
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x3c]
mov eax, dword [edi + 4]
inc ebx
add ecx, 4
cmp ebx, eax
mov dword [esp + 0x3c], ecx
jl 0x45add7
mov eax, dword [0x62bdb8]
mov ecx, dword [esp + 0x20]
cmp esi, eax
jge 0x45b59f
test ecx, ecx
jl 0x45b59f
cmp ecx, eax
jl 0x45ae39
mov dword [esp + 0x20], eax
mov eax, dword [0x62bdc0]
mov ecx, dword [0x62bdc4]
imul eax, esi
add eax, ecx
mov ebx, esi
mov dword [esp + 0x44], eax
dec esi
mov eax, ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], eax
jmp 0x45ae72
mov ebp, dword [esp + 0x64]
jmp 0x45ae21
mov eax, dword [esp + 0x24]
cmp ebx, dword [esp + 0x4c]
jle 0x45af20
mov esi, eax
dec eax
mov dword [esp + 0x24], eax
jns 0x45ae8c
add eax, dword [edi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [edi + eax*4 + 8]
sub esp, 8
fld dword [eax + 0x18]
fstp qword [esp]
call fcn.004b6664
add esp, 8
call fcn.004b5864
mov ecx, eax
mov eax, dword [edi + esi*4 + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov eax, ecx
sub eax, ebx
test eax, eax
mov dword [esp + 0x10], eax
jle 0x45af20
fild dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
fdivr qword [0x4c1508]
mov eax, dword [edi + ecx*4 + 8]
fld dword [eax + 0x14]
fsub dword [esp + 0x2c]
fmul st(1)
fstp dword [esp + 0x70]
fld dword [eax + 0x20]
fsub dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x74]
fld dword [eax + 0x24]
fsub dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x78]
fld dword [eax + 0x1c]
fsub dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x7c]
fstp st(0)
cmp ebx, dword [esp + 0x50]
jle 0x45afda
mov eax, dword [edi + 4]
mov esi, ebp
inc ebp
cmp ebp, eax
mov dword [esp + 0x28], ebp
jl 0x45af3e
sub ebp, eax
mov dword [esp + 0x28], ebp
mov edx, dword [edi + ebp*4 + 8]
sub esp, 8
fld dword [edx + 0x18]
fstp qword [esp]
call fcn.004b6664
add esp, 8
call fcn.004b5864
mov ecx, eax
mov eax, dword [edi + esi*4 + 8]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov eax, ecx
sub eax, ebx
test eax, eax
mov dword [esp + 0x10], eax
jle 0x45afda
fild dword [esp + 0x10]
mov eax, dword [edi + ebp*4 + 8]
fdivr qword [0x4c1508]
fld dword [eax + 0x14]
fsub dword [esp + 0x30]
fmul st(1)
fstp dword [esp + 0x80]
fld dword [eax + 0x20]
fsub dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 0x84]
fld dword [eax + 0x24]
fsub dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x88]
fld dword [eax + 0x1c]
fsub dword [esp + 0x3c]
fmul st(1)
fstp dword [esp + 0x8c]
fstp st(0)
test ebx, ebx
jl 0x45b512
fld dword [esp + 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.004b6664
call fcn.004b5864
fld dword [esp + 0x38]
mov esi, eax
fstp qword [esp]
mov dword [esp + 0x48], esi
call fcn.004b6664
fisub dword [esp + 0x48]
add esp, 8
call fcn.004b5864
mov ecx, dword [0x62bdbc]
mov dword [esp + 0x10], eax
cmp esi, ecx
jge 0x45b512
test eax, eax
jle 0x45b512
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fild dword [esp + 0x10]
lea edx, [eax + esi]
cmp edx, ecx
fdivr dword [0x4c1668]
fld dword [esp + 0x34]
fsub dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x38]
fsub dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x3c]
fsub dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x54]
fstp st(0)
jl 0x45b07f
sub ecx, esi
mov eax, ecx
mov dword [esp + 0x10], eax
test esi, esi
jge 0x45b0c7
fstp st(0)
add eax, esi
fstp st(0)
test eax, eax
fstp st(0)
mov dword [esp + 0x10], eax
jle 0x45b512
fild dword [esp + 0x40]
xor esi, esi
fmul dword [0x4c1594]
fst dword [esp + 0x40]
fmul dword [esp + 0x58]
fsubr dword [esp + 0x14]
fld dword [esp + 0x40]
fmul dword [esp + 0x5c]
fsubr dword [esp + 0x18]
fld dword [esp + 0x40]
fmul dword [esp + 0x54]
fsubr dword [esp + 0x1c]
fld st(0)
fdivr qword [0x4c1660]
mov ecx, dword [esp + 0x44]
add esi, ecx
fld st(0)
fmul st(4)
fadd qword [0x4c1658]
fstp dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
fmul st(2)
fadd qword [0x4c1658]
fstp dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
fadd dword [esp + 0x54]
fld st(0)
fdivr qword [0x4c1660]
fld dword [esp + 0x58]
faddp st(4)
fld dword [esp + 0x5c]
faddp st(3)
fld st(0)
fmul st(4)
fadd qword [0x4c1658]
fstp dword [esp + 0x60]
mov edi, dword [esp + 0x60]
fmul st(2)
sub edi, ecx
and ecx, 0x3fff
sar edi, 5
fadd qword [0x4c1658]
fstp dword [esp + 0x64]
mov ebp, dword [esp + 0x64]
sub ebp, edx
sar ebp, 5
cmp eax, 0x20
jl 0x45b4d6
mov eax, edx
mov ebx, ecx
and eax, 0x3f80
add ecx, edi
sar ebx, 7
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
sar ebx, 7
or eax, ebx
inc esi
add edx, ebp
mov al, byte [eax + 0x57bbc0]
mov byte [esi - 1], al
mov eax, edx
mov ebx, ecx
and eax, 0x3f80
sar ebx, 7
or eax, ebx
add ecx, edi
add edx, ebp
mov ebx, ecx
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
sar ebx, 7
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
inc esi
mov al, byte [eax + 0x57bbc0]
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
mov ebx, ecx
add ecx, edi
sar ebx, 7
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
inc esi
mov ebx, ecx
mov al, byte [eax + 0x57bbc0]
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
sar ebx, 7
or eax, ebx
add ecx, edi
add edx, ebp
mov ebx, ecx
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
sar ebx, 7
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
inc esi
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi - 1], al
mov eax, edx
and eax, 0x3f80
add edx, ebp
sar ebx, 7
or eax, ebx
mov ebx, ecx
sar ebx, 7
mov al, byte [eax + 0x57bbc0]
add ecx, edi
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
or eax, ebx
add edx, ebp
mov ebx, ecx
add ebp, edx
mov al, byte [eax + 0x57bbc0]
add edi, ecx
mov byte [esi], al
mov eax, edx
and eax, 0x3f80
inc esi
sar ebx, 7
or eax, ebx
and ebp, 0x3f80
sar edi, 7
mov al, byte [eax + 0x57bbc0]
or ebp, edi
mov edx, dword [esp + 0x64]
mov byte [esi], al
mov cl, byte [ebp + 0x57bbc0]
mov eax, dword [esp + 0x10]
inc esi
sub eax, 0x20
mov dword [esp + 0x10], eax
mov byte [esi], cl
mov ecx, dword [esp + 0x60]
inc esi
test eax, eax
jg 0x45b0f7
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x45b503
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, edx
mov ebx, ecx
and eax, 0x3f80
add ecx, edi
sar ebx, 7
or eax, ebx
inc esi
add edx, ebp
mov al, byte [eax + 0x57bbc0]
mov byte [esi - 1], al
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
jne 0x45b4dc
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x28]
fld dword [esp + 0x70]
fadd dword [esp + 0x2c]
mov ecx, dword [0x62bdc0]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
add edx, ecx
inc ebx
mov dword [esp + 0x44], edx
fstp dword [esp + 0x2c]
fld dword [esp + 0x74]
fadd dword [esp + 0x14]
cmp ebx, eax
mov dword [esp + 0x48], ebx
fstp dword [esp + 0x14]
fld dword [esp + 0x78]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x7c]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x80]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x84]
fadd dword [esp + 0x34]
fstp dword [esp + 0x34]
fld dword [esp + 0x88]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x8c]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x3c]
jl 0x45ae6e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret