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

Disassembly:
sub esp, 0x94
mov eax, dword [0x62bdb8]
push ebx
mov ebx, dword [esp + 0x9c]
push ebp
push esi
mov ebp, eax
mov edx, dword [ebx + 4]
or ecx, 0xffffffff
xor esi, esi
push edi
test edx, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x2c], ecx
jle 0x45b623
lea edi, [ebx + 8]
mov eax, dword [edi]
sub esp, 8
fld dword [eax + 0x18]
fstp qword [esp]
call fcn.004b6664
add esp, 8
call fcn.004b5864
cmp eax, ebp
jge 0x45b605
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], eax
mov ebp, eax
cmp dword [esp + 0x2c], eax
jg 0x45b60f
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 4]
inc esi
add edi, 4
cmp esi, eax
jl 0x45b5df
mov eax, dword [0x62bdb8]
mov ecx, dword [esp + 0x2c]
cmp ebp, eax
jge 0x45bb58
test ecx, ecx
jl 0x45bb58
cmp ecx, eax
jl 0x45b63b
mov dword [esp + 0x2c], eax
mov eax, dword [0x62bdc0]
mov ecx, dword [0x62bdc4]
imul eax, ebp
add eax, ecx
mov ecx, 0x20
mov esi, 0x57bbc0
mov edi, 0x57fbc0
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x4c], eax
mov al, byte [0x4ccdc8]
test al, al
movsb byte es:[edi], byte [esi]
je 0x45b6af
xor ebp, ebp
mov edi, 0x4ccde8
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x14]
mov ecx, 0xffffffe0
mov eax, esi
add esi, ebp
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov byte [edi + ecx], al
inc ecx
cmp ecx, 0x20
jl 0x45b67e
mov edx, dword [esp + 0x14]
add edi, 0x40
inc ebp
sub edx, 0x20
cmp edi, 0x4cd1e8
mov dword [esp + 0x14], edx
jl 0x45b675
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov edi, ebp
dec ebp
mov eax, esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x3c], eax
jmp 0x45b6d2
mov eax, dword [esp + 0x3c]
cmp edi, dword [esp + 0x5c]
jle 0x45b782
mov ebp, eax
dec eax
mov dword [esp + 0x3c], eax
jns 0x45b6ec
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebx + eax*4 + 8]
sub esp, 8
fld dword [ecx + 0x18]
fstp qword [esp]
call fcn.004b6664
add esp, 8
call fcn.004b5864
mov ecx, dword [ebx + ebp*4 + 8]
mov dword [esp + 0x5c], eax
sub eax, edi
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x20], edx
test eax, eax
mov dword [esp + 0x1c], ecx
jle 0x45b782
fild dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
fdivr qword [0x4c1508]
mov eax, dword [ebx + edx*4 + 8]
fld dword [eax + 0x14]
fsub dword [esp + 0x30]
fmul st(1)
fstp dword [esp + 0x94]
fld dword [eax + 0x20]
fsub dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x70]
fld dword [eax + 0x24]
fsub dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x78]
fld dword [eax + 0x1c]
fsub dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x80]
fstp st(0)
cmp edi, dword [esp + 0x60]
jle 0x45b838
mov eax, dword [ebx + 4]
mov ebp, esi
inc esi
cmp esi, eax
mov dword [esp + 0x44], esi
jl 0x45b7a0
sub esi, eax
mov dword [esp + 0x44], esi
mov eax, dword [ebx + esi*4 + 8]
sub esp, 8
fld dword [eax + 0x18]
fstp qword [esp]
call fcn.004b6664
add esp, 8
call fcn.004b5864
mov ecx, dword [ebx + ebp*4 + 8]
mov dword [esp + 0x60], eax
sub eax, edi
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], edx
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x38], edx
mov edx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x18], edx
test eax, eax
mov dword [esp + 0x14], ecx
jle 0x45b838
fild dword [esp + 0x10]
mov eax, dword [ebx + esi*4 + 8]
fdivr qword [0x4c1508]
fld dword [eax + 0x14]
fsub dword [esp + 0x40]
fmul st(1)
fstp dword [esp + 0x88]
fld dword [eax + 0x20]
fsub dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x90]
fld dword [eax + 0x24]
fsub dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x98]
fld dword [eax + 0x1c]
fsub dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0xa0]
fstp st(0)
test edi, edi
jl 0x45bac5
fld dword [esp + 0x30]
sub esp, 8
fstp qword [esp]
call fcn.004b6664
call fcn.004b5864
fld dword [esp + 0x48]
mov esi, eax
fstp qword [esp]
mov dword [esp + 0x30], esi
call fcn.004b6664
fisub dword [esp + 0x30]
add esp, 8
call fcn.004b5864
mov ebp, eax
mov eax, dword [0x62bdbc]
cmp esi, eax
mov dword [esp + 0x10], ebp
jge 0x45bac1
test ebp, ebp
jle 0x45bac1
fld dword [esp + 0x24]
fld dword [esp + 0x20]
fld dword [esp + 0x1c]
fild dword [esp + 0x10]
lea edx, [esi + ebp]
cmp edx, eax
fdivr dword [0x4c1668]
fld dword [esp + 0x38]
fsub dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x18]
fsub dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x54]
fld dword [esp + 0x14]
fsub dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x64]
fstp st(0)
jl 0x45b8de
sub eax, esi
mov dword [esp + 0x10], eax
mov ebp, eax
test esi, esi
jge 0x45b922
fstp st(0)
add ebp, esi
fstp st(0)
test ebp, ebp
fstp st(0)
jle 0x45bac1
fild dword [esp + 0x28]
xor esi, esi
fmul dword [0x4c1594]
fst dword [esp + 0x10]
fmul dword [esp + 0x50]
fsubr dword [esp + 0x24]
fld dword [esp + 0x10]
fmul dword [esp + 0x54]
fsubr dword [esp + 0x20]
fld dword [esp + 0x10]
fmul dword [esp + 0x64]
fsubr dword [esp + 0x1c]
fld st(0)
fdivr qword [0x4c1670]
mov eax, dword [esp + 0x4c]
lea ebx, [ebp + 0x20]
add esi, eax
mov dword [esp + 0x58], esi
fld st(0)
fmul st(4)
fsub qword [0x4c1510]
fadd qword [0x4c1658]
fstp dword [esp + 0x74]
mov edi, dword [esp + 0x74]
fmul st(2)
fsub qword [0x4c1510]
fadd qword [0x4c1658]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
cdq
and edx, 7
add eax, edx
mov esi, eax
sar esi, 3
jmp 0x45b97d
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x10]
fadd dword [esp + 0x64]
sub ebx, 0x20
sub ebp, 0x20
mov dword [esp + 0x10], ebp
mov dword [esp + 0x8c], ebx
fld st(0)
fdivr qword [0x4c1670]
mov dword [esp + 0x28], 0x20
fld dword [esp + 0x50]
faddp st(4)
fld dword [esp + 0x54]
faddp st(3)
fld st(0)
fmul st(4)
fadd qword [0x4c1658]
fstp dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
fmul st(2)
sub ecx, edi
sar ecx, 5
fadd qword [0x4c1658]
mov dword [esp + 0x9c], ecx
fstp dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x48], eax
sub eax, esi
sar eax, 5
cmp ebx, 0x20
mov dword [esp + 0x84], eax
jg 0x45b9fe
mov dword [esp + 0x28], ebx
and edi, 0x1ffff
mov ecx, esi
mov edx, edi
and ecx, 0x3f80
xor eax, eax
sar edx, 0xa
or ecx, edx
xor edx, edx
xor ebx, ebx
mov al, byte [ecx + 0x57bbc0]
mov dl, byte [ecx + 0x57bc40]
mov bl, byte [ecx + 0x57bc41]
mov ebp, eax
xor eax, eax
mov dword [esp + 0x6c], edx
mov al, byte [ecx + 0x57bbc1]
mov ecx, dword [esp + 0x6c]
mov edx, edi
sub eax, ebp
and edx, 0x3c0
sub ebx, ecx
movsx eax, byte [eax + edx + 0x4ccde8]
movsx edx, byte [ebx + edx + 0x4ccde8]
mov ebx, esi
add eax, ebp
and ebx, 0x78
mov ebp, dword [esp + 0x9c]
add edi, ebp
lea edx, [edx + ebx*8]
mov ebx, dword [esp + 0x84]
sub edx, eax
add esi, ebx
mov cl, byte [edx + ecx + 0x4ccde8]
add cl, al
mov eax, dword [esp + 0x58]
mov byte [eax], cl
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
dec eax
test eax, eax
mov dword [esp + 0x28], eax
jg 0x45ba04
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x48]
test eax, eax
jg 0x45b972
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0x68]
fstp st(0)
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x44]
fld dword [esp + 0x94]
fadd dword [esp + 0x30]
mov edx, dword [0x62bdc0]
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
add ebp, edx
inc edi
mov dword [esp + 0x4c], ebp
fstp dword [esp + 0x30]
fld dword [esp + 0x70]
fadd dword [esp + 0x24]
cmp edi, eax
mov dword [esp + 0x68], edi
fstp dword [esp + 0x24]
fld dword [esp + 0x78]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x80]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x88]
fadd dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x90]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x98]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0xa0]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
jl 0x45b6ce
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret