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

Disassembly:
push ebx
push esi
mov ebx, ecx
push edi
push ebp
xor dl, dl
sub esp, 0x2d0
mov cl, byte [ebx + 0x124]
test cl, cl
jle 0x4c8935
movsx eax, cl
cmp eax, dword [0x8f6250]
je 0x4c8935
mov dl, 1
test dl, dl
je 0x4c8944
add esp, 0x2d0
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [ebx + 0x4c]
push eax
call fcn.00528f70
mov dl, byte [ebx + 0x15a]
pop ecx
shr dl, 7
test dl, dl
je 0x4c8966
sub eax, 8
test eax, eax
jge 0x4c897c
xor eax, eax
jmp 0x4c897c
cmp eax, 0xff
jge 0x4c897c
add eax, 0x10
cmp eax, 0xff
jle 0x4c897c
mov eax, 0xff
push eax
mov eax, dword [ebx + 0x4c]
push eax
call fcn.00528f50
mov al, byte [ebx + 0x156]
pop ecx
and al, 0xbf
pop ecx
mov ecx, ebx
mov byte [ebx + 0x156], al
call fcn.004c5350
mov al, byte [ebx + 0x122]
mov ecx, ebx
and al, 0xf7
mov byte [ebx + 0x122], al
call fcn.004c7ff0
mov eax, dword [ebx + 0x224]
cmp eax, 0x38
jne 0x4c89c8
add esp, 0x2d0
pop ebp
pop edi
pop esi
pop ebx
ret
cmp eax, 0x31
jne 0x4c8d30
mov ecx, ebx
call fcn.0053cdf0
cmp byte [0x5f4dd4], 0
fldz
je 0x4cb960
mov eax, dword [0x885b48]
mov dword [esp + 0x10], eax
sub eax, dword [ebx + 0x4ec]
cmp eax, 0x7d0
mov dword [esp + 0x10], eax
jae 0x4c8a10
fld dword [0x5f8438]
jmp 0x4c8a54
cmp dword [esp + 0x10], 0x1b58
jbe 0x4c8a22
fld dword [0x5f8510]
jmp 0x4c8a54
mov ebp, dword [esp + 0x10]
mov dword [esp + 0xa4], 0
add ebp, 0xfffff830
mov eax, ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa0], eax
fild qword [esp + 0xa0]
fmul dword [0x5f8514]
fstp st(1)
fld st(0)
fmul st(0)
xor esi, esi
fstp dword [esp + 0x78]
jmp 0x4cb957
movzx edi, si
mov edx, dword [ebx + edi*4 + 0x4f4]
mov eax, dword [edx + 0x224]
cmp eax, 0x30
je 0x4c8bb1
cmp eax, 0x31
je 0x4c8bb1
add edx, 0x34
lea ecx, [ebx + 0x34]
fld dword [edx + 8]
fsub dword [ecx + 8]
push eax
fstp dword [esp]
fld dword [edx + 4]
fsub dword [ecx + 4]
push eax
fstp dword [esp]
fld dword [edx]
fsub dword [ecx]
push eax
fstp dword [esp]
lea ecx, [esp + 0x17c]
call fcn.0046b060
fld dword [esp + 0x174]
fld st(0)
fmul st(0)
fld dword [esp + 0x170]
fmul st(0)
faddp st(1)
fld dword [esp + 0x178]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [esp + 0x78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb950
mov eax, dword [ebx + edi*4 + 0x4f4]
mov dword [eax + 0x4ec], 0xc8
mov edx, dword [ebx + edi*4 + 0x4f4]
mov al, byte [edx + 0x158]
and al, 0xbf
or al, 0x40
mov byte [edx + 0x158], al
mov ecx, dword [ebx + edi*4 + 0x4f4]
fstp st(0)
call fcn.004d48e0
test al, al
je 0x4c8bb1
mov ebp, dword [ebx + edi*4 + 0x4f4]
mov al, byte [ebp + 0x154]
shr al, 4
and al, 1
jne 0x4c8bb1
cmp dword [ebp + 0x224], 0x10
je 0x4c8bb1
movzx eax, byte [0x6fad6e]
imul eax, eax, 0x1a4
mov cx, word [eax + 0x6faea8]
cmp cx, 7
je 0x4c8bb1
cmp cx, 8
je 0x4c8bb1
cmp cx, 0x22
je 0x4c8bb1
cmp cx, 0x10
je 0x4c8bb1
cmp cx, 0x2c
je 0x4c8bb1
mov ecx, 0x6facf8
add ecx, eax
add ecx, 0x1a4
call fcn.004583e0
test al, al
jne 0x4c8bb1
mov ecx, dword [ebx + edi*4 + 0x4f4]
push 1
push ebx
call fcn.004c6460
mov ecx, dword [ebx + edi*4 + 0x4f4]
push 0x1f4
call fcn.004d12e0
inc esi
cmp si, word [ebx + 0x51c]
jb 0x4c8a65
cmp dword [esp + 0x10], 0x7d0
jbe 0x4c8d0f
lea eax, [ebx + 0x34]
lea edi, [esp + 0xa8]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
add eax, 0xfffff830
cmp eax, 0x1388
jae 0x4c8cb0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0xa4], 0
add ebp, 0xfffff830
mov eax, ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa0], eax
fild qword [esp + 0xa0]
push dword [0x5f8438]
push 0
fmul dword [0x5f8518]
push dword [0x5f843c]
push dword [0x5f8440]
push dword [0x5f8448]
push 0
push 0
push 0xff
push 0xff
push eax
fstp dword [esp]
add dword [esp + 0x38], 0xfffff830
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 0
fild qword [esp + 0xc8]
push dword [0x5f8438]
push dword [0x5f8438]
fmul dword [0x5f8514]
push eax
fstp dword [esp]
mov eax, dword [0x9415f8]
lea ecx, [esp + 0xdc]
push ecx
push eax
lea eax, [ebx + 0x11]
push 1
push eax
call fcn.005130a0
add esp, 0x44
jmp 0x4c8d0f
cmp byte [ebx + 0x4f1], 0
jne 0x4c8d0f
mov eax, dword [0x9415f8]
lea edx, [esp + 0xa8]
push dword [0x5f8440]
push 0x9c40
push dword [0x5f8448]
push 0
push 0
push 0xff
push 0xff
push dword [0x5f851c]
push dword [0x5f8438]
push dword [0x5f8438]
push dword [0x5f8510]
push edx
push eax
push 1
call fcn.00512fd0
add esp, 0x38
mov byte [ebx + 0x4f1], 1
mov ecx, ebx
call fcn.004e5850
test al, al
je 0x4c8d21
mov ecx, ebx
call fcn.004e5870
add esp, 0x2d0
pop ebp
pop edi
pop esi
pop ebx
ret
mov al, byte [ebx + 0x154]
and al, 0xfd
mov byte [ebx + 0x154], al
mov al, byte [ebx + 0x154]
and al, 1
je 0x4c8d80
cmp byte [0x95cd6c], 0
jne 0x4c8d80
mov edi, dword [ebx + 0x2ec]
test edi, edi
je 0x4c8d80
mov al, byte [edi + 0x51]
shr al, 6
and al, 1
je 0x4c8d80
mov al, byte [ebx + 0x52]
and al, 0xfe
or al, 1
mov byte [ebx + 0x52], al
add esp, 0x2d0
pop ebp
pop edi
pop esi
pop ebx
ret
mov ecx, ebx
call fcn.004ce6c0
test al, al
je 0x4c8dd3
cmp dword [ebx + 0x238], 0
jne 0x4c8dd3
fld dword [0x5f849c]
fmul dword [0x8e2cb4]
fcomp dword [ebx + 0x108]
fnstsw ax
test ah, 0x45
jne 0x4c8dd3
mov eax, dword [ebx + 0x230]
cmp eax, 2
je 0x4c8dc2
cmp eax, 3
je 0x4c8dc2
cmp eax, 4
jne 0x4c8dd3
cmp byte [ebx + 0x4f0], 0x32
jae 0x4c8dda
inc byte [ebx + 0x4f0]
jmp 0x4c8dda
mov byte [ebx + 0x4f0], 0
fld dword [ebx + 0x2c0]
fcomp dword [0x5f8440]
fnstsw ax
test ah, 4
jne 0x4c8e2d
and ah, 0x45
test ah, 0x41
je 0x4c8e2d
cmp dword [ebx + 0x224], 0x22
jg 0x4c8e2d
mov al, byte [ebx + 0x155]
shr al, 3
and al, 1
jne 0x4c8e2d
mov al, byte [ebx + 0x155]
shr al, 4
and al, 1
jne 0x4c8e2d
mov ecx, ebx
push dword [0x5f8438]
push dword [0x5f8448]
push 0xd
call fcn.004d37d0
mov al, byte [ebx + 0x15b]
and al, 0xdf
mov byte [ebx + 0x15b], al
mov al, byte [ebx + 0x51]
and al, 1
je 0x4cae00
fld dword [ebx + 0x10c]
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4cae00
cmp dword [ebx + 0x224], 0x30
je 0x4cae00
mov eax, dword [ebx + 0x110]
test eax, eax
mov dword [esp], eax
je 0x4cae00
cmp byte [ebx + 0x4f0], 0x32
jne 0x4c8eb0
mov ecx, ebx
call fcn.004ce6c0
test al, al
je 0x4c8eb0
mov ecx, ebx
push 0
push 0xc
call fcn.004d58d0
cmp dword [ebx + 0x32c], 6
jne 0x4ca1a9
jmp 0x4ca1a9
mov eax, dword [esp]
mov dl, byte [eax + 0x50]
and dl, 7
movzx eax, dl
fldz
dec eax
cmp eax, 3
ja case.default.0x4c8ec8
jmp dword [eax*4 + 0x5f8854]
mov ebp, dword [esp]
lea edx, [ebp + 0x78]
fld dword [edx + 4]
fst st(1)
fmul st(0)
fld dword [edx]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fld dword [edx + 8]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fstp dword [esp + 0x54]
cmp ebp, dword [ebx + 0x310]
jne 0x4c8f0d
mov al, byte [ebx + 0x15b]
and al, 0xdf
or al, 0x20
mov byte [ebx + 0x15b], al
fld dword [esp + 0x54]
fcomp dword [0x5f8520]
fnstsw ax
test ah, 0x45
jne 0x4c9443
mov eax, dword [ebp + 0x64]
mov ecx, 0x95cdbe
push dword [ebx + 0x10c]
push 0x92
push eax
fstp st(0)
call fcn.0057c840
mov ecx, ebx
call fcn.004d48e0
test al, al
je 0x4c9430
fld dword [ebp + 0x14]
fchs
fld dword [ebp + 0x18]
fpatan
fstp dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x58], eax
movsx edi, word [ebp + 0x5c]
mov esi, dword [edi*4 + 0x83d408]
lea edi, [esp + 0xb4]
mov eax, dword [esi + 0x1c]
lea esi, [eax + 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsx ecx, word [ebp + 0x5c]
lea edi, [esp + 0xc0]
mov edx, dword [ecx*4 + 0x83d408]
mov eax, dword [edx + 0x1c]
lea esi, [eax + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xc0]
lea edi, [esp + 0xb4]
push eax
lea eax, [esp + 0x18c]
push edi
push eax
call fcn.0046af30
lea eax, [esp + 0x188]
add esp, 0xc
lea esi, [esp + 0x188]
push dword [0x5f84b0]
push esi
push eax
call fcn.004cbaf0
lea esi, [esp + 0x188]
lea edi, [esp + 0xd8]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xcc]
lea ecx, [ebp + 4]
push eax
lea eax, [esp + 0x198]
push ecx
push eax
call fcn.004ba4d0
lea eax, [esp + 0x1a0]
add esp, 0xc
lea ecx, [esp + 0xcc]
push eax
call fcn.0046b0a0
lea eax, [esp + 0x1a0]
lea edi, [ebx + 0x34]
lea edx, [esp + 0xcc]
push edi
push edx
push eax
call fcn.0046afb0
lea eax, [esp + 0x1ac]
add esp, 0xc
lea ecx, [esp + 0xcc]
push eax
call fcn.0046b0a0
fldz
fld dword [esp + 0xcc]
fchs
fld dword [esp + 0xd0]
fpatan
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(1)
fld dword [esp + 0x58]
push eax
fsub st(1)
fstp dword [esp]
fstp st(0)
call fcn.0048cb90
fstp dword [esp + 0x1c]
fld dword [esp + 0xc4]
fsub dword [esp + 0xb8]
fld dword [esp + 0xc8]
fsub dword [esp + 0xbc]
pop ecx
fpatan
fstp dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x5c], eax
lea esi, [ebp + 0x34]
fld dword [edi + 8]
fsub dword [esi + 8]
push eax
fstp dword [esp]
fld dword [edi + 4]
fsub dword [esi + 4]
push eax
fstp dword [esp]
fld dword [edi]
fsub dword [esi]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1b8]
call fcn.0046b060
lea esi, [esp + 0x1ac]
lea edi, [esp + 0xd8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xd8]
call fcn.004ba560
fldz
fld dword [esp + 0x18]
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fst st(1)
fcomp dword [esp + 0x5c]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4c9151
fld dword [esp + 0x18]
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(1)
fld dword [0x5f848c]
fsub dword [esp + 0x5c]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c9180
fld dword [esp + 0xdc]
lea ecx, [ebp + 0x78]
fmul dword [ecx + 4]
fld dword [esp + 0xd8]
fmul dword [ecx]
faddp st(1)
fld dword [esp + 0xe0]
fmul dword [ecx + 8]
faddp st(1)
fstp dword [esp + 0x1c]
jmp 0x4c933c
fld dword [esp + 0x18]
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4c9292
fld dword [0x5f8498]
lea edx, [ebp + 4]
push eax
fmul dword [edx + 8]
lea edi, [ebp + 0x78]
fstp dword [esp]
fld dword [0x5f8498]
fmul dword [edx + 4]
push eax
fstp dword [esp]
fld dword [0x5f8498]
fmul dword [edx]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1c4]
fstp st(0)
call fcn.0046b060
fldz
fld dword [esp + 0x1bc]
fmul dword [edi + 4]
fld dword [esp + 0x1b8]
fmul dword [edi]
faddp st(1)
fld dword [esp + 0x1c0]
fmul dword [edi + 8]
faddp st(1)
fst st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x54]
fcomp dword [0x5f8524]
fnstsw ax
test ah, 0x45
jne 0x4c933c
fcom dword [0x5f8470]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c933c
lea ecx, [ebp + 4]
lea esi, [ebx + 0x14]
fld dword [ecx + 4]
fmul dword [esi + 4]
fld dword [ecx]
fmul dword [esi]
faddp st(1)
fld dword [ecx + 8]
fmul dword [esi + 8]
faddp st(1)
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4c933c
fld dword [esp + 0xdc]
lea edx, [ebp + 0x78]
fmul dword [edx + 4]
fld dword [esp + 0xd8]
fmul dword [edx]
faddp st(1)
fld dword [esp + 0xe0]
fmul dword [edx + 8]
faddp st(1)
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4c933c
mov ecx, ebx
push 1
push ebp
fstp st(0)
call fcn.004d30c0
jmp 0x4cb967
lea ecx, [ebp + 4]
lea edi, [ebp + 0x78]
fld dword [ecx + 4]
fmul dword [edi + 4]
fld dword [ecx]
fmul dword [edi]
faddp st(1)
fld dword [ecx + 8]
fmul dword [edi + 8]
faddp st(1)
fst st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x54]
fcomp dword [0x5f8524]
fnstsw ax
test ah, 0x45
jne 0x4c933c
fcom dword [0x5f8470]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c933c
lea edx, [ebp + 4]
lea esi, [ebx + 0x14]
fld dword [edx + 4]
fmul dword [esi + 4]
fld dword [edx]
fmul dword [esi]
faddp st(1)
fld dword [edx + 8]
fmul dword [esi + 8]
faddp st(1)
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c933c
fld dword [esp + 0xdc]
lea ecx, [ebp + 0x78]
fmul dword [ecx + 4]
fld dword [esp + 0xd8]
fmul dword [ecx]
faddp st(1)
fld dword [esp + 0xe0]
fmul dword [ecx + 8]
faddp st(1)
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4c933c
mov ecx, ebx
push 1
push ebp
fstp st(0)
call fcn.004d30c0
fldz
fld dword [esp + 0x1c]
fcomp dword [0x5f8470]
fnstsw ax
test ah, 0x45
jne 0x4c9400
mov al, byte [ebx + 0x154]
mov ecx, ebx
and al, 0xfe
mov byte [ebx + 0x154], al
fld dword [ebp + 0x7c]
fchs
fstp st(1)
fld dword [ebp + 0x78]
fchs
fstp dword [esp + 0xe4]
lea eax, [esp + 0xe4]
push eax
fst dword [esp + 0xec]
fstp st(0)
call fcn.004cce20
mov dword [esp + 8], eax
add eax, 0x19
mov ecx, ebx
push 0
push eax
push 0x3e8
call fcn.004d09b0
mov ecx, dword [ebp + 0x1a4]
test ecx, ecx
je 0x4c93c0
call fcn.004d48e0
test al, al
je 0x4c93c0
fld dword [esp + 0x1c]
fmul dword [0x5f8528]
jmp 0x4c93d7
movsx eax, word [ebp + 0x5c]
cmp eax, 0x7c
jne 0x4c93d1
fld dword [0x5f842c]
jmp 0x4c93d7
fld dword [0x5f8424]
fstp dword [esp + 0x1c]
mov ecx, ebx
push dword [esp + 8]
push 0
push dword [esp + 0x24]
push 0x10
push dword [esp + 0x10]
call fcn.004ea420
mov ecx, ebx
push 0x62
call fcn.004e5a10
jmp 0x4ca1a9
cmp dword [ebx + 0x224], 0x11
je 0x4cb9a5
mov ecx, ebx
push 1
push dword [esp + 4]
fstp st(0)
call fcn.004c6460
mov ecx, ebx
push 0x2bc
call fcn.004d12e0
jmp 0x4ca1a9
mov ecx, ebx
push dword [ebx + 0x10c]
push ebp
call fcn.004ec430
jmp 0x4ca1a9
mov ecx, ebx
fstp st(0)
call fcn.004ce6c0
test al, al
je 0x4c9534
mov ecx, ebx
call fcn.004d48e0
test al, al
je 0x4c9478
mov eax, dword [ebx + 0x164]
cmp eax, 0x15
je 0x4c9478
cmp eax, 0xf
je 0x4c9478
cmp eax, 0x16
jne 0x4c9534
mov al, byte [ebx + 0x155]
shr al, 7
test al, al
jne 0x4ca1a9
mov cl, byte [ebp + 0x50]
shr cl, 3
movzx eax, cl
test eax, eax
jne 0x4c9527
cmp byte [ebx + 0x160], 2
je 0x4c9527
movzx edx, byte [0x95cd61]
mov ecx, dword [0x885b48]
imul edx, edx, 0x4f
mov eax, dword [edx*4 + 0x9413ac]
cmp ecx, eax
jae 0x4c9503
mov eax, ecx
mov esi, dword [ebx + 0x220]
cmp esi, eax
jae 0x4c9503
cmp dword [ebx + 0x33c], ebp
je 0x4ca1a9
mov ecx, ebx
push 0xfa0
push ebp
call fcn.004d1d70
mov al, byte [ebx + 0x157]
mov ecx, ebx
and al, 0xdf
push 2
mov byte [ebx + 0x157], al
call fcn.004c5a30
jmp 0x4ca1a9
mov ecx, ebx
push ebp
call fcn.004cceb0
movzx edx, byte [0x95cd61]
mov eax, dword [ebx + 0x220]
imul edx, edx, 0x4f
mov dword [edx*4 + 0x9413ac], eax
jmp 0x4ca1a9
mov ecx, ebx
push ebp
call fcn.004cceb0
jmp 0x4ca1a9
mov ecx, ebx
call fcn.004d48e0
test al, al
je 0x4ca1a9
mov al, byte [ebx + 0x155]
shr al, 3
and al, 1
jne 0x4ca1a9
mov ecx, ebx
mov dword [esp + 4], ebx
call fcn.004ce6c0
test al, al
je 0x4c9640
mov eax, dword [esp + 4]
fld dword [0x5f8438]
fcomp dword [eax + 0x544]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x4c9640
mov eax, dword [esp + 4]
mov al, byte [eax + 0x154]
shr al, 4
and al, 1
jne 0x4c9640
mov eax, dword [esp + 4]
mov edi, dword [0x885b48]
mov eax, dword [eax + 0x4cc]
cmp edi, eax
jbe 0x4c9640
cmp dword [ebp + 0x1a4], 0
je 0x4c9640
mov ecx, dword [esp + 4]
push 0
call fcn.004f3700
mov ecx, dword [esp + 4]
push 1
push dword [esp + 4]
call fcn.004c6460
mov ecx, dword [esp + 4]
push 0x514
call fcn.004d12e0
mov eax, dword [esp + 4]
movsx ecx, byte [eax + 0x498]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
add ecx, dword [esp + 4]
add ecx, 0x35c
mov eax, ecx
mov esi, dword [eax]
test esi, esi
je 0x4c9625
mov edx, dword [ecx]
mov eax, edx
cmp eax, 1
je 0x4c9625
cmp eax, 2
je 0x4c9625
cmp edx, 3
jne 0x4ca1a9
mov eax, dword [esp + 4]
mov cl, byte [eax + 0x15c]
and cl, 0xfe
or cl, 1
mov byte [eax + 0x15c], cl
jmp 0x4ca1a9
mov ecx, ebx
push 1
push dword [esp + 4]
call fcn.004c6460
mov ecx, ebx
push 0x1f4
call fcn.004d12e0
jmp 0x4ca1a9
mov ecx, ebx
push dword [esp]
fstp st(0)
call fcn.004eb9a0
mov ecx, dword [esp]
call fcn.004d48e0
test al, al
je 0x4ca1a9
mov ecx, ebx
push 0x85
call fcn.004e5a10
cmp dword [ebx + 0x22c], 1
jle 0x4ca1a9
mov ecx, dword [esp]
call fcn.004ce6c0
test al, al
je 0x4ca1a9
mov eax, dword [esp]
fld dword [eax + 0x544]
fcomp dword [0x5f8440]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4ca1a9
mov eax, dword [esp]
mov al, byte [eax + 0x154]
shr al, 4
and al, 1
jne 0x4ca1a9
mov eax, dword [esp]
mov esi, dword [0x885b48]
mov eax, dword [eax + 0x4cc]
cmp esi, eax
jbe 0x4ca1a9
mov ecx, dword [esp]
push 0
call fcn.004f3700
mov ecx, dword [esp]
push 1
push ebx
call fcn.004c6460
mov ecx, dword [esp]
push 0x514
call fcn.004d12e0
mov eax, dword [esp]
movsx ecx, byte [eax + 0x498]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
add ecx, dword [esp]
add ecx, 0x35c
mov eax, ecx
mov edi, dword [eax]
test edi, edi
je 0x4c9749
mov ebp, dword [ecx]
mov eax, ebp
cmp eax, 1
je 0x4c9749
cmp eax, 2
je 0x4c9749
cmp ebp, 3
jne 0x4ca1a9
mov eax, dword [esp]
mov dl, byte [eax + 0x15c]
and dl, 0xfe
or dl, 1
mov byte [eax + 0x15c], dl
jmp 0x4ca1a9
cmp dl, 4
jne 0x4c9774
mov eax, dword [esp]
cmp byte [eax + 0x17d], 4
jne 0x4c97b5
mov eax, dword [esp]
movsx ecx, word [eax + 0x5c]
mov eax, dword [ecx*4 + 0x83d408]
mov edi, dword [eax + 0x1c]
mov esi, edi
fld dword [esi + 0x20]
fcomp dword [0x5f844c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb970
fld dword [edi + 0x24]
fcomp dword [0x5f844c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb977
mov ecx, ebx
fstp st(0)
call fcn.004d48e0
test al, al
jne 0x4c97d1
mov ecx, ebx
push dword [esp]
call fcn.004cceb0
jmp 0x4ca1a9
mov ecx, ebx
call fcn.004d48e0
test al, al
fldz
fldz
jne 0x4cb990
lea esi, [ebx + 0x34]
push eax
fld dword [esi + 4]
fstp st(2)
fld dword [ebx + 0x118]
fadd st(2)
fstp dword [esp]
fld dword [esi]
fstp st(1)
push eax
fld dword [ebx + 0x114]
fadd st(1)
fstp dword [esp]
push eax
fld st(1)
fstp dword [esp]
push eax
fst dword [esp]
fcompp
call fcn.0048ca50
fstp dword [esp + 0x30]
fld dword [ebx + 0x2dc]
fsub dword [esp + 0x30]
add esp, 0x10
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c9850
fld dword [esp + 0x7c]
fchs
fstp dword [esp + 0x60]
jmp 0x4c9858
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x60], eax
fld dword [esp + 0x60]
mov eax, dword [esp + 0x60]
fcomp dword [0x5f848c]
mov dword [esp + 0x8c], eax
fnstsw ax
test ah, 0x45
jne 0x4c9885
fld dword [0x5f8494]
fsub dword [esp + 0x60]
fstp dword [esp + 0x8c]
push dword [ebx + 0x2e0]
call fcn.0048cb90
pop ecx
fstp dword [esp + 0x24]
mov ecx, dword [ebx + 0x16c]
test ecx, ecx
je 0x4c9990
mov eax, dword [ebx + 0x164]
cmp eax, 0xb
je 0x4c98b7
cmp eax, 7
jne 0x4c9990
call fcn.004d48e0
test al, al
je 0x4c9960
fld dword [esp + 0x8c]
fcomp dword [0x5f852c]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4c98e4
cmp byte [ebx + 0x4f0], 0xa
jbe 0x4c9960
mov ecx, ebx
push dword [esp]
call fcn.004d72f0
test al, al
je 0x4c9900
mov ecx, ebx
call fcn.004d73d0
jmp 0x4ca17f
cmp dword [ebx + 0x164], 7
je 0x4c9950
mov ecx, ebx
push 0
push 0x10
call fcn.004d58d0
mov dword [ebx + 0x2e4], 0
mov eax, dword [ebx + 0x16c]
mov ecx, ebx
push 1
push eax
call fcn.004c6460
mov ecx, ebx
push 0xbb8
call fcn.004d12e0
mov ecx, ebx
push 0x87
call fcn.004e5a10
jmp 0x4ca17f
mov ecx, ebx
push 0
push 0xd
call fcn.004d58d0
jmp 0x4ca17f
mov eax, dword [ebx + 0x16c]
mov dword [ebx + 0x4b8], eax
lea eax, [ebx + 0x4b8]
mov ecx, dword [ebx + 0x4b8]
push eax
call fcn.004a7480
mov ecx, ebx
call fcn.004d1390
jmp 0x4ca17f
cmp dword [ebx + 0x32c], 6
je 0x4c9a2c
fld dword [esp + 0x8c]
fcomp dword [0x5f8530]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c9a2c
cmp dword [ebx + 0x238], 0
jne 0x4c9a2c
mov eax, dword [ebx + 0x230]
cmp eax, 3
je 0x4c99cd
cmp eax, 4
jne 0x4c9a2c
fld dword [ebx + 0x11c]
fcomp dword [0x5f8534]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4c9a2c
mov eax, dword [ebx + 0x4c]
push 1
push eax
call fcn.004055c0
mov edi, eax
pop ecx
test edi, edi
pop ecx
jne 0x4c9a05
mov eax, dword [ebx + 0x4c]
push 2
push eax
call fcn.004055c0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4c9a2c
fld dword [edi + 0x18]
fcomp dword [0x5f8538]
fnstsw ax
test ah, 0x45
jne 0x4c9a2c
mov eax, dword [edi + 0x30]
and eax, 1
je 0x4c9a2c
mov ecx, ebx
push 0
push 9
call fcn.004d58d0
mov eax, dword [ebx + 0x224]
cmp eax, 8
fldz
jne 0x4c9a91
mov eax, dword [esp]
mov ecx, ebx
add eax, 0x34
fld dword [eax + 4]
fstp st(1)
fld dword [eax]
fstp dword [esp + 0xec]
lea eax, [esp + 0xec]
fst dword [esp + 0xf0]
push 0x1388
push eax
mov esi, dword [ebx + 0x340]
fstp st(0)
call fcn.004d1c40
cmp esi, dword [ebx + 0x340]
je 0x4ca17f
mov eax, dword [0x885b48]
add eax, 0x1f4
mov dword [ebx + 0x220], eax
jmp 0x4ca17f
cmp eax, 9
jne 0x4c9b80
fld dword [esp + 0x8c]
fcomp dword [0x5f853c]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4c9abe
cmp byte [ebx + 0x4f0], 0xa
jbe 0x4c9b80
mov eax, dword [0x885b48]
add eax, 0x9c4
mov dword [ebx + 0x348], eax
mov eax, dword [esp]
mov dword [ebx + 0x344], eax
lea eax, [ebx + 0x344]
mov ecx, dword [ebx + 0x344]
push eax
fstp st(0)
call fcn.004a7480
fld dword [0x5f848c]
fadd dword [ebx + 0x2dc]
push eax
push eax
fmul dword [0x5f8540]
fmul dword [0x5f8444]
fstp qword [esp]
call fcn.005a0c90
pop ecx
pop ecx
fstp dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x64], eax
lea eax, [esp + 0xf7]
fld dword [esp + 0x64]
fnstcw word [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
mov ecx, 0x8f6754
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
fistp dword [esp + 0xa4]
fldcw word [esp + 0x18]
mov eax, dword [esp + 0xa4]
lea ebp, [ebx + 0x2bc]
push eax
lea eax, [ebx + 0x2b8]
push ebp
push eax
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 1
call fcn.0042b9f0
jmp 0x4ca17f
fld dword [esp + 0x8c]
fcomp dword [0x5f8480]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb987
fld dword [0x5f8448]
fmul dword [ebx + 0x118]
push dword [0x5f8438]
push eax
fstp dword [esp]
fld dword [0x5f8448]
fmul dword [ebx + 0x114]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1dc]
fstp st(0)
call fcn.0046b060
mov ecx, esi
push eax
fld dword [ecx + 8]
fadd dword [esp + 0x1dc]
fstp dword [esp]
fld dword [ecx + 4]
fadd dword [esp + 0x1d8]
push eax
fstp dword [esp]
fld dword [ecx]
fadd dword [esp + 0x1d8]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1d0]
call fcn.0046b060
mov ecx, 0x8f6754
push 0
push 0
push dword [0x5f8544]
push 1
push dword [esp + 0x1dc]
push dword [esp + 0x1dc]
push dword [esp + 0x1dc]
call fcn.0042cc30
mov edx, dword [ebx + 0x164]
cmp edx, 7
fldz
fldz
je 0x4c9c49
cmp edx, 8
jne 0x4c9e30
fcompp
push dword [0x5f8438]
push dword [0x5f8438]
push dword [ebx + 0x118]
push dword [ebx + 0x114]
call fcn.0048ca50
fstp dword [esp + 0x38]
fld dword [ebx + 0x2dc]
fstp dword [esp + 0x90]
fld dword [esp + 0x38]
fcomp dword [esp + 0x90]
fnstsw ax
add esp, 0x10
and ah, 5
cmp ah, 1
jne 0x4c9c9f
fld dword [esp + 0x28]
fadd dword [0x5f8494]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fsub dword [esp + 0x80]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fcomp dword [0x5f848c]
fnstsw ax
test ah, 0x45
jne 0x4c9d00
fld dword [0x5f8494]
fsub dword [esp + 0x28]
fmul dword [0x5f84b0]
fsubr dword [esp + 0x80]
fstp dword [esp + 0x90]
fld dword [0x5f848c]
mov eax, dword [ebx + 0x330]
fmul dword [eax + 0x20]
fmul dword [0x5f8490]
fmul dword [0x5f8548]
fsubr dword [ebx + 0x2dc]
jmp 0x4c9d39
fld dword [0x5f84b0]
fmul dword [esp + 0x28]
fadd dword [esp + 0x80]
fstp dword [esp + 0x90]
fld dword [0x5f848c]
mov eax, dword [ebx + 0x330]
fmul dword [eax + 0x20]
fmul dword [0x5f8490]
fmul dword [0x5f8548]
fadd dword [ebx + 0x2dc]
fstp dword [ebx + 0x2dc]
mov eax, dword [0x885b48]
add eax, 0xc8
mov dword [ebx + 0x220], eax
cmp dword [ebx + 0x32c], 6
jne 0x4ca0b0
mov ecx, dword [ebx + 0x16c]
test ecx, ecx
je 0x4ca0b0
add ecx, 0x34
mov eax, ecx
push dword [esi + 4]
push dword [esi]
push dword [eax + 4]
push dword [ecx]
call fcn.0048ca50
add esp, 0x10
fstp dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0048cb90
pop ecx
fstp dword [esp + 0x94]
push dword [esp + 0x90]
call fcn.0048cb90
fstp dword [esp + 0x94]
fld dword [esp + 0x98]
fcomp dword [esp + 0x94]
fnstsw ax
pop ecx
and ah, 5
cmp ah, 1
jne 0x4c9dd6
fld dword [esp + 0x94]
fadd dword [0x5f8494]
fstp dword [esp + 0x94]
fld dword [esp + 0x94]
fsub dword [esp + 0x90]
fstp dword [esp + 0x94]
fld dword [esp + 0x94]
fcomp dword [0x5f854c]
fnstsw ax
test ah, 0x45
jne 0x4ca0b0
fld dword [esp + 0x94]
fcomp dword [0x5f8550]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4ca0b0
mov byte [ebx + 0x548], 1
jmp 0x4ca0b0
mov edx, dword [ebx + 0x224]
cmp edx, 6
je 0x4c9e44
cmp edx, 0x18
jne 0x4c9f20
shl eax, 5
fld dword [eax + 0x8f6758]
fstp dword [esp + 0x40]
fld dword [eax + 0x8f6754]
fstp dword [esp + 0x3c]
fcompp
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x48]
push dword [esp + 0x48]
call fcn.0048ca50
mov edi, esi
add esp, 0x10
fstp dword [esp + 0x90]
fld dword [edi + 4]
fstp dword [esp + 0x44]
fld dword [esp + 0x40]
fsub dword [esp + 0x44]
push eax
fstp dword [esp]
fld dword [esp + 0x40]
fsub dword [edi]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1e4]
call fcn.004cbad0
mov eax, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1dc]
push eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
fld dword [esi + 4]
fld dword [ebx + 0x304]
fsub st(1)
fstp dword [esp]
fld dword [ebx + 0x300]
fsub dword [esi]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1ec]
fstp st(0)
call fcn.004cbad0
fld dword [esp + 0x74]
fmul dword [esp + 0x1e8]
fld dword [esp + 0x70]
fmul dword [esp + 0x1e4]
faddp st(1)
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4ca0b0
fld dword [ebx + 0x2e0]
fstp dword [ebx + 0x2dc]
jmp 0x4ca1a9
cmp edx, 5
jne 0x4c9f60
mov ecx, 0x8f6754
shl eax, 5
fcompp
add ecx, eax
mov dword [ebx + 0x2bc], ecx
push dword [esi + 4]
push dword [esi]
push dword [eax + 0x8f6758]
push dword [eax + 0x8f6754]
call fcn.0048ca50
add esp, 0x10
fstp dword [esp + 0x90]
jmp 0x4ca0b0
shl eax, 5
mov ebp, eax
fld dword [ebp + 0x8f6754]
fstp st(1)
fld dword [0x5f8438]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x4c9fa8
fld dword [ebp + 0x8f6758]
fstp st(2)
fld dword [0x5f8438]
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x4c9fa8
fst dword [esp + 0x68]
fld st(1)
fstp dword [esp + 0x6c]
jmp 0x4cb980
fcompp
call fcn.005a41d0
mov edi, eax
call fcn.005a41d0
mov ebp, eax
lea eax, [ebx + 0x114]
push eax
lea eax, [esp + 0x208]
push dword [0x5f844c]
push eax
call fcn.0046af70
lea eax, [esp + 0x210]
add esp, 0xc
push eax
lea eax, [esp + 0x1fc]
push esi
push eax
call fcn.0046af30
add esp, 0xc
push eax
fld dword [esp + 0x204]
movzx eax, di
fadd dword [0x5f8438]
and eax, 0x1ff
fstp dword [esp]
mov dword [esp + 0xa4], eax
push eax
fild dword [esp + 0xa8]
movzx eax, bp
fmul dword [0x5f8554]
and eax, 0x1ff
fsub dword [0x5f8440]
fadd dword [esp + 0x204]
fstp dword [esp]
mov dword [esp + 0xa8], eax
push eax
fild dword [esp + 0xac]
fmul dword [0x5f8554]
fsub dword [0x5f8440]
fadd dword [esp + 0x204]
fstp dword [esp]
lea ecx, [esp + 0x1f8]
call fcn.0046b060
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0048ca50
add esp, 0x10
fstp dword [esp + 0x90]
cmp dword [ebx + 0x224], 0xb
je 0x4ca0b0
mov eax, dword [0x885b48]
add eax, 0x1f4
mov dword [ebx + 0x220], eax
push dword [esp + 0x90]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
fld dword [ebx + 0x2e0]
fstp dword [esp + 0x88]
fld dword [ebx + 0x2dc]
fstp dword [esp + 0x8c]
fld dword [0x5f848c]
fadd dword [esp + 0x8c]
pop ecx
fcomp dword [esp + 0x84]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4ca110
fld dword [ebx + 0x2e0]
fsub dword [0x5f8494]
jmp 0x4ca137
fld dword [esp + 0x88]
fsub dword [0x5f848c]
fcomp dword [esp + 0x84]
fnstsw ax
test ah, 0x45
jne 0x4ca13d
fld dword [ebx + 0x2e0]
fadd dword [0x5f8494]
fstp dword [ebx + 0x2e0]
fld dword [esp + 0x24]
fcomp dword [ebx + 0x2e0]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x4ca17f
mov eax, dword [ebx + 0x220]
mov edx, dword [0x885b48]
cmp edx, eax
jbe 0x4ca17f
lea eax, [edx + 0xc8]
mov dword [ebx + 0x220], eax
fld dword [ebx + 0x2e0]
fadd dword [0x5f84a4]
fstp dword [ebx + 0x2e0]
mov eax, dword [ebx + 0x224]
cmp eax, 5
je 0x4ca199
cmp eax, 9
je 0x4ca199
mov dword [ebx + 0x2bc], 0
mov al, byte [ebx + 0x155]
and al, 0xbf
or al, 0x40
mov byte [ebx + 0x155], al
mov al, byte [ebx + 0x155]
shr al, 3
and al, 1
jne 0x4ca27e
cmp dword [ebx + 0x224], 0x23
je 0x4ca27e
lea eax, [ebx + 0x114]
lea ecx, [esp + 0xf8]
push eax
call fcn.0046b0a0
mov dword [esp + 0x100], 0
mov al, byte [ebx + 0x154]
and al, 1
je 0x4ca226
fld dword [esp + 0xf8]
fmul dword [0x5f8448]
fstp dword [esp + 0xf8]
fld dword [esp + 0xfc]
fmul dword [0x5f8448]
fstp dword [esp + 0xfc]
fld dword [esp + 0x100]
fmul dword [0x5f8448]
jmp 0x4ca25b
fld dword [esp + 0xf8]
fmul dword [0x5f84b0]
fstp dword [esp + 0xf8]
fld dword [esp + 0xfc]
fmul dword [0x5f84b0]
fstp dword [esp + 0xfc]
fld dword [esp + 0x100]
fmul dword [0x5f84b0]
fstp dword [esp + 0x100]
mov ecx, ebx
push dword [esp + 0x100]
push dword [esp + 0x100]
push dword [esp + 0x100]
call fcn.004959a0
mov al, byte [ebx + 0x155]
shr al, 3
and al, 1
je 0x4cade5
mov eax, dword [ebx + 0x224]
cmp eax, 0x30
je 0x4cade5
cmp eax, 0x31
je 0x4cade5
mov dword [esp + 0x160], 0
mov eax, dword [ebx + 0x220]
cmp eax, 0x3e8
ja 0x4ca2c3
test eax, eax
jne 0x4ca306
mov dword [ebx + 0x220], 0
lea eax, [ebx + 0x34]
lea ecx, [ebx + 0x4a0]
push eax
call fcn.0046b0a0
mov dword [esp + 0x218], 0
mov dword [esp + 0x210], 0
lea eax, [esp + 0x210]
mov dword [esp + 0x214], 0
jmp 0x4ca328
lea eax, [ebx + 0x4a0]
lea esi, [ebx + 0x34]
push eax
lea eax, [esp + 0x220]
push esi
push eax
call fcn.0046afb0
add esp, 0xc
lea eax, [esp + 0x21c]
lea ecx, [esp + 0xf8]
push eax
call fcn.0046b0a0
inc dword [ebx + 0x220]
fldz
fldz
fld dword [0x5f849c]
fcomp dword [0x8e2cb4]
fnstsw ax
test ah, 0x45
jne 0x4ca360
fld dword [0x5f849c]
jmp 0x4ca366
fld dword [0x8e2cb4]
fstp st(2)
fld dword [0x5f8448]
fmul st(2)
fdivr dword [0x5f842c]
mov edi, dword [ebx + 0x220]
mov dword [esp + 0xa4], 0
mov eax, edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa0], eax
fild qword [esp + 0xa0]
fcompp
fnstsw ax
test ah, 0x45
jne 0x4ca403
fld dword [esp + 0xfc]
fstp st(2)
mov eax, edi
mov dword [esp + 0xa0], edi
fld st(1)
fmul st(0)
fld dword [esp + 0xf8]
fmul st(0)
faddp st(1)
fld dword [esp + 0x100]
fstp st(3)
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], eax
fld st(2)
fmul st(0)
faddp st(1)
fild qword [esp + 0xa0]
fmul dword [0x5f849c]
fcompp
fnstsw ax
test ah, 0x45
je 0x4ca4c0
cmp byte [ebx + 0xee], 1
jbe 0x4ca950
fld dword [0x5f849c]
fcomp dword [0x8e2cb4]
fnstsw ax
test ah, 0x45
jne 0x4ca430
fld dword [0x5f849c]
jmp 0x4ca436
fld dword [0x8e2cb4]
fstp st(2)
fld dword [0x5f8548]
fmul st(2)
fdivr dword [0x5f842c]
mov eax, edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], eax
fild qword [esp + 0xa0]
fcompp
fnstsw ax
test ah, 0x45
jne 0x4ca950
fld dword [esp + 0x100]
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
mov eax, dword [ebx + 0x220]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], eax
fstp st(2)
fild qword [esp + 0xa0]
fmul dword [0x5f8554]
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x4ca950
movzx eax, word [ebx + 0x5a]
add eax, 3
add eax, dword [0x9412ec]
and eax, 7
jne 0x4ca590
fld dword [ebx + 0x3c]
fadd dword [0x5f84b0]
lea ecx, [esp + 0x154]
fstp st(1)
fld dword [ebx + 0x38]
fstp st(2)
fld dword [ebx + 0x34]
fstp dword [esp + 0x228]
fld st(1)
lea eax, [esp + 0x228]
fstp dword [esp + 0x22c]
fst dword [esp + 0x230]
fcompp
push eax
call fcn.0046b0a0
fld dword [ebx + 0x3c]
fsub dword [0x5f84bc]
lea eax, [esp + 0x104]
lea edx, [esp + 0x160]
push 0
push 0
push 0
push 1
push 0
push 1
push 1
push edx
push eax
push eax
fstp dword [esp]
lea eax, [esp + 0x17c]
push eax
call fcn.004b0de0
add esp, 0x2c
test al, al
je 0x4cae4a
fld dword [0x5f84bc]
fadd dword [esp + 0x10c]
fstp dword [ebx + 0x3c]
lea ecx, [ebx + 4]
call fcn.004b8ec0
mov ecx, ebx
call fcn.004d0e40
mov al, byte [ebx + 0x154]
and al, 0xfe
or al, 1
mov byte [ebx + 0x154], al
jmp 0x4cae4a
fcompp
mov ecx, ebx
call fcn.004d48e0
test al, al
je 0x4ca760
cmp dword [ebx + 0x224], 0x23
je 0x4ca760
push 0
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00493a40
test al, al
je 0x4ca760
push 0
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00493110
movsx eax, ax
push 0
mov dword [esp + 0xa4], eax
fild dword [esp + 0xa4]
fstp dword [esp + 0x34]
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00493190
movsx eax, ax
fldz
fldz
mov dword [esp + 0xa0], eax
fild dword [esp + 0xa0]
fstp st(2)
fld dword [esp + 0x30]
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fst st(1)
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
je 0x4ca657
fld st(1)
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fst st(1)
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4cb9b0
push eax
fld st(1)
fstp dword [esp]
fld dword [esp + 0x34]
push eax
fchs
fstp dword [esp]
fcompp
push dword [0x5f8438]
push dword [0x5f8438]
call fcn.0048ca50
fstp dword [ebx + 0x2e0]
fld dword [ebx + 0x2e0]
fsub dword [0x6fae54]
add esp, 0x10
fstp dword [ebx + 0x2e0]
push dword [ebx + 0x2e0]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
fld dword [ebx + 0x2e0]
fstp dword [ebx + 0x2dc]
fld dword [ebx + 0x2dc]
pop ecx
mov ecx, ebx
fstp dword [esp + 0x48]
call fcn.004cbac0
lea ecx, [esp + 0x2ac]
push eax
call fcn.004cbaa0
lea ecx, [ebx + 4]
push dword [esp + 0x48]
push dword [0x5f8438]
push dword [0x5f8438]
call fcn.004b93a0
lea ecx, [ebx + 4]
push dword [esp + 0x2b4]
push dword [esp + 0x2b4]
push dword [esp + 0x2b4]
call fcn.004cba70
mov ecx, ebx
call fcn.004d73d0
mov dword [ebx + 0x220], 0
lea eax, [ebx + 0x34]
lea ecx, [ebx + 0x4a0]
push eax
call fcn.0046b0a0
mov dword [esp + 0x234], 0
lea eax, [esp + 0x234]
lea ecx, [esp + 0xf8]
push eax
mov dword [esp + 0x240], 0
mov dword [esp + 0x23c], 0
call fcn.0046b0a0
jmp 0x4cae4a
mov ecx, ebx
call fcn.004d48e0
test al, al
je 0x4ca910
push 0
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00493110
movsx eax, ax
push 0
mov dword [esp + 0xa4], eax
fild dword [esp + 0xa4]
fstp dword [esp + 0xa0]
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00493190
movsx eax, ax
fldz
fldz
mov dword [esp + 0xa0], eax
fild dword [esp + 0xa0]
fstp st(1)
fld dword [esp + 0x9c]
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(2)
fld st(1)
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
je 0x4ca80b
fld st(0)
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(2)
fld st(1)
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4cb9b7
push eax
fst dword [esp]
fld dword [esp + 0xa0]
push eax
fchs
fstp dword [esp]
fcompp
push dword [0x5f8438]
push dword [0x5f8438]
call fcn.0048ca50
fstp dword [ebx + 0x2e0]
fld dword [ebx + 0x2e0]
fsub dword [0x6fae54]
add esp, 0x10
fstp dword [ebx + 0x2e0]
push dword [ebx + 0x2e0]
call fcn.0048cb90
fstp dword [ebx + 0x2e0]
fld dword [ebx + 0x2e0]
fstp dword [ebx + 0x2dc]
fld dword [ebx + 0x2dc]
pop ecx
mov ecx, ebx
fstp dword [esp + 0x4c]
call fcn.004cbac0
lea ecx, [esp + 0x2b8]
push eax
call fcn.004cbaa0
lea ecx, [ebx + 4]
push dword [esp + 0x4c]
push dword [0x5f8438]
push dword [0x5f8438]
call fcn.004b93a0
lea ecx, [ebx + 4]
push dword [esp + 0x2c0]
push dword [esp + 0x2c0]
push dword [esp + 0x2c0]
call fcn.004cba70
mov eax, dword [ebx + 0x4c]
push 0x95
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
jne 0x4ca8df
mov eax, dword [ebx + 0x4c]
push 0x98
push eax
call fcn.004055c0
pop ecx
pop ecx
test eax, eax
je 0x4ca8ee
mov dword [eax + 0x1c], 0xc0400000
or dword [eax + 0x30], 4
cmp dword [ebx + 0x224], 0x23
jne 0x4cae4a
mov dword [ebx + 0x224], 1
jmp 0x4cae4a
mov eax, dword [ebx + 0x4c]
push 0x95
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
jne 0x4ca934
mov eax, dword [ebx + 0x4c]
push 0x98
push eax
call fcn.004055c0
pop ecx
pop ecx
test eax, eax
je 0x4cae4a
mov dword [eax + 0x1c], 0xc0400000
or dword [eax + 0x30], 4
jmp 0x4cae4a
cmp byte [ebx + 0xee], 1
jne 0x4cad45
mov ebp, dword [ebx + 0xf0]
test ebp, ebp
je 0x4cad45
mov al, byte [ebp + 0x50]
and al, 7
cmp al, 1
jne 0x4cad45
fld dword [0x5f849c]
fcomp dword [0x8e2cb4]
fnstsw ax
test ah, 0x45
jne 0x4ca993
fld dword [0x5f849c]
jmp 0x4ca999
fld dword [0x8e2cb4]
fstp st(2)
fld dword [0x5f8548]
fmul st(2)
fdivr dword [0x5f842c]
mov eax, dword [ebx + 0x220]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], eax
fild qword [esp + 0xa0]
fcompp
fnstsw ax
test ah, 0x45
jne 0x4cad45
fld dword [esp + 0x100]
fabs
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
mov eax, dword [ebx + 0x220]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], eax
fstp st(2)
fild qword [esp + 0xa0]
fmul dword [0x5f8554]
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x4cad45
fld dword [esp + 0xfc]
fchs
fstp dword [esp + 0x154]
fcompp
lea ecx, [esp + 0x154]
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x15c], 0
mov dword [esp + 0x158], eax
call fcn.004ba560
lea edi, [ebx + 0x34]
push eax
mov edx, edi
fld dword [edx + 8]
fadd dword [esp + 0x160]
fstp dword [esp]
fld dword [edx + 4]
fadd dword [esp + 0x15c]
push eax
fstp dword [esp]
fld dword [edx]
fadd dword [esp + 0x15c]
push eax
fstp dword [esp]
lea ecx, [esp + 0x24c]
call fcn.0046b060
lea eax, [esp + 0x104]
lea ecx, [esp + 0x160]
push 0
push 0
push 0
push 0
push 0
push 0
push 1
push ecx
push eax
lea eax, [esp + 0x264]
push dword [0x5f8558]
push eax
call fcn.004b0de0
add esp, 0x2c
test al, al
je 0x4caae0
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x98], eax
jmp 0x4caaed
fld dword [0x5f855c]
fstp dword [esp + 0x98]
mov esi, edi
push eax
fld dword [esi + 8]
fsub dword [esp + 0x160]
fstp dword [esp]
fld dword [esi + 4]
fsub dword [esp + 0x15c]
push eax
fstp dword [esp]
fld dword [esi]
fsub dword [esp + 0x15c]
push eax
fstp dword [esp]
lea ecx, [esp + 0x258]
call fcn.0046b060
lea eax, [esp + 0x12c]
lea ebp, [esp + 0x160]
push 0
push 0
push 0
push 0
push 0
push 0
push 1
push ebp
push eax
lea eax, [esp + 0x270]
push dword [0x5f8558]
push eax
call fcn.004b0de0
add esp, 0x2c
test al, al
fldz
je 0x4cab67
fld dword [esp + 0x134]
jmp 0x4cab6d
fld dword [0x5f8560]
fstp st(1)
fld dword [esp + 0x98]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb9c0
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x25c]
push dword [0x5f8498]
push eax
fstp st(0)
call fcn.0046af70
lea eax, [esp + 0x264]
add esp, 0xc
lea ecx, [esp + 0x154]
push eax
call fcn.0046b0a0
fld dword [0x5f8448]
mov dword [esp + 0x15c], 0x3f800000
push eax
fmul dword [esp + 0x160]
fstp dword [esp]
fld dword [0x5f8448]
fmul dword [esp + 0x15c]
push eax
fstp dword [esp]
fld dword [0x5f8448]
fmul dword [esp + 0x15c]
push eax
fstp dword [esp]
lea ecx, [esp + 0x270]
call fcn.0046b060
mov ecx, ebx
push dword [esp + 0x26c]
push dword [esp + 0x26c]
push dword [esp + 0x26c]
call fcn.004959a0
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x280]
push dword [0x5f8508]
push eax
call fcn.0046af70
lea eax, [esp + 0x288]
add esp, 0xc
push eax
lea eax, [esp + 0x274]
push edi
push eax
call fcn.0046af30
add esp, 0xc
mov ecx, ebx
push dword [esp + 0x278]
push dword [esp + 0x278]
push dword [esp + 0x278]
call fcn.004cba50
push dword [0x5f8438]
push dword [0x5f8438]
push dword [esp + 0x160]
push dword [esp + 0x160]
call fcn.0048ca50
add esp, 0x10
fstp dword [ebx + 0x2dc]
push dword [ebx + 0x2dc]
call fcn.0048cb90
fstp dword [ebx + 0x2dc]
fld dword [ebx + 0x2dc]
fstp dword [ebx + 0x2e0]
fld dword [ebx + 0x2dc]
pop ecx
mov ecx, ebx
fstp dword [esp + 0x50]
call fcn.004cbac0
lea ecx, [esp + 0x2c4]
push eax
call fcn.004cbaa0
lea ecx, [ebx + 4]
push dword [esp + 0x50]
push dword [0x5f8438]
push dword [0x5f8438]
call fcn.004b93a0
lea ecx, [ebx + 4]
push dword [esp + 0x2cc]
push dword [esp + 0x2cc]
push dword [esp + 0x2cc]
call fcn.004cba70
cmp dword [ebx + 0x224], 0x24
je 0x4cad32
mov al, byte [ebx + 0x157]
shr al, 4
and al, 1
jne 0x4cad32
mov ecx, ebx
push 1
push 0x1b
push 0x3e8
call fcn.004d09b0
mov al, byte [ebx + 0x155]
and al, 0xf7
mov byte [ebx + 0x155], al
jmp 0x4cae4a
fld dword [ebx + 0x11c]
fcomp dword [0x5f83fc]
fnstsw ax
test ah, 0x45
jne 0x4cb9c7
fcompp
lea eax, [ebx + 0x114]
lea ecx, [esp + 0xf8]
push eax
call fcn.0046b0a0
lea ecx, [esp + 0xf8]
mov dword [esp + 0x100], 0
call fcn.004ba560
fld dword [0x5f8548]
fmul dword [esp + 0x100]
push eax
fstp dword [esp]
fld dword [0x5f8548]
fmul dword [esp + 0x100]
push eax
fstp dword [esp]
fld dword [0x5f8548]
fmul dword [esp + 0x100]
push eax
fstp dword [esp]
lea ecx, [esp + 0x294]
call fcn.0046b060
mov ecx, ebx
push dword [esp + 0x290]
push dword [esp + 0x290]
push dword [esp + 0x290]
call fcn.004959a0
jmp 0x4cae4a
cmp dword [ebx + 0x220], 0x3e9
jae 0x4cae4a
mov dword [ebx + 0x220], 0
jmp 0x4cae4a
mov al, byte [ebx + 0x155]
and al, 0xbf
mov byte [ebx + 0x155], al
mov edx, dword [ebx + 0x220]
cmp edx, 0x3e9
jae 0x4cae4a
cmp edx, 0x1f4
ja 0x4cae31
mov al, byte [ebx + 0x155]
shr al, 3
and al, 1
jne 0x4cae40
mov dword [ebx + 0x220], 0
jmp 0x4cae4a
test edx, edx
je 0x4cae4a
dec dword [ebx + 0x220]
mov al, byte [ebx + 0x158]
shr al, 4
and al, 1
je 0x4cae5e
mov ecx, ebx
call fcn.004e4a10
mov al, byte [ebx + 0x15a]
shr al, 3
and al, 1
je 0x4caec9
mov ecx, ebx
call fcn.004ce6c0
test al, al
je 0x4caea0
mov ecx, ebx
call fcn.004c7f20
mov al, byte [ebx + 0x2b4]
mov ecx, ebx
push eax
call fcn.004d2750
mov al, byte [ebx + 0x15a]
and al, 0xf7
mov byte [ebx + 0x15a], al
jmp 0x4caec9
cmp dword [ebx + 0x224], 0x2c
jne 0x4caec9
mov al, byte [ebx + 0x159]
mov ecx, ebx
and al, 0xfe
or al, 1
mov byte [ebx + 0x159], al
mov eax, dword [ebx + 0x310]
push eax
push 0xd
call fcn.004d83e0
mov al, byte [ebx + 0x154]
and al, 1
fldz
jne 0x4cb9d0
fld dword [ebx + 0x80]
fcomp qword [0x5f8568]
fnstsw ax
test ah, 0x45
jne 0x4cb9d7
fld dword [0x8e2cb4]
fld qword [0x5f8570]
ftst
fnstsw ax
and ah, 0x45
jne 0x4caf20
fyl2x
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fadd dword [0x5f8440]
fscale
fstp st(1)
jmp 0x4caf25
call fcn.005a4210
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(1)
push eax
fst dword [esp]
lea eax, [esp + 0x298]
lea esi, [ebx + 0x78]
push esi
push eax
fstp st(0)
call fcn.004cbaf0
lea eax, [esp + 0x2a0]
add esp, 0xc
lea ecx, [ebx + 0x78]
push eax
call fcn.0046b0a0
mov ecx, ebx
call fcn.00495f10
mov ebp, dword [ebx + 0x224]
cmp ebp, 0x30
jne 0x4cafd0
mov al, byte [ebx + 0x157]
shr al, 4
and al, 1
jne 0x4cafd0
mov al, byte [ebx + 0x154]
and al, 1
je 0x4caf9c
cmp dword [ebx + 0x2ec], 0
je 0x4cafb0
mov ecx, ebx
call fcn.004d48e0
test al, al
jne 0x4cafb0
mov al, byte [ebx + 0x122]
shr al, 3
and al, 1
jne 0x4cafb0
mov al, byte [ebx + 0x51]
and al, 1
jne 0x4cafb7
mov ecx, ebx
call fcn.004d3970
mov dword [ebx + 0x2ec], 0
add esp, 0x2d0
pop ebp
pop edi
pop esi
pop ebx
ret
cmp ebp, 0x31
je 0x4cafe3
mov ecx, ebx
call fcn.004c73f0
mov ecx, ebx
call fcn.004c7ea0
mov ecx, ebx
call fcn.004c7a00
mov ecx, ebx
call fcn.004cc6c0
mov ecx, ebx
call fcn.004ce6c0
test al, al
je 0x4cb021
mov al, byte [ebx + 0x154]
and al, 1
jne 0x4cb021
cmp dword [ebx + 0x110], 0
jne 0x4cb021
mov ecx, ebx
call fcn.004d0be0
test al, al
je 0x4cb021
mov ecx, ebx
call fcn.004d0ca0
mov ecx, ebx
call fcn.004d94e0
mov al, byte [ebx + 0x154]
shr al, 7
test al, al
je 0x4cb040
mov ecx, ebx
call fcn.004c6aa0
jmp 0x4cb051
mov al, byte [ebx + 0x155]
and al, 1
je 0x4cb051
mov ecx, ebx
call fcn.004c6bb0
mov al, byte [ebx + 0x154]
shr al, 4
and al, 1
je 0x4cb067
mov ecx, ebx
call fcn.004c65b0
jmp 0x4cb07b
mov al, byte [ebx + 0x154]
shr al, 6
and al, 1
je 0x4cb07b
mov ecx, ebx
call fcn.004c6930
mov al, byte [ebx + 0x155]
shr al, 3
and al, 1
je 0x4cb08f
mov ecx, ebx
call fcn.004d0d10
mov al, byte [ebx + 0x156]
shr al, 4
and al, 1
je 0x4cb0e6
mov eax, dword [ebx + 0x224]
cmp eax, 0x25
je 0x4cb0e6
cmp eax, 0x24
je 0x4cb0e6
fld dword [ebx + 0x2dc]
fsub qword [0x5f8578]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp dword [ebx + 0x2dc]
fld dword [ebx + 0x2dc]
fstp dword [ebx + 0x2e0]
mov al, byte [ebx + 0x156]
and al, 0xef
mov byte [ebx + 0x156], al
cmp dword [ebx + 0x238], 0
je 0x4cb0f6
mov ecx, ebx
call fcn.004d5d80
cmp dword [ebx + 0x224], 1
je 0x4cb11b
mov eax, dword [ebx + 0x4c]
push 0xa
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
je 0x4cb11b
mov dword [eax + 0x1c], 0xc1000000
or dword [eax + 0x30], 4
mov eax, dword [ebx + 0x224]
mov edx, dword [ebx + 0x224]
dec eax
cmp eax, 0x36
fldz
ja case.default.0x4cb133
jmp dword [eax*4 + 0x5f8778]
mov eax, dword [ebx + 0x330]
cmp byte [eax + 0x24], 0x32
jle 0x4cb181
mov eax, dword [ebx + 0x4c]
push 0xa7
push eax
fstp st(0)
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
jne 0x4cb784
mov eax, dword [ebx + 0x4c]
push 0xa7
push 0
push eax
call fcn.00403620
add esp, 0xc
mov ecx, ebx
push 0x6c
call fcn.004e5a10
jmp 0x4cb784
mov eax, dword [ebx + 0x4c]
push 0xa8
push eax
fstp st(0)
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
jne 0x4cb784
mov eax, dword [ebx + 0x4c]
push 0xa8
push 0
push eax
call fcn.00403620
add esp, 0xc
mov ecx, ebx
push 0x6d
call fcn.004e5a10
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d0f20
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004e4c70
jmp 0x4cb784
mov edx, dword [ebx + 0x310]
test edx, edx
jne 0x4cb200
mov ecx, ebx
mov byte [ebx + 0x314], 0
mov ebx, dword [ecx]
fstp st(0)
call dword [ebx + 0x40]
add esp, 0x2d0
pop ebp
pop edi
pop esi
pop ebx
ret
mov ecx, dword [edx + 0x1a4]
cmp ecx, ebx
jne 0x4cb570
mov edi, dword [edx + 0x284]
mov eax, edi
cmp eax, 1
je 0x4cb570
cmp edi, 5
je 0x4cba00
fstp st(0)
call fcn.004d48e0
test al, al
je 0x4cb784
mov esi, dword [ebx + 0x310]
fld dword [esi + 0x1e8]
fstp dword [esp + 0x34]
mov al, byte [esi + 0x1f6]
shr al, 3
and al, 1
je 0x4cb2a2
mov eax, dword [ebx + 0x4c]
push 0x70
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
je 0x4cb784
fld dword [eax + 0x18]
fcomp dword [0x5f8440]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4cb784
mov eax, dword [ebx + 0x4c]
push 0x75
push eax
call fcn.004055c0
mov ebp, eax
mov eax, dword [ebx + 0x4c]
pop ecx
pop ecx
push 0x76
push eax
call fcn.004055c0
xor esi, esi
pop ecx
mov edi, eax
pop ecx
jmp 0x4cb2fb
mov eax, dword [ebx + 0x4c]
push 0x6f
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
je 0x4cb784
fld dword [eax + 0x18]
fcomp dword [0x5f8440]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4cb784
mov eax, dword [ebx + 0x4c]
push 0x73
push eax
call fcn.004055c0
mov ebp, eax
mov eax, dword [ebx + 0x4c]
pop ecx
pop ecx
push 0x74
push eax
call fcn.004055c0
mov edi, eax
mov eax, dword [ebx + 0x4c]
pop ecx
pop ecx
push 0x79
push eax
call fcn.004055c0
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4cb326
movzx eax, byte [0x6fad6e]
imul eax, eax, 0x1a4
cmp word [eax + 0x6faea8], 0x10
jne 0x4cb326
cmp dword [eax + 0x6faec4], 1
jne 0x4cb326
mov dword [esi + 0x1c], 0xc47a0000
mov eax, dword [ebx + 0x4c]
push 0x77
push eax
call fcn.004055c0
mov edx, eax
pop ecx
test edx, edx
pop ecx
jne 0x4cb348
mov eax, dword [ebx + 0x4c]
push 0x78
push eax
call fcn.004055c0
mov edx, eax
pop ecx
pop ecx
mov ecx, dword [ebx + 0x310]
mov al, byte [ecx + 0x1f6]
shr al, 3
and al, 1
fldz
jne 0x4cb3d3
fld dword [ecx + 0x1ec]
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb3d3
test edx, edx
jne 0x4cb3d3
movzx eax, byte [0x6fad6e]
imul eax, eax, 0x1a4
cmp word [eax + 0x6faea8], 0x10
jne 0x4cb39b
cmp dword [eax + 0x6faec4], 1
je 0x4cba07
test esi, esi
je 0x4cb3b6
fld dword [esi + 0x18]
fcomp dword [0x5f8440]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cba10
mov eax, dword [ebx + 0x4c]
push dword [0x5f8448]
push 0x79
push 0
push eax
fstp st(0)
call fcn.00403710
add esp, 0x10
jmp 0x4cb784
fld dword [0x5f8438]
fcomp dword [esp + 0x34]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x4cb3eb
test edx, edx
je 0x4cb415
test ebp, ebp
je 0x4cb3f6
mov dword [ebp + 0x18], 0
test edi, edi
je 0x4cb401
mov dword [edi + 0x18], 0
test esi, esi
je 0x4cba17
mov dword [esi + 0x1c], 0xc0800000
jmp 0x4cba20
fld dword [esp + 0x34]
fcomp dword [0x5f8438]
fnstsw ax
test ah, 0x45
jne 0x4cb4d0
fld dword [esp + 0x34]
fmul dword [0x5f8580]
fst st(1)
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb44e
fld dword [0x5f8438]
fstp st(1)
fcom dword [0x5f8440]
fnstsw ax
test ah, 0x45
jne 0x4cb463
fld dword [0x5f8440]
fstp st(1)
test edi, edi
je 0x4cb46e
mov dword [edi + 0x18], 0
test ebp, ebp
jne 0x4cb4b4
mov ebp, dword [ebx + 0x310]
mov al, byte [ebp + 0x1f6]
shr al, 3
and al, 1
je 0x4cb4a0
mov eax, dword [ebx + 0x4c]
push 0x75
push 0
push eax
fstp st(0)
call fcn.00403620
add esp, 0xc
jmp 0x4cb4b9
mov eax, dword [ebx + 0x4c]
push 0x73
push 0
push eax
fstp st(0)
call fcn.00403620
add esp, 0xc
jmp 0x4cb4b9
fst dword [ebp + 0x18]
fstp st(0)
test esi, esi
je 0x4cb784
mov dword [esi + 0x1c], 0xc0800000
jmp 0x4cb784
fld dword [esp + 0x34]
fmul dword [0x5f8584]
fst st(1)
fcomp dword [0x5f8438]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cb4f4
fld dword [0x5f8438]
fstp st(1)
fcom dword [0x5f8440]
fnstsw ax
test ah, 0x45
jne 0x4cb509
fld dword [0x5f8440]
fstp st(1)
test ebp, ebp
je 0x4cb514
mov dword [ebp + 0x18], 0
test edi, edi
jne 0x4cb554
mov ecx, dword [ebx + 0x310]
mov al, byte [ecx + 0x1f6]
shr al, 3
and al, 1
je 0x4cb540
mov eax, dword [ebx + 0x4c]
push 0x76
push 0
push eax
fstp st(0)
call fcn.00403620
add esp, 0xc
jmp 0x4cb559
mov eax, dword [ebx + 0x4c]
push 0x74
push 0
push eax
fstp st(0)
call fcn.00403620
add esp, 0xc
jmp 0x4cb559
fst dword [edi + 0x18]
fstp st(0)
test esi, esi
je 0x4cb784
mov dword [esi + 0x1c], 0xc0800000
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d4df0
mov ecx, ebx
call fcn.004d4f50
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d3f90
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004e33b0
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004e36d0
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d26c0
mov ecx, ebx
call fcn.004d0490
jmp 0x4cb784
mov edx, dword [ebx + 0x33c]
test edx, edx
je 0x4cb600
mov eax, dword [ebx + 0x220]
mov edi, dword [0x885b48]
cmp edi, eax
jbe 0x4cba27
add edx, 0x34
fld dword [edx + 4]
fstp st(1)
fld dword [edx]
fstp dword [0x6edf70]
fst dword [0x6edf74]
jmp 0x4cb77b
mov ecx, ebx
fstp st(0)
call fcn.004d0600
jmp 0x4cb784
fld dword [ebx + 0x334]
fstp dword [0x6edf70]
fld dword [ebx + 0x338]
fstp dword [0x6edf74]
jmp 0x4cb77b
mov ecx, ebx
fstp st(0)
call fcn.004d3a50
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004e6ba0
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004e7ee0
jmp 0x4cb784
mov ecx, dword [ebx + 0x49c]
test ecx, ecx
je 0x4cb9e0
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 3
jne 0x4cb9e7
push dword [0x5f8588]
push ebx
fstp st(0)
call fcn.004dd820
test al, al
je 0x4cb68e
mov ecx, dword [ebx + 0x49c]
push ebx
call fcn.004dd980
mov ecx, ebx
call fcn.004e60b0
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d3ac0
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d0690
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d1380
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d0bc0
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d0980
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d28d0
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d3020
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004e9b50
jmp 0x4cb784
mov ecx, ebx
fstp st(0)
call fcn.004d48e0
test al, al
fldz
jne 0x4cba30
mov eax, dword [ebx + 0x340]
mov edx, dword [0x885b48]
cmp edx, eax
jbe 0x4cb741
mov ecx, dword [ebx + 0x4b4]
test ecx, ecx
je 0x4cba37
fstp st(0)
call fcn.00479d40
jmp 0x4cb784
mov eax, dword [ebx + 0x33c]
test eax, eax
je 0x4cb763
add eax, 0x34
fld dword [eax + 4]
fstp st(1)
fld dword [eax]
fstp dword [0x6edf70]
fst dword [0x6edf74]
jmp 0x4cb77b
fld dword [ebx + 0x334]
fstp dword [0x6edf70]
fld dword [ebx + 0x338]
fstp dword [0x6edf74]
mov ecx, ebx
fstp st(0)
call fcn.004d1ed0
mov ecx, ebx
mov edi, dword [ecx]
call dword [edi + 0x48]
mov al, byte [ebx + 0x157]
shr al, 2
and al, 1
je 0x4cb914
cmp byte [0x5f4dd4], 0
je 0x4cb914
mov eax, dword [0x9412ec]
and eax, 3
jne 0x4cb914
lea edx, [ebx + 0x34]
mov esi, 0x6fad2c
fld dword [edx + 8]
fsub dword [esi + 8]
push eax
fstp dword [esp]
fld dword [edx + 4]
fsub dword [esi + 4]
push eax
fstp dword [esp]
fld dword [edx]
fsub dword [esi]
push eax
fstp dword [esp]
lea ecx, [esp + 0x2ac]
call fcn.0046b060
fld dword [esp + 0x2a4]
fld st(0)
fmul st(0)
fld dword [esp + 0x2a0]
fmul st(0)
faddp st(1)
fld dword [esp + 0x2a8]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [0x5f858c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4cba40
fstp st(0)
call fcn.005a41d0
movzx eax, ax
and eax, 0x7f
mov dword [esp + 0xa0], eax
fild dword [esp + 0xa0]
fmul dword [0x5f8590]
fadd dword [0x5f8594]
fstp dword [esp + 0x38]
call fcn.005a41d0
movzx eax, ax
and eax, 0x7f
add eax, 0xffffffc0
mov dword [esp + 0xa0], eax
fild dword [esp + 0xa0]
fmul dword [0x5f8598]
fadd dword [ebx + 0x34]
fstp dword [esp + 0x164]
call fcn.005a41d0
movzx eax, ax
and eax, 0x7f
add eax, 0xffffffc0
mov dword [esp + 0xa0], eax
fild dword [esp + 0xa0]
fmul dword [0x5f8598]
fadd dword [ebx + 0x38]
fstp dword [esp + 0x168]
fld dword [0x5f8440]
fadd dword [ebx + 0x3c]
fstp dword [esp + 0x16c]
call fcn.005a41d0
movzx eax, ax
fld dword [esp + 0x38]
push dword [0x5f8440]
and eax, 0xfff
add eax, 0x7d0
push eax
push dword [0x5f8448]
push 0
push 0
push 0xff
push 0xff
push eax
fchs
fstp dword [esp]
mov eax, dword [0x9415f8]
lea ecx, [esp + 0x184]
push dword [0x5f8438]
push dword [0x5f8438]
push dword [esp + 0x60]
push ecx
push eax
push 1
call fcn.00512fd0
add esp, 0x38
mov ecx, ebx
call fcn.004e5870
cmp byte [ebx + 0x314], 0
je 0x4cb934
cmp dword [ebx + 0x310], 0
jne 0x4cb934
mov byte [ebx + 0x314], 0
mov dword [ebx + 0x2ec], 0
add esp, 0x2d0
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x4c8bb1
fstp st(0)
jmp 0x4c8bb2
fstp st(0)
jmp 0x4c8d0f
fldz
jmp 0x4c933c
fstp st(0)
jmp 0x4c97d1
fstp st(0)
jmp 0x4c97d1
fcompp
jmp 0x4ca07b
fstp st(0)
jmp 0x4ca17f
fcompp
jmp 0x4ca199
fstp st(0)
jmp 0x4ca1a9
fstp st(0)
jmp 0x4ca1a9
fcompp
jmp 0x4ca706
fcompp
jmp 0x4ca8bb
fstp st(0)
jmp 0x4cabba
fcompp
jmp 0x4cae4a
fstp st(0)
jmp 0x4caf5f
fstp st(0)
jmp 0x4caf5f
fstp st(0)
jmp 0x4cb68e
fstp st(0)
jmp 0x4cb68e
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb784
fstp st(0)
jmp 0x4cb914