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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xb8
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
lea eax, [eax]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x38]
lea edi, [edi + edi*4]
mov eax, dword [edi*8 + 0x792d58]
test eax, eax
mov dword [esp + 0x34], eax
je 0x466a21
lea eax, [eax]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
movsx ebp, word [eax + 0x5c]
movzx eax, word [0x68e810]
cmp ebp, eax
je 0x466259
movzx eax, word [0x68e814]
cmp ebp, eax
je 0x466259
movzx eax, word [0x68e818]
cmp ebp, eax
je 0x466259
movzx eax, word [0x68e81c]
cmp ebp, eax
jne 0x466a16
mov esi, dword [esp + 0x14]
mov dword [esp + 0x94], 0x41880000
lea eax, [esp + 0x94]
add esi, 4
push eax
lea eax, [esp + 0x8c]
push esi
push eax
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
call fcn.004dff40
mov eax, dword [esp + 0x94]
add esp, 0xc
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov dword [esp + 0xac], 0xc1700000
lea eax, [esp + 0xac]
add ebx, 4
push eax
lea eax, [esp + 0xa4]
mov ecx, dword [esp + 0x90]
push ebx
push eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xbc], 0
call fcn.004dff40
mov eax, dword [esp + 0xb0]
add esp, 0xc
mov dword [esp + 0x6c], eax
mov edx, dword [esp + 0xa0]
fld dword [esp + 0x6c]
fsub dword [esp + 0x60]
mov dword [esp + 0x30], 0x9b6e64
mov dword [esp + 0x68], edx
mov dword [esp + 8], 0
mov dword [esp + 0x24], 0
fstp dword [esp + 0x78]
fld dword [esp + 0xa0]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x7c]
jmp 0x46672f
mov eax, dword [esp + 8]
movsx eax, word [eax + 0x9b6e68]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 8]
fild dword [esp + 0x80]
movsx eax, word [eax + 0x9b6e6a]
fmul dword [0x68a854]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 8]
movsx eax, word [eax + 0x9b6e6c]
fsub dword [esp + 0x5c]
fstp st(4)
fild dword [esp + 0x80]
mov dword [esp + 0x80], eax
fmul dword [0x68a854]
fsub dword [esp + 0x60]
fstp st(3)
fld st(2)
fmul st(0)
fld st(4)
fmul st(0)
faddp st(1)
fild dword [esp + 0x80]
fmul dword [0x68a854]
fsub dword [esp + 0x64]
fstp st(5)
fld st(4)
fmul st(0)
faddp st(1)
fstp st(4)
fld st(3)
fcomp dword [0x68a880]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x466a90
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
add dword [esp + 0x10], 0x10
mov dword [esp + 0x70], edi
mov dword [esp + 0x2c], 0
jmp 0x466a80
mov eax, dword [esp + 4]
movsx ebp, word [eax + 0x9b6e70]
fldz
fldz
add ebp, dword [esp + 0x2c]
mov cx, word [ebp*2 + 0x9f17e4]
and ecx, 0x3fff
movsx eax, cx
fldz
fldz
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0xc]
jge 0x466a53
mov esi, dword [esp + 0xc]
lea esi, [esi + esi*4]
lea esi, [esi*4]
movsx eax, word [esi + 0x9b6e68]
mov dword [esp + 0x80], eax
fild dword [esp + 0x80]
movsx eax, word [esi + 0x9b6e6a]
fmul dword [0x68a854]
mov dword [esp + 0x80], eax
movsx eax, word [esi + 0x9b6e6c]
fstp dword [esp + 0x48]
fild dword [esp + 0x80]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 4]
movsx eax, word [eax + 0x9b6e68]
fmul dword [0x68a854]
fstp dword [esp + 0x4c]
fild dword [esp + 0x80]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 4]
movsx eax, word [eax + 0x9b6e6a]
fmul dword [0x68a854]
fstp st(4)
fld st(3)
fstp dword [esp + 0x50]
fild dword [esp + 0x80]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 4]
movsx eax, word [eax + 0x9b6e6c]
fmul dword [0x68a854]
fstp st(3)
fild dword [esp + 0x80]
mov dword [esp + 0x80], eax
fmul dword [0x68a854]
fstp st(2)
fild dword [esp + 0x80]
fmul dword [0x68a854]
fst st(1)
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fadd dword [esp + 0x50]
fmul dword [0x68a834]
fsubr dword [esp + 0x64]
fcomp dword [0x68a844]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x466564
fld st(0)
fadd st(4)
fmul dword [0x68a834]
fsubr dword [esp + 0x64]
fchs
jmp 0x466572
fld st(0)
fadd st(4)
fmul dword [0x68a834]
fsubr dword [esp + 0x64]
fstp st(4)
fld st(3)
fcomp dword [0x68a86c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x466a60
fld dword [esp + 0x48]
fsub dword [esp + 0x5c]
fmul dword [esp + 0x70]
fld dword [esp + 0x4c]
fsub dword [esp + 0x60]
fmul dword [esp + 0x74]
fsubrp st(1)
fld st(3)
fsub dword [esp + 0x5c]
fmul dword [esp + 0x70]
fld st(3)
fsub dword [esp + 0x60]
fmul dword [esp + 0x74]
fsubrp st(1)
fmulp st(1)
fcomp dword [0x68a844]
fnstsw ax
test ah, 0x45
jne 0x4665d0
xor al, al
jmp 0x466619
fld dword [esp + 0x68]
fsub st(3)
fld dword [esp + 0x4c]
fsub st(3)
fstp st(5)
fmul st(4)
fld dword [esp + 0x6c]
fsub st(3)
fld dword [esp + 0x48]
fsub st(5)
fstp st(3)
fmul st(2)
fsubrp st(1)
fld dword [esp + 0x5c]
fsub st(4)
fmul st(5)
fld dword [esp + 0x60]
fsub st(4)
fmul st(3)
fsubrp st(1)
fmulp st(1)
fcomp dword [0x68a844]
fnstsw ax
test ah, 0x45
jne 0x466617
xor al, al
jmp 0x466619
mov al, 1
test al, al
je 0x466a70
mov eax, dword [esp + 0x14]
fcompp
fcompp
add eax, 0x14
movsx edi, word [ebp*2 + 0xa006f4]
push dword [eax + 4]
push dword [eax]
call fcn.004a5600
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fmul dword [0x68a818]
pop ecx
pop ecx
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fcomp dword [0x68a81c]
fnstsw ax
test ah, 0x45
jne 0x466677
fld dword [esp + 0x58]
fcomp dword [0x68a820]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x46669c
fld dword [esp + 0x58]
fcomp dword [0x68a824]
fnstsw ax
test ah, 0x45
jne 0x4666a3
fld dword [esp + 0x58]
fcomp dword [0x68a828]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4666a3
mov eax, 1
jmp 0x4666a8
mov eax, 2
lea ebp, [edi*4]
mov ebx, 0x9b6e64
lea ebp, [ebp + ebp*2]
and al, 3
add ebx, ebp
mov cl, byte [ebx + 0x2f1f1]
and cl, 0xfc
or cl, al
mov byte [ebx + 0x2f1f1], cl
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov dl, byte [esi + 0x9b6e74]
and al, 0xf
and dl, 0xf
cmp al, dl
jbe 0x4666ea
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
movsx eax, word [ebp + 0x9e6050]
cmp eax, dword [esp + 0xc]
je 0x466707
mov al, byte [ebx + 0x2f1f0]
and al, 0xbf
or al, 0x40
mov byte [ebx + 0x2f1f0], al
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
and cl, 0xf
movzx eax, cl
cmp dword [esp + 0x2c], eax
jl 0x466420
add dword [esp + 0x30], 0x14
add dword [esp + 8], 0x14
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, dword [0xa0a654]
fldz
fldz
fldz
fldz
jl 0x466350
mov eax, dword [0xa0a658]
mov ebp, 0x9b6e64
mov dword [esp + 0x28], eax
lea eax, [eax + eax*4]
lea eax, [eax*4]
add dword [esp + 0x14], 4
add ebp, eax
add dword [esp + 0x14], 0x30
mov esi, dword [esp + 0x14]
mov ebx, eax
jmp 0x466a02
movsx eax, word [ebx + 0x9b6e68]
mov dword [esp + 0x80], eax
fild dword [esp + 0x80]
movsx eax, word [ebx + 0x9b6e6a]
fmul dword [0x68a854]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x14]
fstp st(3)
fild dword [esp + 0x80]
fmul dword [0x68a854]
fstp st(4)
fld st(3)
fstp st(1)
fld dword [eax + 4]
fstp st(2)
fld st(0)
fsub st(2)
fcomp dword [0x68a844]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4667e0
fld st(3)
fsub st(2)
fchs
jmp 0x4667e4
fld st(3)
fsub st(2)
fstp st(4)
fld dword [esi]
fstp st(2)
fld st(2)
fsub st(2)
fcomp dword [0x68a844]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x466806
fld st(2)
fsub st(2)
fchs
jmp 0x46680a
fld st(2)
fsub st(2)
fstp st(3)
fld st(2)
fadd st(4)
fstp st(2)
fld st(1)
fcomp dword [0x68a860]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4669f8
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], ebx
lea edx, [ebp + 0x10]
jmp 0x4669e6
mov eax, dword [esp + 0x18]
movsx edi, word [eax + 0x9b6e70]
add edi, dword [esp + 0x20]
movzx ecx, word [edi*2 + 0x9f17e4]
mov eax, ecx
and eax, 0x8000
je 0x4669e2
and ecx, 0x3fff
mov eax, ecx
movsx eax, ax
lea eax, [eax + eax*4]
lea eax, [eax*4]
add eax, 0x9b6e64
movsx eax, word [eax + 6]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x14]
fild dword [esp + 0x80]
fmul dword [0x68a854]
fstp st(4)
fld dword [eax + 4]
fstp st(3)
fld st(3)
fsub st(3)
fcomp dword [0x68a844]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4668f0
movsx eax, cx
lea eax, [eax + eax*4]
lea eax, [eax*4]
add eax, 0x9b6e64
movsx eax, word [eax + 6]
mov dword [esp + 0x80], eax
fild dword [esp + 0x80]
fmul dword [0x68a854]
fstp st(4)
fld st(3)
fsub st(3)
fchs
jmp 0x466920
movsx eax, cx
lea eax, [eax + eax*4]
lea eax, [eax*4]
add eax, 0x9b6e64
movsx eax, word [eax + 6]
mov dword [esp + 0x80], eax
fild dword [esp + 0x80]
fmul dword [0x68a854]
fstp st(4)
fld st(3)
fsub st(3)
fstp st(4)
movsx ecx, cx
lea ecx, [ecx + ecx*4]
lea ecx, [ecx*4]
add ecx, 0x9b6e64
mov eax, ecx
movsx eax, word [eax + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x1c]
fild dword [esp + 0x80]
fmul dword [0x68a854]
fstp st(1)
fld dword [eax]
fstp st(3)
fld st(0)
fsub st(3)
fcomp dword [0x68a844]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x466990
movsx eax, word [ecx + 4]
mov dword [esp + 0x80], eax
fild dword [esp + 0x80]
fmul dword [0x68a854]
fst st(1)
fsub st(3)
fchs
jmp 0x4669ac
movsx eax, word [ecx + 4]
mov dword [esp + 0x80], eax
fild dword [esp + 0x80]
fmul dword [0x68a854]
fst st(1)
fsub st(3)
fstp st(3)
fld st(2)
fadd st(4)
fstp st(4)
fld st(1)
fcomp dword [0x68a884]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4669d8
fld st(3)
fcomp dword [0x68a884]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4669e2
or word [edi*2 + 0x9f17e4], 0x4000
inc dword [esp + 0x20]
mov cl, byte [edx]
and cl, 0xf
movzx eax, cl
cmp dword [esp + 0x20], eax
jb 0x466840
add ebp, 0x14
add ebx, 0x14
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, dword [0xa0a654]
jb 0x466776
fcompp
fcompp
cmp dword [esp + 0x34], 0
jne 0x466210
inc dword [esp + 0x3c]
inc dword [esp + 0x38]
cmp dword [esp + 0x3c], 0x50
jl 0x4661f0
inc dword [esp + 0x44]
add dword [esp + 0x40], 0x50
cmp dword [esp + 0x44], 0x50
jl 0x4661e0
add esp, 0xb8
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
fcompp
jmp 0x466707
fcompp
fcompp
jmp 0x466707
fcompp
fcompp
jmp 0x466707
fcompp
fcompp
jmp 0x46670b
fcompp
fcompp
jmp 0x466721