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

Disassembly:
push ebx
push esi
push edi
push ebp
mov eax, dword [0x64ed4c]
sub esp, 0x128
mov ebp, 0x64e208
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], 0
cmp byte [ebp + 0x24], 0
mov ebx, ebp
fldz
je 0x55ac64
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x55a192
cmp dword [0x885b48], eax
jbe 0x55ac68
mov dword [ebp + 0x2c], 0
fld dword [ebp + 0x30]
fst st(1)
fcomp dword [0x602d5c]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x55ac70
mov byte [esp + 0x10], 1
mov edi, dword [ebp]
cmp edi, 2
mov bl, 1
mov dl, 1
mov cl, 1
mov al, 1
je 0x55a141
cmp edi, 4
je 0x55a141
xor dl, dl
test dl, dl
jne 0x55a14c
cmp edi, 6
je 0x55a14c
xor al, al
test al, al
jne 0x55a157
cmp edi, 7
je 0x55a157
xor cl, cl
test cl, cl
jne 0x55a165
cmp edi, 8
je 0x55a165
mov byte [esp + 0x10], 0
cmp byte [esp + 0x10], 0
jne 0x55a173
cmp edi, 9
je 0x55a173
xor bl, bl
mov eax, dword [ebp + 0x18]
push ebx
push eax
push eax
fst dword [esp]
lea eax, [ebp + 4]
push dword [ebp + 0x10]
push eax
fstp st(0)
call fcn.004b1140
add esp, 0x14
jmp 0x55ac24
fld dword [ebp + 0x14]
fmul dword [0x8e2cb4]
fadd dword [ebp + 0x10]
fstp dword [ebp + 0x10]
lea esi, [ebp + 4]
lea edi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [0x885b48]
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], eax
fild qword [esp + 0x30]
fsubr dword [ebp + 0x20]
fnstcw word [esp + 0x1c]
mov eax, dword [esp + 0x1c]
or byte [esp + 0x1d], 0xc
fldcw word [esp + 0x1c]
mov dword [esp + 0x1c], eax
fistp dword [esp + 0x30]
fldcw word [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebp]
cmp eax, 9
mov edx, dword [ebp]
ja case.default.0x55a1f7
jmp dword [eax*4 + 0x602e34]
cmp dword [esp + 0x14], 0xdac
jge 0x55a322
movzx eax, byte [ebp + 0x24]
and eax, 1
je 0x55ac57
cmp dword [ebp + 0x1c], 0
je 0x55ac41
fstp st(0)
call fcn.005a41d0
and eax, 0xffff
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0xc8], 0
fild dword [esp + 0x30]
push 0
push 0
fmul dword [0x602dd0]
push 0
push 0
fmul dword [0x602dd4]
push ecx
push eax
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 0
fadd dword [0x602dd8]
fstp dword [esp]
mov eax, dword [ebp + 0x1c]
lea esi, [esp + 0xe0]
add eax, 0x34
push 0
push esi
push eax
push 0x31
call fcn.0050d190
add esp, 0x28
call fcn.005a41d0
lea esi, [ebp + 4]
lea edi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
and eax, 0xffff
push 0
push 0
push 0
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x60]
fadd dword [0x602ddc]
lea edi, [esp + 0x48]
mov dword [esp + 0x40], eax
push edi
push eax
fstp dword [esp + 0x68]
fild dword [esp + 0x48]
mov dword [esp + 0xf4], 0x3de147ae
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
fmul dword [0x602dd0]
fmul dword [0x602de0]
fadd dword [0x602dd8]
fstp dword [esp]
lea eax, [esp + 0x60]
lea edx, [esp + 0xec]
push 0
push edx
push eax
push 0x31
call fcn.0050d190
add esp, 0x28
jmp 0x55ac0d
cmp dword [ebp + 0x1c], 0
je 0x55ac48
cmp dword [ebp + 0x34], 0
jne 0x55ac50
fstp st(0)
call fcn.005a41d0
movzx eax, ax
and eax, 0xf
jne 0x55a38a
mov edi, dword [ebp + 0x1c]
mov ebx, 0xe
cmp dword [edi + 0x284], 5
jne 0x55a358
mov bl, 3
mov ecx, edi
push ebx
mov esi, dword [ecx]
call dword [esi + 0x50]
test al, al
je 0x55a38a
mov ecx, edi
lea eax, [esp + 0x54]
mov esi, dword [ecx]
push eax
push ebx
call dword [esi + 0x4c]
lea eax, [esp + 0x54]
push dword [0x602d5c]
push dword [0x602dd8]
push eax
call fcn.0050f760
add esp, 0xc
mov eax, dword [0x885b48]
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], eax
fild qword [esp + 0x30]
fcomp dword [ebp + 0x28]
fnstsw ax
test ah, 0x45
jne 0x55a495
call fcn.005a41d0
movzx edx, ax
mov eax, dword [0x885b48]
add eax, 0x7d
and edx, 0x7f
add edx, eax
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fstp dword [ebp + 0x28]
mov eax, dword [ebp + 0x1c]
lea edi, [esp + 0x60]
add eax, 0x34
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.005a41d0
movzx edi, ax
xor esi, esi
and edi, 1
inc edi
test edi, edi
jle 0x55a495
lea eax, [esp + 0x38]
mov dword [esp + 0xe0], 0
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe4], 0
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x74]
push dword [0x602d78]
push 0
push ecx
push eax
push 0x21
mov dword [esp + 0x110], 0
call fcn.0050d190
lea eax, [esp + 0x60]
add esp, 0x28
mov dword [esp + 0xec], 0
lea edx, [esp + 0xec]
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x74]
push dword [0x602d6c]
push 0
push edx
push eax
push 0x22
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
call fcn.0050d190
inc esi
add esp, 0x28
cmp esi, edi
jl 0x55a3f2
mov eax, dword [0x9412ec]
and eax, 1
je 0x55a540
mov dword [esp + 0x100], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
push 1
push 0
push dword [0x602d5c]
push dword [0x602d5c]
push dword [0x602ddc]
push dword [0x602de4]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [esp + 0x68]
push 0
call fcn.00510790
mov eax, dword [0x5faf44]
add esp, 0x34
push dword [0x602d5c]
push 0
push 0
push 1
push 1
push eax
lea eax, [esp + 0x54]
push dword [0x602de8]
push dword [0x602d70]
push eax
push 0xff
push 0
push 0x64
push 0xc8
jmp 0x55a573
mov eax, dword [0x5faf44]
push dword [0x602d5c]
push 0
push 0
push 1
push 1
push eax
lea eax, [esp + 0x54]
push dword [0x602de8]
push dword [0x602d60]
push eax
push 0xff
push 0
push 0
push 0x80
push ebp
call fcn.004fa0e0
add esp, 0x38
mov eax, dword [0x5faf60]
push dword [0x602d5c]
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x54]
push dword [0x602de8]
push dword [ebp + 0x10]
push eax
mov eax, ebp
inc eax
push 0xff
push 0
push 0xf
push 0x1e
push eax
call fcn.004fa0e0
add esp, 0x38
jmp 0x55ac0d
mov eax, dword [0x9412ec]
and eax, 1
je 0x55a670
mov dword [esp + 0x10c], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
push 1
push 0
push dword [0x602dd8]
push dword [0x602ddc]
push dword [0x602ddc]
push dword [0x602dec]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [esp + 0x68]
push 0
fstp st(0)
call fcn.00510790
mov eax, dword [0x5faf44]
add esp, 0x34
push dword [0x602d5c]
push 0
push 0
push 1
push 1
push eax
lea eax, [esp + 0x54]
push dword [0x602df0]
push dword [0x602d60]
push eax
push 0xff
push 0xc8
push 0xff
push 0xff
push ebp
jmp 0x55a6a9
mov eax, dword [0x5faf44]
push dword [0x602d5c]
push 0
push 0
push 1
push 1
push eax
lea eax, [esp + 0x54]
fstp st(0)
push dword [0x602df0]
push dword [0x602d60]
push eax
push 0xff
push 0x64
push 0x80
push 0x80
push ebp
call fcn.004fa0e0
add esp, 0x38
mov eax, dword [0x5faf60]
push dword [0x602d5c]
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x54]
push dword [0x602df0]
push dword [ebp + 0x10]
push eax
mov eax, ebp
inc eax
push 0xff
push 0x19
push 0x1e
push 0x1e
push eax
call fcn.004fa0e0
add esp, 0x38
jmp 0x55ac0d
lea esi, [ebp + 4]
lea edi, [esp + 0x6c]
movsd dword es:[edi], dword [esi]
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x18]
push eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
push dword [0x602d70]
push eax
mov eax, dword [esp + 0x7c]
push eax
mov dword [esp + 0x3c], eax
push dword [esp + 0x7c]
call fcn.004b3d30
mov eax, dword [ebp + 0x18]
add esp, 0x14
push eax
push dword [0x602d70]
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [esp + 0x7c]
call fcn.004b3e90
mov al, byte [ebp + 0x24]
add esp, 0x14
cmp al, 0xa
jae 0x55ac0d
cmp al, 1
jne 0x55a7af
lea esi, [ebp + 4]
lea edi, [esp + 0xa4]
movsd dword es:[edi], dword [esi]
push 0
push 0
push 1
push 0
push 0
push 0
movsd dword es:[edi], dword [esi]
push 1
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xc8]
fadd dword [0x602d4c]
lea eax, [esp + 0x94]
lea edi, [esp + 0xbc]
push edi
push eax
lea eax, [esp + 0xc8]
fstp dword [esp + 0xd0]
push dword [0x602df4]
push eax
call fcn.004b0de0
fld dword [esp + 0xac]
add esp, 0x2c
fstp dword [ebp + 0x38]
mov al, byte [ebp + 0x24]
mov dword [esp], 0
and eax, 0xff
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fmul dword [0x602df8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fnstcw word [esp + 0x1c]
mov eax, dword [esp + 0x1c]
or byte [esp + 0x1d], 0xc
fldcw word [esp + 0x1c]
mov dword [esp + 0x1c], eax
fistp dword [esp + 0x30]
fldcw word [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edx, eax
mov dword [esp + 4], eax
mov ecx, edx
lea eax, [ecx + edx*4]
test eax, eax
mov dword [esp + 4], eax
jle 0x55ac0d
lea eax, [eax]
call fcn.005a41d0
movzx eax, ax
fldz
fldz
and eax, 0xff
lea edi, [esp + 0xb0]
mov dword [esp + 0x30], eax
lea esi, [ebx + 4]
fild dword [esp + 0x30]
fmul dword [0x602dfc]
movsd dword es:[edi], dword [esi]
fstp st(2)
fld st(1)
fsin
fnstsw ax
movsd dword es:[edi], dword [esi]
test eax, 0x400
movsd dword es:[edi], dword [esi]
je 0x55a852
call fcn.005a0cb0
fsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp st(1)
fld dword [esp + 0x20]
fmul st(1)
fadd dword [esp + 0xb0]
fstp dword [esp + 0xb0]
fld st(1)
fcos
fnstsw ax
test eax, 0x400
je 0x55a884
call fcn.005a0cb0
fcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp st(2)
fld dword [esp + 0x20]
fmul st(2)
fadd dword [esp + 0xb4]
fstp dword [esp + 0xb4]
fld dword [esp + 0xb8]
fadd dword [0x602d4c]
fstp dword [esp + 0xb8]
fld dword [0x602dd8]
fadd dword [ebx + 0x38]
fstp dword [esp + 0xb8]
fcompp
call fcn.005a41d0
mov esi, eax
call fcn.005a41d0
and eax, 0xffff
and esi, 0xffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x110], 0
fild dword [esp + 0x30]
push 0
push 0
fmul dword [0x602dd0]
lea edx, [esp + 0x118]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
fmul dword [0x602e00]
fnstcw word [esp + 0x24]
mov eax, dword [esp + 0x24]
or byte [esp + 0x25], 0xc
fldcw word [esp + 0x24]
mov dword [esp + 0x24], eax
fistp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], esi
fldcw word [esp + 0x24]
fild dword [esp + 0x38]
add eax, 0xffffff4c
push eax
fmul dword [0x602dd0]
fmul dword [0x602d70]
fnstcw word [esp + 0x28]
mov eax, dword [esp + 0x28]
or byte [esp + 0x29], 0xc
fldcw word [esp + 0x28]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x44]
fistp dword [esp + 0x3c]
fldcw word [esp + 0x28]
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffffd
push ecx
push eax
lea eax, [esp + 0xc4]
push dword [0x602d5c]
push 0
push edx
push eax
push 0x21
call fcn.0050d190
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
add esp, 0x28
cmp eax, dword [esp + 4]
jl 0x55a810
jmp 0x55ac0d
mov al, byte [ebp + 0x24]
cmp al, 5
jae 0x55ac60
and eax, 0xff
xor edi, edi
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fmul dword [0x602e04]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fnstcw word [esp + 0x1c]
mov eax, dword [esp + 0x1c]
or byte [esp + 0x1d], 0xc
fldcw word [esp + 0x1c]
mov dword [esp + 0x1c], eax
fistp dword [esp + 0x30]
mov eax, dword [esp + 0x30]
fldcw word [esp + 0x1c]
mov edx, eax
mov dword [esp + 8], eax
mov ecx, edx
lea eax, [ecx + edx*4]
mov dword [esp + 8], eax
add eax, eax
test eax, eax
mov dword [esp + 8], eax
fstp st(0)
jle 0x55ac0d
mov eax, eax
call fcn.005a41d0
movzx eax, ax
and eax, 0xff
add eax, 0xffffff80
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fstp dword [esp + 0xbc]
call fcn.005a41d0
movzx eax, ax
and eax, 0xff
add eax, 0xffffff80
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fstp dword [esp + 0xc0]
call fcn.005a41d0
movzx eax, ax
lea ecx, [esp + 0xbc]
and eax, 0x7f
inc eax
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fstp dword [esp + 0xc4]
call fcn.004ba560
movzx eax, byte [ebx + 0x24]
fldz
inc eax
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fmul dword [esp + 0x24]
fmul dword [0x602e08]
fstp st(1)
fld dword [esp + 0xbc]
fmul st(1)
fstp dword [esp + 0xbc]
fld dword [esp + 0xc0]
fmul st(1)
fstp dword [esp + 0xc0]
fld dword [esp + 0xc4]
fmul st(1)
fstp dword [esp + 0xc4]
fld dword [esp + 0xbc]
fadd dword [ebx + 4]
fstp dword [esp + 0xbc]
fld dword [esp + 0xc0]
fadd dword [ebx + 8]
fstp dword [esp + 0xc0]
fld dword [esp + 0xc4]
fadd dword [ebx + 0xc]
fstp dword [esp + 0xc4]
fld dword [esp + 0xc4]
fadd dword [0x602dd8]
fstp dword [esp + 0xc4]
fstp st(0)
call fcn.005a41d0
mov esi, eax
call fcn.005a41d0
and eax, 0xffff
and esi, 0xffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x11c], 0
fild dword [esp + 0x30]
push 0
push 0
fmul dword [0x602dd0]
lea edx, [esp + 0x124]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
fmul dword [0x602e00]
fnstcw word [esp + 0x24]
mov eax, dword [esp + 0x24]
or byte [esp + 0x25], 0xc
fldcw word [esp + 0x24]
mov dword [esp + 0x24], eax
fistp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], esi
fldcw word [esp + 0x24]
fild dword [esp + 0x38]
add eax, 0xffffff4c
push eax
fmul dword [0x602dd0]
fmul dword [0x602d70]
fnstcw word [esp + 0x28]
mov eax, dword [esp + 0x28]
or byte [esp + 0x29], 0xc
fldcw word [esp + 0x28]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x44]
fistp dword [esp + 0x3c]
fldcw word [esp + 0x28]
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffffd
push ecx
push eax
lea eax, [esp + 0xd0]
push dword [0x602d5c]
push 0
push edx
push eax
push 0x22
call fcn.0050d190
inc edi
add esp, 0x28
cmp edi, dword [esp + 8]
jl 0x55aa20
jmp 0x55ac0d
push 0x602d94
fstp st(0)
call fcn.00475e00
pop ecx
cmp dword [esp + 0x14], 0
jle 0x55ac20
inc byte [ebp + 0x24]
jmp 0x55ac24
mov byte [ebp + 0x24], 0
inc dword [esp + 0x18]
add ebp, 0x3c
cmp dword [esp + 0x18], 0x30
jl 0x55a0e0
add esp, 0x128
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x55a296
fstp st(0)
jmp 0x55a495
fstp st(0)
jmp 0x55a495
fstp st(0)
jmp 0x55ac0d
fstp st(0)
jmp 0x55ac0d
fstp st(0)
jmp 0x55ac24
fstp st(0)
jmp 0x55ac24
fstp st(0)
jmp 0x55ac24