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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x168
mov ebp, dword [esp + 0x17c]
fldz
fld dword [0x5f8444]
fstp dword [esp + 0x30]
movsx edx, word [ebp + 0x5c]
mov ebx, ecx
lea edi, [esp + 0x84]
mov eax, dword [edx*4 + 0x83d408]
mov edx, dword [eax + 0x1c]
mov ecx, edx
lea esi, [ecx + 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [edx + 0x20]
lea edi, [esp + 0x90]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
fld dword [esp + 0x50]
fadd dword [esp + 0x54]
lea edi, [esp + 0x9c]
fstp st(1)
fld dword [esp + 0x84]
fadd dword [esp + 0x90]
fmul dword [0x5f84b0]
fstp dword [esp + 0x108]
fld dword [0x5f84b0]
fmul st(1)
fstp dword [esp + 0x10c]
fld dword [esp + 0x8c]
fadd dword [esp + 0x98]
lea esi, [esp + 0x108]
fmul dword [0x5f84b0]
fstp dword [esp + 0x110]
movsd dword es:[edi], dword [esi]
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 4]
lea ecx, [esp + 0xb4]
push eax
call fcn.004b8d70
fldz
fld dword [ebp + 0x14]
fchs
fld dword [ebp + 0x18]
fpatan
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fst st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x54]
fsub dword [esp + 0x50]
mov byte [esp + 0x10], 0
mov byte [esp], 0
mov byte [esp + 0xc], 0
fmul dword [0x5f8470]
fstp dword [esp + 0x38]
mov eax, dword [ebx + 0x22c]
cmp eax, 1
je 0x4ccfca
test eax, eax
jne 0x4ccfe5
lea ecx, [esp + 0xb4]
fstp st(0)
call fcn.004b8db0
add esp, 0x168
pop ebp
pop edi
pop esi
pop ebx
ret 4
cmp byte [ebx + 0x160], 2
je 0x4cd061
movsx ecx, word [ebp + 0x5c]
movzx edi, word [0x5f59bc]
cmp edi, ecx
jne 0x4cd061
add eax, 0xfffffffd
mov byte [esp + 4], 1
cmp eax, 1
jbe 0x4cd00f
mov byte [esp + 4], 0
mov ecx, ebx
push 0x1388
push ebp
fstp st(0)
call fcn.004d1d70
mov al, byte [ebx + 0x157]
and al, 0xdf
or al, 0x20
mov byte [ebx + 0x157], al
mov dword [ebx + 0x2bc], 0
cmp byte [esp + 4], 0
jne 0x4cd048
mov ecx, ebx
push 2
call fcn.004c5a30
lea ecx, [esp + 0xb4]
call fcn.004b8db0
add esp, 0x168
pop ebp
pop edi
pop esi
pop ebx
ret 4
fld dword [esp + 0x84]
fsub dword [0x5f85fc]
fstp dword [esp + 0x84]
fld dword [esp + 0x88]
fsub dword [0x5f85fc]
fstp dword [esp + 0x88]
fld dword [esp + 0x90]
fadd dword [0x5f85fc]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fadd dword [0x5f85fc]
fstp dword [esp + 0x94]
fld dword [esp + 0x38]
fcomp dword [0x5f84b0]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cd0cf
fld dword [0x5f84b0]
fstp dword [esp + 0x38]
fld dword [esp + 0x98]
fsub dword [esp + 0x8c]
fmul dword [0x5f84b0]
fstp st(1)
fld dword [esp + 0x38]
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x4cd0f6
fst dword [esp + 0x38]
fld dword [esp + 0x90]
fsub dword [esp + 0x84]
fmul dword [0x5f84b0]
fstp st(1)
fld dword [esp + 0x38]
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x4cd11d
fst dword [esp + 0x38]
lea edx, [esp + 0xd4]
fld dword [edx + 8]
fst st(1)
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cd13e
mov byte [esp + 0xc], 1
movsx ecx, word [ebp + 0x5c]
movzx eax, word [0x5f5958]
cmp eax, ecx
je 0x4cd167
movzx eax, word [0x5f595c]
cmp eax, ecx
je 0x4cd167
movzx eax, word [0x5f5960]
cmp eax, ecx
jne 0x4cd320
fld dword [0x5f83fc]
fstp dword [esp + 0x38]
fcom dword [0x5f8600]
fnstsw ax
test ah, 0x45
jne 0x4cd1f0
fld dword [esp + 0x90]
fsub dword [0x5f8508]
fstp dword [esp + 0x9c]
lea eax, [esp + 0x9c]
lea esi, [ebp + 4]
push eax
lea eax, [esp + 0x118]
push esi
push eax
fstp st(0)
call fcn.004ba4d0
fld dword [0x5f85e8]
mov eax, dword [esp + 0x120]
add esp, 0xc
mov edx, dword [esp + 0x118]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0xa0], edx
fstp dword [esp + 0x30]
mov dword [esp + 0xa4], eax
jmp 0x4cd314
fld dword [esp + 0x88]
fstp st(1)
fld dword [esp + 0x84]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cd215
fld dword [esp + 0x84]
fstp st(1)
fld dword [0x5f8454]
fmul st(1)
fstp dword [esp + 0x84]
fld dword [esp + 0x94]
fstp st(1)
fld dword [esp + 0x90]
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x4cd246
fld dword [esp + 0x90]
fstp st(1)
fld dword [0x5f8454]
fmul st(1)
fstp dword [esp + 0x90]
fld dword [0x5f8454]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x88]
fld dword [0x5f8454]
fmul dword [esp + 0x98]
fstp dword [esp + 0x94]
fld dword [0x5f8498]
fmul dword [edx]
fld dword [edx + 4]
fpatan
fstp dword [esp + 0x78]
mov edi, dword [esp + 0x78]
lea ecx, [esp + 0xb4]
mov eax, edi
fstp st(0)
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], edi
call fcn.004b9010
lea ecx, [esp + 0xb4]
push dword [esp + 0x44]
call fcn.004b9640
lea edx, [ebp + 0x34]
mov eax, edx
fld dword [eax + 4]
fld dword [eax + 8]
fld dword [esp + 0xe4]
fadd dword [eax]
fstp dword [esp + 0xe4]
fld dword [esp + 0xe8]
fadd st(2)
fstp dword [esp + 0xe8]
fld dword [esp + 0xec]
fadd st(1)
fstp dword [esp + 0xec]
fld dword [edx]
fstp dword [esp + 0x9c]
fld dword [edx + 4]
fstp dword [esp + 0xa0]
fld dword [edx + 8]
fstp dword [esp + 0xa4]
fcompp
mov byte [esp + 0xc], 0
jmp 0x4cd368
lea eax, [esp + 0x9c]
lea ecx, [ebp + 4]
push eax
lea eax, [esp + 0x124]
push ecx
push eax
fstp st(0)
call fcn.004ba4d0
mov eax, dword [esp + 0x12c]
add esp, 0xc
mov esi, dword [esp + 0x124]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], eax
fldz
fldz
fld dword [ebx + 0x2e0]
mov dword [esp + 0x14], ebx
add dword [esp + 0x14], 4
add dword [esp + 0x14], 0x30
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x2c]
fld dword [esp + 0xa4]
fsub dword [eax + 8]
fstp st(1)
fld dword [esp + 0xa0]
fsub dword [eax + 4]
fstp st(2)
fld dword [esp + 0x9c]
fsub dword [eax]
fstp dword [esp + 0x9c]
fld st(1)
fstp dword [esp + 0xa0]
fst dword [esp + 0xa4]
fld dword [esp + 0x9c]
fchs
fld dword [esp + 0xa0]
fpatan
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fld dword [esp + 0x34]
mov dword [esp + 0x48], eax
push eax
fsub dword [esp + 0x4c]
fstp dword [esp]
fcompp
call fcn.0048cb90
mov eax, dword [esp + 0x98]
pop ecx
fstp dword [esp + 0x3c]
fld dword [esp + 0x90]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x88]
fsub dword [esp + 0x84]
fld dword [esp + 0x5c]
mov dword [esp + 0x68], ecx
fsub dword [esp + 0x68]
fpatan
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.004d48e0
test al, al
je 0x4cd470
call fcn.004a1150
fld dword [eax + 0x544]
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4cd466
call fcn.004a1150
fld dword [0x5f8548]
fdiv dword [eax + 0x544]
jmp 0x4cd4ad
fld dword [0x5f8438]
jmp 0x4cd4ad
mov eax, dword [ebx + 0x22c]
mov edi, dword [ebx + 0x22c]
sub eax, 2
cmp eax, 2
ja case.default.0x4cd484
jmp dword [eax*4 + 0x5f88e0]
fld dword [0x5f84b0]
fstp dword [esp + 0x40]
jmp 0x4cd4b1
fld dword [0x5f84b0]
jmp 0x4cd4ad
fld dword [0x5f8548]
jmp 0x4cd4ad
fld dword [0x5f8438]
fstp dword [esp + 0x40]
cmp dword [ebx + 0x30c], ebp
jne 0x4cd4ff
mov al, byte [ebp + 0x50]
and al, 7
cmp al, 2
jne 0x4cd4ff
mov eax, dword [ebx + 0x164]
cmp eax, 0xf
je 0x4cd4d7
cmp eax, 0xe
je 0x4cd4d7
cmp eax, 0x1c
jne 0x4cd4ff
mov ecx, ebx
mov byte [esp], 1
call fcn.004d48e0
test al, al
je 0x4cd4f0
fld dword [0x5f8438]
fstp dword [esp + 0x40]
mov al, byte [ebp + 0x1f6]
and al, 1
je 0x4cd4ff
mov byte [esp + 0x10], 1
mov ecx, dword [0x885b48]
mov byte [esp + 0x18], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov eax, dword [ebx + 0x348]
cmp ecx, eax
ja 0x4cd52f
cmp dword [ebx + 0x344], ebp
je 0x4cddb9
mov byte [esp + 8], 1
mov al, byte [ebp + 0x50]
and al, 7
cmp al, 2
jne 0x4cd8d8
cmp byte [esp + 0xc], 0
jne 0x4cd8d8
fld dword [0x5f8604]
fmul dword [esp + 0x38]
lea edx, [esp + 0xb4]
mov dword [esp + 0x104], 0
fstp dword [esp + 0x58]
fld dword [esp + 0x84]
fadd dword [esp + 0x58]
fstp dword [esp + 0x6c]
fld dword [esp + 0x5c]
fsub dword [esp + 0x58]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xfc], eax
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x100], eax
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0x130]
push edx
push eax
call fcn.004ba4d0
mov eax, dword [esp + 0x138]
add esp, 0xc
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x104], eax
mov edi, dword [esp + 0x130]
fld dword [esp + 0x104]
fadd dword [0x5f8608]
mov dword [esp + 0x100], edi
push 0
fstp dword [esp + 0x108]
push 0
push 1
push 0
push 1
push 1
push ebp
push dword [esp + 0x54]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x124]
call fcn.004b4710
add esp, 0x2c
test eax, eax
je 0x4cd646
mov al, byte [eax + 0x50]
and al, 7
cmp al, 1
jne 0x4cd636
mov byte [esp + 0x18], 1
jmp 0x4cd646
cmp al, 2
jne 0x4cd641
mov byte [esp + 0x18], 2
jmp 0x4cd646
mov byte [esp + 0x18], 3
fld dword [esp + 0x90]
fsub dword [esp + 0x58]
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xb4]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], 0
fstp dword [esp + 0x64]
mov esi, dword [esp + 0x64]
mov dword [esp + 0xfc], esi
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0x13c]
push ecx
push eax
call fcn.004ba4d0
mov eax, dword [esp + 0x144]
add esp, 0xc
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x104], eax
mov edx, dword [esp + 0x13c]
fld dword [esp + 0x104]
fadd dword [0x5f8608]
mov dword [esp + 0x100], edx
push 0
fstp dword [esp + 0x108]
push 0
push 1
push 0
push 1
push 1
push ebp
push dword [esp + 0x54]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x124]
call fcn.004b4710
add esp, 0x2c
test eax, eax
je 0x4cd726
mov al, byte [eax + 0x50]
and al, 7
cmp al, 1
jne 0x4cd716
mov byte [esp + 0x1c], 1
jmp 0x4cd726
cmp al, 2
jne 0x4cd721
mov byte [esp + 0x1c], 2
jmp 0x4cd726
mov byte [esp + 0x1c], 3
fld dword [esp + 0x68]
fadd dword [esp + 0x58]
mov eax, dword [esp + 0x64]
lea esi, [esp + 0xb4]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x104], 0
fstp dword [esp + 0x70]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x100], eax
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0x148]
push esi
push eax
call fcn.004ba4d0
mov eax, dword [esp + 0x150]
add esp, 0xc
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x148]
fld dword [esp + 0x104]
fadd dword [0x5f8608]
mov dword [esp + 0x100], ecx
push 0
fstp dword [esp + 0x108]
push 0
push 1
push 0
push 1
push 1
push ebp
push dword [esp + 0x54]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x124]
call fcn.004b4710
add esp, 0x2c
test eax, eax
je 0x4cd805
mov al, byte [eax + 0x50]
and al, 7
cmp al, 1
jne 0x4cd7f3
mov byte [esp + 0x20], 1
jmp 0x4cd805
cmp al, 2
jne 0x4cd800
mov byte [esp + 0x20], 2
jmp 0x4cd805
mov byte [esp + 0x20], 3
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x100], eax
mov dword [esp + 0xfc], edi
lea eax, [esp + 0xfc]
lea edx, [esp + 0xb4]
push eax
lea eax, [esp + 0x154]
push edx
push eax
mov dword [esp + 0x110], 0
call fcn.004ba4d0
mov eax, dword [esp + 0x15c]
add esp, 0xc
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x104], eax
mov esi, dword [esp + 0x154]
fld dword [esp + 0x104]
fadd dword [0x5f8608]
mov dword [esp + 0x100], esi
push 0
fstp dword [esp + 0x108]
push 0
push 1
push 0
push 1
push 1
push ebp
push dword [esp + 0x54]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x124]
call fcn.004b4710
add esp, 0x2c
test eax, eax
je 0x4cd8dd
mov al, byte [eax + 0x50]
and al, 7
cmp al, 1
jne 0x4cd8c6
mov byte [esp + 0x24], 1
jmp 0x4cd8dd
cmp al, 2
jne 0x4cd8d1
mov byte [esp + 0x24], 2
jmp 0x4cd8dd
mov byte [esp + 0x24], 3
jmp 0x4cd8dd
mov byte [esp + 8], 0
cmp byte [esp + 0x18], 0
fldz
je 0x4cd914
cmp byte [esp + 0x1c], 0
je 0x4cd914
cmp byte [esp + 0x20], 0
je 0x4cd914
cmp byte [esp + 0x24], 0
je 0x4cd914
mov byte [esp + 8], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x20], 0
cmp byte [esp + 8], 0
jne 0x4cd930
mov word [ebx + 0x2ea], 0
jmp 0x4ce640
fld dword [esp + 0x3c]
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cd950
fld dword [esp + 0x3c]
fchs
jmp 0x4cd954
fld dword [esp + 0x3c]
fstp st(1)
fcom dword [esp + 0x4c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cda24
cmp byte [esp], 0
je 0x4cd989
mov ax, word [ebx + 0x2e8]
cmp ax, 0xf
je 0x4ce620
cmp ax, 0x10
je 0x4ce627
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x4cd9e8
mov al, byte [esp + 0x24]
cmp al, 1
je 0x4cd9d5
cmp byte [esp + 0x24], 0
je 0x4cdd78
cmp byte [esp + 0x1c], 0
jne 0x4cdd78
cmp byte [esp + 0x20], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 2
jmp 0x4cdd81
mov al, byte [esp + 0x20]
cmp al, 1
je 0x4cda11
cmp byte [esp + 0x20], 0
je 0x4cdd78
cmp byte [esp + 0x18], 0
jne 0x4cdd78
cmp byte [esp + 0x24], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 1
jmp 0x4cdd81
fld dword [esp + 0x3c]
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cda40
fld dword [esp + 0x3c]
fchs
jmp 0x4cda44
fld dword [esp + 0x3c]
fstp st(1)
fld dword [0x5f848c]
fsub dword [esp + 0x4c]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cdb20
cmp byte [esp], 0
je 0x4cda81
mov ax, word [ebx + 0x2e8]
cmp ax, 0xf
je 0x4ce630
cmp ax, 0x10
je 0x4ce637
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
and ah, 5
cmp ah, 1
jne 0x4cdae2
cmp byte [esp + 0x18], 1
je 0x4cdacf
cmp byte [esp + 0x18], 0
je 0x4cdd78
cmp byte [esp + 0x1c], 0
jne 0x4cdd78
cmp byte [esp + 0x20], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 3
jmp 0x4cdd81
mov al, byte [esp + 0x1c]
cmp al, 1
je 0x4cdb0b
cmp byte [esp + 0x1c], 0
je 0x4cdd78
cmp byte [esp + 0x18], 0
jne 0x4cdd78
cmp byte [esp + 0x24], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 4
jmp 0x4cdd81
fld dword [esp + 0x3c]
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4cdb38
cmp byte [esp + 0xc], 0
je 0x4cdb58
fld dword [esp + 0x3c]
fcomp dword [0x5f8438]
fnstsw ax
test ah, 5
jne 0x4cdc80
cmp byte [esp + 0xc], 0
je 0x4cdc80
cmp byte [esp], 0
je 0x4cdb80
mov ax, word [ebx + 0x2e8]
cmp ax, 0xf
je 0x4cdb71
cmp ax, 0x10
jne 0x4cdb80
mov word [ebx + 0x2ea], 0
jmp 0x4ce647
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x4cdc10
cmp byte [esp + 0x18], 1
je 0x4cdbbf
cmp byte [esp + 0x18], 0
je 0x4cdbd0
cmp byte [esp + 0x20], 0
jne 0x4cdbd0
cmp byte [esp + 0x24], 0
jne 0x4cdbd0
mov word [ebx + 0x2ea], 3
jmp 0x4cdd81
mov al, byte [esp + 0x1c]
cmp al, 1
je 0x4cdbf9
cmp byte [esp + 0x1c], 0
je 0x4cdd78
cmp byte [esp + 0x20], 0
jne 0x4cdd78
cmp byte [esp + 0x24], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 3
jmp 0x4cdd81
mov al, byte [esp + 0x24]
cmp al, 1
je 0x4cdc2d
cmp byte [esp + 0x24], 0
je 0x4cdc40
cmp byte [esp + 0x18], 0
jne 0x4cdc40
cmp byte [esp + 0x1c], 0
jne 0x4cdc40
mov word [ebx + 0x2ea], 2
jmp 0x4cdd81
mov al, byte [esp + 0x20]
cmp al, 1
je 0x4cdc69
cmp byte [esp + 0x20], 0
je 0x4cdd78
cmp byte [esp + 0x18], 0
jne 0x4cdd78
cmp byte [esp + 0x1c], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 2
jmp 0x4cdd81
cmp byte [esp], 0
je 0x4cdca7
mov ax, word [ebx + 0x2e8]
cmp ax, 0xb
je 0x4cdc99
cmp ax, 0xc
jne 0x4cdca7
mov word [ebx + 0x2ea], 0
jmp 0x4ce650
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
and ah, 5
cmp ah, 1
jne 0x4cdd21
mov al, byte [esp + 0x1c]
cmp al, 1
je 0x4cdcea
cmp byte [esp + 0x1c], 0
je 0x4cdcf8
cmp byte [esp + 0x20], 0
jne 0x4cdcf8
cmp byte [esp + 0x24], 0
jne 0x4cdcf8
mov word [ebx + 0x2ea], 4
jmp 0x4cdd81
cmp byte [esp + 0x18], 1
je 0x4cdd14
cmp byte [esp + 0x18], 0
je 0x4cdd78
cmp byte [esp + 0x20], 0
jne 0x4cdd78
cmp byte [esp + 0x24], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 4
jmp 0x4cdd81
mov al, byte [esp + 0x20]
cmp al, 1
je 0x4cdd3e
cmp byte [esp + 0x20], 0
je 0x4cdd50
cmp byte [esp + 0x18], 0
jne 0x4cdd50
cmp byte [esp + 0x1c], 0
jne 0x4cdd50
mov word [ebx + 0x2ea], 1
jmp 0x4cdd81
mov al, byte [esp + 0x24]
cmp al, 1
je 0x4cdd6d
cmp byte [esp + 0x24], 0
je 0x4cdd78
cmp byte [esp + 0x18], 0
jne 0x4cdd78
cmp byte [esp + 0x1c], 0
jne 0x4cdd78
mov word [ebx + 0x2ea], 1
jmp 0x4cdd81
mov word [ebx + 0x2ea], 0
mov dword [ebx + 0x344], ebp
lea eax, [ebx + 0x344]
mov ecx, dword [ebx + 0x344]
push eax
call fcn.004a7480
call fcn.005a41d0
movzx ecx, ax
mov eax, dword [0x885b48]
add eax, 0x200
and ecx, 0xff
add ecx, eax
mov dword [ebx + 0x348], ecx
fldz
fld dword [esp + 0x3c]
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cddd7
fld dword [esp + 0x3c]
fchs
jmp 0x4cdddb
fld dword [esp + 0x3c]
fstp st(1)
fcom dword [esp + 0x4c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cdfb3
cmp byte [esp], 0
je 0x4cdee0
cmp byte [esp + 0x10], 0
je 0x4cde30
mov ax, word [ebx + 0x2e8]
cmp ax, 0x10
je 0x4cde13
cmp ax, 0xc
jne 0x4cde30
lea ecx, [esp + 0xb4]
fstp st(0)
call fcn.004b8db0
add esp, 0x168
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov ax, word [ebx + 0x2e8]
cmp ax, 0xf
je 0x4cde51
cmp ax, 0x10
je 0x4cde51
cmp byte [esp + 0x20], 0
je 0x4cde96
cmp byte [esp + 0x24], 0
jne 0x4cde96
fld dword [0x5f84a4]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x88]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
fld dword [esp + 0x34]
fsub dword [0x5f84a4]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x94]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
mov ax, word [ebx + 0x2ea]
cmp ax, 1
je 0x4ce657
cmp ax, 4
je 0x4ce660
test ax, ax
jne 0x4ce667
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x4cdf70
fld dword [0x5f84a4]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x88]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
fld dword [esp + 0x34]
fsub dword [0x5f84a4]
push eax
fstp dword [esp]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x94]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
fld dword [esp + 0x3c]
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cdfd0
fld dword [esp + 0x3c]
fchs
jmp 0x4cdfd4
fld dword [esp + 0x3c]
fstp st(1)
fld dword [0x5f848c]
fsub dword [esp + 0x4c]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4ce170
cmp byte [esp], 0
je 0x4ce0c7
cmp byte [esp + 0x10], 0
je 0x4ce01c
mov ax, word [ebx + 0x2e8]
cmp ax, 0x10
je 0x4ce0c7
cmp ax, 0xc
je 0x4ce0c7
mov ax, word [ebx + 0x2e8]
cmp ax, 0xf
je 0x4ce03d
cmp ax, 0x10
je 0x4ce03d
cmp byte [esp + 0x1c], 0
je 0x4ce082
cmp byte [esp + 0x18], 0
jne 0x4ce082
fld dword [0x5f84a4]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x88]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
fld dword [esp + 0x34]
fsub dword [0x5f84a4]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x94]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
mov ax, word [ebx + 0x2ea]
cmp ax, 2
je 0x4ce670
cmp ax, 3
je 0x4ce677
test ax, ax
jne 0x4ce680
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x4ce127
fld dword [esp + 0x34]
fsub dword [0x5f84a4]
push eax
fstp dword [esp]
call fcn.0048cb90
pop ecx
jmp 0x4ce3ec
fld dword [0x5f84a4]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x88]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
fld dword [esp + 0x3c]
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4ce2d3
cmp byte [esp], 0
je 0x4ce1f0
cmp byte [esp + 0x10], 0
je 0x4ce1f0
mov ax, word [ebx + 0x2e8]
cmp ax, 0x10
je 0x4ce1a5
cmp ax, 0xc
jne 0x4ce1f0
fld dword [0x5f848c]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x88]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
cmp byte [esp], 0
je 0x4ce230
mov ax, word [ebx + 0x2e8]
cmp ax, 0xf
je 0x4ce210
cmp ax, 0x10
jne 0x4ce230
cmp byte [esp + 0x10], 0
jne 0x4ce230
lea ecx, [esp + 0xb4]
fstp st(0)
call fcn.004b8db0
add esp, 0x168
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov ax, word [ebx + 0x2ea]
cmp ax, 1
je 0x4ce687
cmp ax, 2
je 0x4ce690
test ax, ax
jne 0x4ce697
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x4ce290
fld dword [esp + 0x34]
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x84]
jmp 0x4ce3f9
fld dword [0x5f848c]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x88]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
cmp byte [esp], 0
je 0x4ce338
cmp byte [esp + 0x10], 0
je 0x4ce338
mov ax, word [ebx + 0x2e8]
cmp ax, 0xc
je 0x4ce2f3
cmp ax, 0x10
jne 0x4ce338
fld dword [0x5f848c]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x94]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
jmp 0x4ce416
cmp byte [esp], 0
je 0x4ce373
mov ax, word [ebx + 0x2e8]
cmp ax, 0xb
je 0x4ce358
cmp ax, 0xc
jne 0x4ce373
cmp byte [esp + 0x10], 0
jne 0x4ce373
lea ecx, [esp + 0xb4]
fstp st(0)
call fcn.004b8db0
add esp, 0x168
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov ax, word [ebx + 0x2ea]
cmp ax, 4
je 0x4ce6a0
cmp ax, 3
je 0x4ce6a7
test ax, ax
jne 0x4ce6b0
fld dword [ebx + 0x2e0]
fsub dword [esp + 0x48]
push eax
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fcomp dword [0x5f8438]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x4ce3e8
fld dword [0x5f848c]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x94]
pop ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x68]
jmp 0x4ce404
fld dword [esp + 0x34]
fstp dword [ebx + 0x2e0]
mov eax, dword [esp + 0x90]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
cmp byte [esp + 0xc], 0
je 0x4ce431
fld dword [esp + 0xa8]
fmul dword [0x5f8498]
fstp dword [esp + 0xa8]
lea eax, [esp + 0xa8]
lea edx, [esp + 0xb4]
push eax
lea eax, [esp + 0x160]
push edx
push eax
call fcn.004ba4d0
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x170]
fldz
fld dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], ecx
fstp dword [ebx + 0x218]
fld dword [esp + 0xb8]
fstp dword [ebx + 0x21c]
mov eax, dword [esp + 0x20]
add esp, 0xc
fld dword [esp + 0xa8]
fsub dword [eax]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0xa8]
fld dword [esp + 0xac]
fsub dword [eax + 4]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0xac]
fld dword [esp + 0xb0]
fsub dword [eax + 8]
fstp dword [esp + 0xb0]
fld dword [esp + 0xa8]
fchs
fld dword [esp + 0xac]
fpatan
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp st(1)
push eax
fst dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
fld dword [ebx + 0x2e0]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fcomp dword [ebx + 0x2dc]
fnstsw ax
pop ecx
and ah, 0x44
cmp ah, 0x40
jne 0x4ce560
mov al, byte [ebx + 0x155]
shr al, 6
and al, 1
je 0x4ce560
fld dword [esp + 0x74]
fcomp dword [esp + 0x2c]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x4ce546
fld dword [esp + 0x2c]
jmp 0x4ce55a
fld dword [0x5f848c]
fadd dword [esp + 0x34]
push eax
fstp dword [esp]
call fcn.0048cb90
pop ecx
fstp dword [ebx + 0x2e0]
fldz
fldz
fld dword [esp + 0xac]
fstp st(2)
fld st(1)
fmul st(0)
fld dword [esp + 0xa8]
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fst st(1)
fstp st(2)
fcom dword [0x5f84b0]
fnstsw ax
test ah, 4
jne 0x4ce5a7
and ah, 0x45
test ah, 0x41
je 0x4ce5a7
fld dword [0x5f84b0]
fstp st(2)
fld st(1)
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x45
jne 0x4ce5ba
fld dword [esp + 0x30]
fstp st(2)
mov eax, dword [0x885b48]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], eax
fild qword [esp + 0x78]
fld dword [0x5f860c]
fmul st(3)
fmul dword [esp + 0x40]
faddp st(1)
fnstcw word [esp + 0x28]
mov eax, dword [esp + 0x28]
or byte [esp + 0x29], 0xc
fldcw word [esp + 0x28]
mov dword [esp + 0x28], eax
fistp qword [esp + 0x78]
fldcw word [esp + 0x28]
fcompp
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x220], eax
lea ecx, [esp + 0xb4]
call fcn.004b8db0
add esp, 0x168
pop ebp
pop edi
pop esi
pop ebx
ret 4
fstp st(0)
jmp 0x4cd9ac
fstp st(0)
jmp 0x4cd9ac
fstp st(0)
jmp 0x4cdaa7
fstp st(0)
jmp 0x4cdaa7
fstp st(0)
jmp 0x4cdd81
fstp st(0)
jmp 0x4cdd81
fstp st(0)
jmp 0x4cdd81
fstp st(0)
jmp 0x4cdf27
fstp st(0)
jmp 0x4cdf27
fstp st(0)
jmp 0x4cdf70
fstp st(0)
jmp 0x4ce10e
fstp st(0)
jmp 0x4ce10e
fstp st(0)
jmp 0x4ce127
fstp st(0)
jmp 0x4ce277
fstp st(0)
jmp 0x4ce277
fstp st(0)
jmp 0x4ce290
fstp st(0)
jmp 0x4ce3ba
fstp st(0)
jmp 0x4ce3ba
fstp st(0)
jmp 0x4ce3e8