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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
push esi
mov ebx, ecx
push edi
xor edi, edi
cmp byte [ebx + 0x94], 0
mov dword [esp + 0x18], ebx
jne 0x47aaad
xor eax, eax
inc eax
jmp 0x47d0f0
fldz
mov dword [0x57b4dc], ebx
fcom dword [ebx + 0xf0]
fnstsw ax
test ah, 5
jp 0x47abef
cmp dword [ebx + 0x164], 0x64
jne 0x47abef
fld dword [ebx + 0xf0]
fsub dword [ebp + 8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0xf0]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
jne 0x47abf1
cmp dword [0x57b4d8], edi
je 0x47abf1
mov eax, dword [0x577b24]
sub eax, edi
je 0x47abb3
dec eax
je 0x47ab9d
dec eax
je 0x47ab87
dec eax
je 0x47ab71
dec eax
je 0x47ab5b
dec eax
je 0x47ab45
dec eax
jne 0x47abe1
fld dword [0x5452b8]
push edi
push 4
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_hand
jmp 0x47abc7
fld dword [0x5452b4]
push edi
push 6
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_wl
jmp 0x47abc7
fld dword [0x5452b0]
push edi
push 2
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_mm
jmp 0x47abc7
fld dword [0x5452ac]
push edi
push 3
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_puzzle
jmp 0x47abc7
fld dword [0x5452ac]
push edi
push 5
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_pop
jmp 0x47abc7
fld dword [0x5452a8]
push edi
push 7
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_rotate
jmp 0x47abc7
fld dword [0x544de0]
push edi
push 1
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_swap
mov esi, dword [0x57b55c]
push ecx
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
pop ecx
push eax
call fcn.00467531
fld dword [0x543950]
fstp dword [ebx + 0xf0]
jmp 0x47abf1
fstp st(0)
cmp byte [ebx + 0x2e7], 0
je 0x47ac64
fild dword [ebx + 0x90]
lea eax, [ebx + 0x54]
fstp dword [esp + 0x38]
call fcn.0041ae5a
test eax, eax
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
jge 0x47ac1e
fadd dword [0x5439c0]
fdivr dword [esp + 0x38]
fcomp qword [0x543e30]
fnstsw ax
test ah, 0x41
jne 0x47ac64
fld dword [0x5452a4]
mov esi, dword [0x57b55c]
push edi
push 0xc
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_fin
push ecx
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
pop ecx
push eax
call fcn.00467531
mov byte [ebx + 0x2e7], 0
fld dword [ebp + 8]
push ecx
mov eax, ebx
fstp dword [esp]
call fcn.00486e5c
mov dword [esp + 0x14], edi
lea edi, [ebx + 0xf8]
mov eax, edi
call fcn.0041ae5a
test eax, eax
jbe 0x47ad3f
mov esi, dword [esp + 0x14]
call fcn.00458652
fld dword [ebp + 8]
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.00464f7b
test al, al
je 0x47ad2a
call fcn.00458652
mov eax, dword [eax]
test eax, eax
je 0x47acc2
mov ecx, dword [0x57ca18]
mov dword [eax], ecx
mov dword [0x57ca18], eax
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
jbe 0x47accf
call fcn.004e0f8f
mov dword [esp + 0x54], esi
push 0xffffffffffffffff
lea esi, [esp + 0x54]
mov dword [esp + 0x54], edi
call fcn.00481402
mov ecx, dword [eax]
test ecx, ecx
mov esi, dword [eax + 4]
mov dword [esp + 0x58], ecx
jne 0x47acf8
call fcn.004e0f8f
mov ecx, dword [esp + 0x58]
cmp esi, dword [ecx + 8]
jb 0x47ad02
call fcn.004e0f8f
mov eax, dword [esi]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x38], eax
call fcn.00458652
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov eax, edi
call fcn.0041ae5a
test eax, eax
je 0x47ad26
add dword [edi + 8], 0xfffffffc
dec dword [esp + 0x14]
inc dword [esp + 0x14]
mov eax, edi
call fcn.0041ae5a
cmp dword [esp + 0x14], eax
jb 0x47ac8b
fldz
fcomp dword [ebx + 0x1fc]
fnstsw ax
test ah, 0x41
jp 0x47ae3d
fld dword [ebp + 8]
fadd st(0), st(0)
fadd dword [ebx + 0x1fc]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x1fc]
fld1
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 5
jp 0x47ae3d
call fcn.004434ea
push 2
mov ecx, eax
mov eax, dword [0x577b24]
pop edx
call fcn.00442f15
mov esi, eax
call fcn.004e0031
inc esi
cdq
idiv esi
and dword [esp + 0x2c], 0
mov esi, edx
inc esi
test esi, esi
mov dword [esp + 0x34], esi
jle 0x47ae3d
push 0x14
mov eax, ebx
call fcn.004816da
test eax, eax
mov dword [esp + 0x38], eax
je 0x47ae3d
push 0xb0
call fcn.004e0321
test eax, eax
pop ecx
je 0x47ae0f
fld dword [0x5445d8]
push ecx
fstp dword [esp + 0x70]
lea esi, [esp + 0x70]
fld dword [0x544c84]
fstp dword [esp + 0x74]
fldz
fst dword [esp + 0x78]
fstp dword [esp]
push 0
sub esp, 0xc
mov edi, esp
push dword [esp + 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x53c7a8
movsd dword es:[edi], dword [esi]
call fcn.00467020
mov esi, dword [esp + 0x34]
jmp 0x47ae11
xor eax, eax
mov ecx, dword [0x57b4d8]
mov edx, dword [ecx]
push 0
push 0
push 1
push eax
call dword [edx + 0x10]
fld dword [0x543950]
inc dword [esp + 0x2c]
fstp dword [ebx + 0x1fc]
cmp dword [esp + 0x2c], esi
jl 0x47adaf
mov eax, dword [ebx + 0x164]
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x47aea7
fld dword [ebx + 0x168]
fadd dword [ebp + 8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x168]
fld dword [0x543b74]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 5
jp 0x47aea0
fldz
mov eax, dword [0x57b550]
test eax, eax
fst dword [ebx + 0x168]
mov dword [ebx + 0x164], 2
je 0x47ae9e
fst dword [eax + 0x70]
mov dword [eax + 0x6c], ecx
fst dword [eax + 0x60]
fstp dword [eax + 0x8c]
jmp 0x47aea0
fstp st(0)
mov eax, ecx
jmp 0x47d0f0
push 2
pop esi
cmp eax, esi
jne 0x47b12a
fld dword [ebx + 0x168]
and dword [esp + 0x14], 0
fadd dword [ebp + 8]
lea esi, [ebx + 0x16c]
mov eax, esi
fstp dword [ebx + 0x168]
call fcn.00480c5a
test eax, eax
jbe 0x47b0dd
push dword [esp + 0x14]
call fcn.00480c70
fld dword [eax + 0x10]
fld dword [ebx + 0x168]
fcompp
fnstsw ax
test ah, 0x41
jne 0x47b0c2
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
fld dword [0x543a34]
push ecx
push ecx
fstp dword [esp + 4]
mov edi, eax
fld dword [ebp + 8]
fstp dword [esp]
push esi
lea esi, [ebx + 0x16c]
call fcn.00480c70
push dword [esp + 0x1c]
add eax, 8
mov dword [esp + 0x44], eax
call fcn.00480c70
push dword [edi]
mov ecx, dword [esp + 0x44]
mov edx, eax
lea eax, [esp + 0x64]
call fcn.0043773c
mov esi, dword [esp + 0x20]
add esp, 0xc
lea edi, [ebx + 0x44]
mov dword [esp + 0x38], eax
call fcn.00458652
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
lea eax, [ebx + 0x17c]
call fcn.0041ae5a
cmp esi, eax
jae 0x47b0c2
lea edi, [ebx + 0x17c]
call fcn.00458652
cmp dword [eax], 0
je 0x47b0c2
lea edi, [ebx + 0x17c]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x3c
lea edi, [ebx + 0x44]
mov dword [esp + 0x38], eax
call fcn.00458652
mov eax, dword [eax]
fld dword [eax]
lea edi, [ebx + 0x44]
fstp dword [esp + 0x6c]
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 4]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
fstp dword [esp + 0x70]
fldz
sub esp, 0xc
fstp dword [esp + 0x80]
mov edi, esp
lea esi, [esp + 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x10]
push dword [esp + 0x14]
lea esi, [ebx + 0x16c]
call fcn.00480c70
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
mov dword [esp + 0x38], eax
call fcn.00458652
mov eax, dword [eax]
fld dword [eax]
mov ecx, dword [esp + 0x38]
fsub dword [ecx]
fstp dword [esp + 0x50]
fld dword [eax + 4]
lea eax, [esp + 0x50]
fsub dword [ecx + 4]
fstp dword [esp + 0x54]
call fcn.0040c269
fstp dword [esp + 0x2c]
fld dword [0x543990]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x47b05e
lea edi, [ebx + 0x17c]
call fcn.00458652
fld dword [esp + 0x2c]
fdiv qword [0x543a38]
mov eax, dword [eax]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [eax + 0x80]
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x17c]
call fcn.00458652
cmp dword [eax], 0
je 0x47b0c2
lea edi, [ebx + 0x17c]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x3c
lea edi, [ebx + 0x44]
mov dword [esp + 0x38], eax
call fcn.00458652
mov eax, dword [eax]
fld dword [eax]
lea edi, [ebx + 0x44]
fstp dword [esp + 0x60]
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 4]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
fstp dword [esp + 0x64]
fldz
sub esp, 0xc
fstp dword [esp + 0x74]
mov edi, esp
lea esi, [esp + 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x10]
inc dword [esp + 0x14]
lea esi, [ebx + 0x16c]
mov eax, esi
call fcn.00480c5a
cmp dword [esp + 0x14], eax
jb 0x47aedb
fld dword [0x544630]
fcomp dword [ebx + 0x168]
fnstsw ax
test ah, 5
jp 0x47aaa5
mov esi, dword [0x57b54c]
test esi, esi
je 0x47b10c
cmp byte [ebx + 0x2df], 0
jne 0x47b10c
call fcn.004696bf
fldz
mov esi, ebx
fstp dword [ebx + 0x168]
mov dword [ebx + 0x164], 3
call fcn.00486eb8
jmp 0x47aaa5
cmp eax, 3
jne 0x47b64a
fld dword [ebx + 0x168]
and dword [esp + 0x14], 0
fstp dword [esp + 0x34]
lea eax, [ebx + 0x16c]
fld dword [ebp + 8]
mov dword [esp + 0x1c], eax
fmul qword [0x543a20]
fadd dword [ebx + 0x168]
fstp dword [ebx + 0x168]
call fcn.00480c5a
test eax, eax
jbe 0x47b2e2
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
fld dword [0x543a34]
push ecx
push ecx
fstp dword [esp + 4]
mov edi, eax
fld dword [ebp + 8]
fstp dword [esp]
push esi
mov esi, dword [esp + 0x28]
call fcn.00480c70
push dword [esp + 0x1c]
add eax, 8
mov dword [esp + 0x44], eax
call fcn.00480c70
push dword [edi]
mov ecx, dword [esp + 0x44]
mov edx, eax
lea eax, [esp + 0x64]
call fcn.0043773c
mov esi, dword [esp + 0x20]
add esp, 0xc
lea edi, [ebx + 0x44]
mov dword [esp + 0x38], eax
call fcn.00458652
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
lea eax, [ebx + 0x17c]
call fcn.0041ae5a
cmp esi, eax
jae 0x47b2cb
push esi
mov esi, dword [esp + 0x20]
call fcn.00480c70
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
mov dword [esp + 0x38], eax
call fcn.00458652
mov eax, dword [eax]
fld dword [eax]
mov ecx, dword [esp + 0x38]
fsub dword [ecx]
fstp dword [esp + 0x50]
fld dword [eax + 4]
mov eax, dword [esp + 0x50]
fsub dword [ecx + 4]
mov dword [esp + 0x48], eax
fstp dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x48]
call fcn.0040c269
fstp dword [esp + 0x2c]
fld dword [0x543990]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x47b274
lea edi, [ebx + 0x17c]
call fcn.00458652
fld dword [esp + 0x2c]
fdiv qword [0x543a38]
mov eax, dword [eax]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [eax + 0x80]
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x17c]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x3c
lea edi, [ebx + 0x44]
mov dword [esp + 0x38], eax
call fcn.00458652
mov eax, dword [eax]
fld dword [eax]
lea edi, [ebx + 0x44]
fstp dword [esp + 0x6c]
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 4]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
fstp dword [esp + 0x70]
fldz
sub esp, 0xc
fstp dword [esp + 0x80]
mov edi, esp
lea esi, [esp + 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x10]
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x14]
call fcn.00480c5a
cmp dword [esp + 0x14], eax
jb 0x47b16e
and dword [esp + 0x14], 0
lea eax, [ebx + 0x54]
call fcn.0041ae5a
test eax, eax
jbe 0x47b367
mov edi, dword [esp + 0x14]
lea esi, [ebx + 0x18c]
call fcn.00480c8f
fld dword [esp + 0x34]
fsub dword [eax]
fcomp qword [0x5439b8]
fnstsw ax
test ah, 5
jp 0x47b355
fld dword [ebx + 0x168]
lea esi, [ebx + 0x18c]
fstp qword [esp + 0x58]
call fcn.00480c8f
fld dword [eax]
fsubr qword [esp + 0x58]
fcomp qword [0x5439b8]
fnstsw ax
test ah, 1
jne 0x47b355
mov esi, edi
lea edi, [ebx + 0x54]
call fcn.00458652
mov esi, dword [eax]
push 0
or ecx, 0xffffffff
push ecx
push ebx
call fcn.00487488
inc dword [esp + 0x14]
lea eax, [ebx + 0x54]
call fcn.0041ae5a
cmp dword [esp + 0x14], eax
jb 0x47b2f3
fld dword [0x543b08]
fcomp dword [ebx + 0x168]
fnstsw ax
test ah, 5
jp 0x47b62e
fld dword [ebp + 8]
lea eax, [ebx + 0x1a0]
fmul qword [0x543f70]
fadd dword [eax]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [eax]
fld dword [esp + 0x2c]
fcomp qword [0x543960]
fnstsw ax
test ah, 0x41
jne 0x47b62e
push 0x78
mov dword [ebx + 0x164], 0x64
mov byte [ebx + 0x2e0], 1
call fcn.004e0321
test eax, eax
pop ecx
je 0x47b3db
push str.start
mov ebx, eax
call fcn.0049a466
mov ebx, eax
jmp 0x47b3dd
xor ebx, ebx
fld dword [0x543fe4]
sub esp, 0x18
fstp dword [esp + 0x84]
mov edi, esp
fld dword [0x543fe0]
lea esi, [esp + 0x84]
fstp dword [esp + 0x88]
fldz
fst dword [esp + 0x8c]
fld dword [0x543ec0]
fstp dword [esp + 0x14]
fld dword [0x543c88]
fstp dword [esp + 0x10]
fstp dword [esp + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
movsd dword es:[edi], dword [esi]
call fcn.0049a526
mov ecx, dword [0x57b4d8]
mov eax, dword [ecx]
xor esi, esi
push esi
push esi
push 1
push ebx
call dword [eax + 0x10]
fld1
sub esp, 0xc
fst dword [esp + 8]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push str.sfxgrowsprite.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
fld1
sub esp, 0xc
fstp dword [esp + 8]
fldz
fstp dword [esp + 4]
fld dword [0x543c7c]
fstp dword [esp]
push str.khufu_start.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
mov eax, dword [0x57b54c]
call fcn.0046897c
fldz
mov ebx, dword [esp + 0x18]
fstp dword [ebx + 0x1e0]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], esi
call fcn.00480c5a
test eax, eax
jbe 0x47b4f3
lea edi, [ebx + 0x44]
push dword [esp + 0x20]
mov esi, dword [esp + 0x20]
call fcn.00480c70
mov esi, dword [esp + 0x20]
mov dword [esp + 0x38], eax
call fcn.00458652
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
inc dword [esp + 0x20]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x1c]
call fcn.00480c5a
cmp dword [esp + 0x20], eax
jb 0x47b4b6
lea eax, [ebx + 0x17c]
xor esi, esi
mov dword [esp + 0x28], eax
call fcn.0041ae5a
test eax, eax
jbe 0x47b534
mov edi, dword [esp + 0x28]
call fcn.00458652
cmp dword [eax], 0
je 0x47b526
call fcn.00458652
mov ebx, dword [eax]
call fcn.0041a39b
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x47b508
mov eax, dword [esp + 0x28]
xor edi, edi
call fcn.0041aea4
sub esp, 0x14
push 5
pop ecx
mov edi, esp
lea esi, [esp + 0x80]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x30]
xor eax, eax
call fcn.00480d82
push ecx
fldz
lea eax, [ebx + 0x18c]
fstp dword [esp]
push 0
call fcn.00480e15
cmp dword [ebx + 0x214], 1
jne 0x47b5d5
cmp dword [ebx + 0x218], 0
jne 0x47b5d5
mov ecx, dword [0x577b24]
fld dword [0x543e08]
test ecx, ecx
fstp dword [ebx + 0xf0]
jne 0x47b5a6
mov byte [ebx + 0x2e4], 1
mov byte [ebx + 0x2e9], 1
jmp 0x47b5be
mov eax, dword [0x57b550]
test eax, eax
je 0x47b5b9
mov dword [eax + 0x88], 1
cmp ecx, 3
je 0x47b5e8
mov byte [ebx + 0x2e5], 1
mov byte [ebx + 0x2e6], 1
mov byte [ebx + 0x2e7], 1
jmp 0x47b5e8
mov eax, dword [0x57b550]
test eax, eax
je 0x47b5e8
mov dword [eax + 0x88], 1
cmp dword [0x57b54c], 0
je 0x47b61a
call fcn.004434ea
cmp byte [eax + 0x17f], 0
mov eax, dword [0x57b54c]
jne 0x47b612
fld dword [ebx + 0x1dc]
fdivr qword [0x544488]
jmp 0x47b614
fldz
fstp dword [eax + 0x1ec]
mov eax, dword [0x57b55c]
test eax, eax
mov ebx, dword [esp + 0x18]
je 0x47b62e
mov byte [eax + 0xd8], 1
fld dword [ebx + 0x1a0]
fcomp qword [0x543f70]
fnstsw ax
test ah, 5
jp 0x47b6c6
jmp 0x47aaa5
cmp eax, 4
je 0x47b6b9
cmp eax, 5
je 0x47b6b9
cmp eax, 0x66
jne 0x47b6c6
push 0
mov eax, ebx
call fcn.00487c15
test al, al
je 0x47b6c6
fld dword [0x543be0]
fcomp dword [ebx + 0x1c4]
fnstsw ax
test ah, 1
jne 0x47b6c6
fld dword [ebx + 0x1b8]
fcomp qword [0x543f88]
fnstsw ax
test ah, 1
jne 0x47b6c6
mov ecx, dword [0x57b4d8]
and dword [ebx + 0x164], 0
test ecx, ecx
je 0x47b6c6
mov eax, dword [ecx]
lea edx, [esp + 0x6c]
push edx
mov dword [esp + 0x70], 0x5778fc
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
call dword [eax + 0x28]
jmp 0x47b6c6
lea eax, [ebx + 0x168]
fld dword [eax]
fadd dword [ebp + 8]
fstp dword [eax]
fldz
fcom dword [ebx + 0x204]
fnstsw ax
test ah, 5
jp 0x47b707
fld dword [ebx + 0x204]
fsub dword [ebp + 8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x204]
fcom dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x47b707
fld1
fstp dword [ebx + 0x1bc]
fstp dword [ebx + 0x1c8]
jmp 0x47b709
fstp st(0)
cmp byte [ebx + 0x2e3], 0
lea ecx, [ebx + 0x1bc]
lea esi, [ebx + 0x1b8]
push ecx
lea eax, [ebx + 0x1c0]
mov dword [esp + 0x38], ecx
mov edx, esi
push ecx
je 0x47b763
fld1
fstp dword [esp + 4]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.00456eeb
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
pop ecx
fstp dword [esi]
pop ecx
fld dword [esp + 0x2c]
fcomp qword [0x543f88]
fnstsw ax
test ah, 1
jne 0x47b77c
mov byte [ebx + 0x2e3], 0
jmp 0x47b77c
fld dword [0x543bac]
fstp dword [esp + 4]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.00456eeb
pop ecx
fstp dword [esi]
pop ecx
fld dword [esi]
lea edx, [ebx + 0x1d8]
fstp dword [0x56868c]
fld dword [esi]
lea esi, [ebx + 0x1d0]
fmul dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [esi]
fld dword [edx]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x47b7ca
fld dword [0x543a34]
push ecx
push ecx
fstp dword [esp + 4]
mov eax, edx
fld dword [ebp + 8]
lea ecx, [ebx + 0x1d4]
mov edx, esi
fstp dword [esp]
call fcn.00456eeb
fstp dword [esi]
pop ecx
pop ecx
fld dword [0x543bac]
lea ecx, [ebx + 0x1c8]
push ecx
push ecx
fstp dword [esp + 4]
lea esi, [ebx + 0x1c4]
fld dword [ebp + 8]
lea eax, [ebx + 0x1cc]
mov edx, esi
fstp dword [esp]
mov dword [esp + 0x50], ecx
call fcn.00456eeb
fstp dword [esi]
fld dword [ebx + 0x208]
pop ecx
fadd dword [ebp + 8]
pop ecx
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x208]
fld dword [0x544048]
fcom dword [esp + 0x2c]
fnstsw ax
test ah, 5
jp 0x47b83f
fld dword [ebx + 0x208]
fsub qword [0x543928]
fstp dword [ebx + 0x208]
fcom dword [ebx + 0x208]
jmp 0x47b81e
fstp st(0)
push ecx
fld dword [ebp + 8]
mov eax, ebx
fstp dword [esp]
call fcn.004875d9
fldz
fcomp dword [ebx + 0x210]
fnstsw ax
test ah, 0x41
jp 0x47b89b
fld dword [ebp + 8]
fmul qword [0x543968]
fadd dword [ebx + 0x210]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x210]
fld1
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jp 0x47b89b
fld dword [0x543950]
and dword [ebx + 0x20c], 0
fstp dword [ebx + 0x210]
fld dword [ebp + 8]
lea eax, [ebx + 0xec]
fmul qword [0x543ae8]
fadd dword [eax]
fstp dword [eax]
call fcn.004014e2
mov eax, dword [eax + 0x184]
mov dword [esp + 0x28], eax
call fcn.004014e2
mov eax, dword [eax + 0x188]
mov dword [esp + 0x38], eax
mov eax, dword [0x57b4d8]
test eax, eax
je 0x47b8f2
cmp byte [ebx + 0x2eb], 0
jne 0x47b8f2
push 1
call fcn.00454ce4
fiadd dword [esp + 0x28]
call fcn.005209b0
mov dword [esp + 0x28], eax
cmp byte [0x577b14], 0
je 0x47b901
push ebx
call fcn.00488598
mov dl, byte [ebx + 0x2eb]
test dl, dl
jne 0x47b984
mov ecx, dword [ebx + 0x164]
cmp ecx, 0x64
je 0x47b920
cmp ecx, 5
je 0x47b920
cmp ecx, 4
jne 0x47b984
fld dword [ebp + 8]
fmul qword [0x543960]
fadd dword [0x577b3c]
fstp dword [0x577b3c]
fld dword [0x5452a0]
fcom dword [0x577b3c]
fnstsw ax
test ah, 5
jp 0x47b955
cmp ecx, 0x64
jne 0x47b955
fldz
fstp dword [0x577b3c]
fld dword [ebp + 8]
fmul qword [0x544538]
fadd dword [0x577b2c]
fstp dword [0x577b2c]
fcomp dword [0x577b2c]
fnstsw ax
test ah, 5
jp 0x47b984
cmp ecx, 0x64
jne 0x47b984
fldz
fstp dword [0x577b2c]
cmp dword [ebx + 0x164], 0x64
jne 0x47b9b0
mov eax, dword [0x57b54c]
test eax, eax
je 0x47b9b0
test dl, dl
jne 0x47b9b0
fldz
fcomp dword [eax + 0x1c8]
fnstsw ax
test ah, 1
jne 0x47b9b0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x4c]
fldz
fcom dword [ebx + 0x1f8]
fnstsw ax
test ah, 5
jp 0x47ba02
fld dword [ebx + 0x1f8]
fsub dword [ebp + 8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x1f8]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
jne 0x47ba49
call fcn.004e0031
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fdiv qword [0x543930]
fmul qword [0x543938]
fsubr qword [0x543ae8]
jmp 0x47ba43
fld dword [ebp + 8]
fadd dword [ebx + 0x1f8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x1f8]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 5
jp 0x47ba49
call fcn.004e0031
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fdiv qword [0x543930]
fmul qword [0x543a00]
fadd qword [0x543938]
fstp dword [ebx + 0x1f8]
cmp byte [ebx + 0x2ea], 0
fld dword [ebx + 0x1e8]
fstp dword [esp + 0x1c]
fld qword [0x543e78]
je 0x47baf0
cmp dword [ebx + 0x164], 0x64
jne 0x47badf
fmul dword [ebx + 0x1e8]
fadd qword [0x543ea0]
fsub qword [0x543cd0]
fstp dword [esp + 0x20]
fild dword [esp + 0x28]
fstp dword [esp + 0x2c]
fld dword [esp + 0x20]
fld dword [esp + 0x2c]
fld qword [0x543928]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x47babf
fstp st(0)
fld dword [ebx + 0x1e8]
fld dword [ebp + 8]
fadd st(0), st(0)
fsubp st(1)
fstp dword [ebx + 0x1e8]
jmp 0x47bae1
fld dword [esp + 0x20]
fld dword [esp + 0x2c]
fsubrp st(2)
fcompp
fnstsw ax
test ah, 5
jp 0x47bae1
fld dword [ebp + 8]
fadd st(0), st(0)
fadd dword [ebx + 0x1e8]
jmp 0x47bab7
fstp st(0)
fld dword [ebx + 0x1e8]
fstp dword [esp + 0x1c]
jmp 0x47bd89
fldz
fcom dword [ebx + 0x1e8]
fnstsw ax
test ah, 0x41
jne 0x47bc38
cmp dword [ebx + 0x164], 0x64
jne 0x47bbb7
fstp st(1)
fld dword [ebx + 0xf4]
fmul dword [ebp + 8]
fadd dword [ebx + 0x1e8]
fstp dword [ebx + 0x1e8]
fcomp dword [ebx + 0x1f4]
fnstsw ax
test ah, 0x41
jp 0x47bb93
fld dword [ebp + 8]
fmul qword [0x5439a0]
fadd dword [ebx + 0x1f4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x1f4]
fld1
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jp 0x47bb6c
fld dword [0x543950]
fstp dword [ebx + 0x1f4]
jmp 0x47bb93
fld dword [esp + 0x2c]
push ecx
fadd st(0), st(0)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
call fcn.0040ff28
fmul dword [ebp + 8]
pop ecx
fadd dword [ebx + 0x1e8]
fstp dword [ebx + 0x1e8]
fldz
fcomp dword [ebx + 0x1e8]
fnstsw ax
test ah, 0x41
jp 0x47bd89
fld dword [0x543950]
fstp dword [ebx + 0x1f4]
jmp 0x47bd89
cmp byte [ebx + 0x2ec], 0
je 0x47bd85
fld dword [ebp + 8]
lea eax, [ebx + 0x19c]
fmul qword [0x543d50]
mov ecx, dword [eax]
fadd dword [ebx + 0x1e8]
fstp dword [ebx + 0x1e8]
mov byte [ecx + 0x99], 0
mov eax, dword [eax]
test eax, eax
je 0x47bd85
fld dword [ebx + 0x1e8]
sub esp, 0xc
fadd qword [0x5439b0]
mov edi, esp
lea esi, [esp + 0x78]
lea ecx, [eax + 0x3c]
mov eax, dword [ecx]
fmulp st(2)
fld qword [0x545298]
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x78]
fld dword [0x545124]
fstp dword [esp + 0x7c]
fstp dword [esp + 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x10]
jmp 0x47bd89
cmp byte [ebx + 0x2ec], 0
je 0x47bc52
fld dword [ebp + 8]
fmul qword [0x543d50]
fadd dword [ebx + 0x1e8]
jmp 0x47bc5b
fld dword [ebx + 0x1e8]
fadd dword [ebp + 8]
mov eax, dword [ebx + 0x19c]
fstp dword [ebx + 0x1e8]
test eax, eax
je 0x47bcac
fld dword [ebx + 0x1e8]
sub esp, 0xc
fmulp st(2)
mov edi, esp
fxch st(1)
lea esi, [esp + 0x78]
lea ecx, [eax + 0x3c]
fadd qword [0x543ea0]
mov eax, dword [ecx]
fsub qword [0x543928]
fstp dword [esp + 0x78]
fld dword [0x545124]
fstp dword [esp + 0x7c]
fstp dword [esp + 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x10]
jmp 0x47bcb0
fstp st(1)
fstp st(0)
fld1
fcomp dword [ebx + 0x1e8]
fnstsw ax
test ah, 5
jp 0x47bd89
mov eax, dword [ebx + 0x19c]
fld dword [0x543950]
xor edi, edi
fstp dword [ebx + 0x1e8]
cmp eax, edi
mov dword [ebx + 0x1ec], edi
je 0x47bcef
mov byte [eax + 0x9a], 0
mov byte [eax + 0x99], 1
cmp byte [ebx + 0x2ec], 0
je 0x47bd04
mov byte [ebx + 0x2ec], 0
jmp 0x47bd89
cmp dword [ebx + 0xb0], edi
jbe 0x47bd1c
cmp dword [ebx + 0x164], 5
jne 0x47bd1c
mov byte [ebx + 0x2ec], 1
lea eax, [ebx + 0x2e6]
cmp byte [eax], 0
je 0x47bd89
cmp dword [ebx + 0x164], 0x64
jne 0x47bd89
fld dword [0x544c08]
mov esi, dword [0x57b55c]
push edi
push 0xa
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_sweep
push ecx
mov byte [eax], 0
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
pop ecx
push eax
call fcn.00467531
mov eax, dword [0x57b550]
cmp eax, edi
je 0x47bd89
cmp dword [0x577b24], edi
jne 0x47bd89
mov dword [eax + 0x88], 1
mov byte [eax + 0x90], 1
jmp 0x47bd89
fstp st(1)
fstp st(0)
mov ecx, dword [ebx + 0x19c]
xor edi, edi
cmp ecx, edi
je 0x47bda1
fld dword [ebp + 8]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0xc]
cmp dword [ebx + 0x164], 0x64
jne 0x47c268
cmp byte [ebx + 0x2e0], 0
je 0x47bf04
call fcn.004014e2
mov esi, 0x84
add eax, esi
test byte [eax + 0x70], 2
jbe 0x47be0d
cmp byte [eax + 0x108], 0
jne 0x47be0d
push 0xf0
call fcn.004e0321
cmp eax, edi
pop ecx
je 0x47bdf5
push edi
push edi
push dword [0x577b24]
push eax
call fcn.00437854
jmp 0x47bdf7
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push edi
push edi
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
mov dword [0x57b4dc], ebx
call fcn.004014e2
add eax, esi
test byte [eax + 1], 2
jbe 0x47bf04
cmp byte [eax + 0x108], 0
jne 0x47bf04
fldz
fcom dword [ebx + 0x1e8]
fnstsw ax
test ah, 0x41
jne 0x47bf02
cmp dword [ebx + 0xb0], edi
jbe 0x47bf02
fcomp dword [ebx + 0x1f4]
fnstsw ax
test ah, 0x41
jne 0x47bf04
cmp byte [ebx + 0x2ea], 0
jne 0x47bf04
fld dword [ebx + 0x1e8]
fadd qword [0x5439b0]
fmul qword [0x543e78]
fsubr qword [0x543e98]
fsub qword [0x543cd0]
fadd dword [ebx + 0x2b8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
call fcn.005209b0
fld dword [esp + 0x2c]
fadd qword [0x544198]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0x2b2
call fcn.005209b0
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x78], 0x2e4
call fcn.004357dc
test al, al
je 0x47bf04
fldz
sub esp, 0xc
fst dword [ebx + 0x1f4]
fld1
fst dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
push str.sfx_sweeper.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
jmp 0x47bf04
fstp st(0)
fld dword [ebp + 8]
lea eax, [ebx + 0x1e0]
fadd dword [eax]
fstp dword [eax]
fld dword [ebp + 8]
fadd dword [ebx + 0x2ac]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x2ac]
fld dword [0x543b7c]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 5
jp 0x47c0dc
fldz
fstp dword [ebx + 0x2ac]
call fcn.004e0031
push 0x64
cdq
pop ecx
idiv ecx
cmp edx, dword [ebx + 0x2b0]
jge 0x47bfe5
lea edi, [ebx + 0x64]
mov eax, edi
call fcn.0041ae5a
mov esi, eax
call fcn.004e0031
xor edx, edx
div esi
mov esi, edx
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
jne 0x47bfe5
call fcn.00458652
mov ebx, dword [eax]
call fcn.004596c5
test al, al
je 0x47bfe1
push 0x54
call fcn.004e0321
mov ebx, eax
test ebx, ebx
pop ecx
je 0x47bfb6
call fcn.00458652
fldz
push ecx
fstp dword [esp]
push dword [eax]
mov eax, ebx
call fcn.0046533c
mov ebx, eax
jmp 0x47bfb8
xor ebx, ebx
call fcn.00458652
mov eax, dword [eax]
mov dword [eax + 0x3c], ebx
mov eax, dword [esp + 0x18]
mov ebx, dword [eax]
add ebx, 0x10
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
push 0
push 0
push 1
push dword [eax + 0x3c]
call dword [ebx]
mov ebx, dword [esp + 0x18]
mov eax, dword [0x57b4c8]
cmp byte [eax + 0x36], 0
je 0x47c0dc
lea edi, [ebx + 0x64]
mov eax, edi
call fcn.0041ae5a
mov esi, eax
call fcn.004e0031
xor edx, edx
div esi
mov esi, edx
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
jne 0x47c0dc
call fcn.00458652
mov eax, dword [eax]
call fcn.0045e682
test al, al
je 0x47c0dc
push 0x7c
call fcn.004e0321
test eax, eax
pop ecx
je 0x47c04c
push str.flare
mov ebx, eax
call fcn.0049a14d
mov ebx, eax
jmp 0x47c04e
xor ebx, ebx
fldz
fst dword [esp + 0x6c]
fst dword [esp + 0x70]
fstp dword [esp + 0x74]
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 0x28]
fstp dword [esp + 0x60]
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 0x2c]
push ecx
fstp dword [esp + 0x68]
mov eax, 0xaffff5eb
fldz
lea esi, [esp + 0x70]
fst dword [esp + 0x6c]
fstp dword [esp]
fld dword [0x543c6c]
push eax
sub esp, 0x18
fstp dword [esp + 0x14]
fld dword [0x544860]
mov edi, esp
fstp dword [esp + 0x10]
fld dword [0x543a90]
sub esp, 0xc
fstp dword [esp + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [esp + 0x8c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0049a3be
mov ecx, dword [0x57b4d8]
mov eax, dword [ecx]
push 0
push 0
push 1
push ebx
call dword [eax + 0x10]
mov ebx, dword [esp + 0x18]
fld dword [ebp + 8]
fadd dword [ebx + 0x1e4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x1e4]
fld1
fcomp dword [esp + 0x2c]
jmp 0x47c25d
call fcn.004e0031
mov esi, 0x3e8
cdq
mov ecx, esi
idiv ecx
cmp edx, dword [ebx + 0x1b0]
jge 0x47c1a5
lea edi, [ebx + 0x44]
mov eax, edi
call fcn.0041ae5a
mov esi, eax
call fcn.004e0031
xor edx, edx
div esi
mov esi, edx
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x47c243
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.00459639
test al, al
je 0x47c243
mov eax, dword [ebx]
add eax, 0x5c
mov dword [esp + 0x2c], eax
call fcn.00458652
push dword [eax]
mov eax, dword [esp + 0x30]
mov ecx, ebx
call dword [eax]
test al, al
je 0x47c243
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.0047a352
fld1
push ecx
fst dword [esp]
fldz
push 0
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x244]
jmp 0x47c23e
call fcn.004e0031
cdq
idiv esi
cmp edx, dword [ebx + 0x1ac]
jge 0x47c243
lea edi, [ebx + 0x44]
mov eax, edi
call fcn.0041ae5a
mov esi, eax
call fcn.004e0031
xor edx, edx
div esi
mov esi, edx
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x47c243
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.00459639
test al, al
je 0x47c243
mov eax, dword [ebx]
add eax, 0x5c
mov dword [esp + 0x2c], eax
call fcn.00458652
push dword [eax]
mov eax, dword [esp + 0x30]
mov ecx, ebx
call dword [eax]
test al, al
je 0x47c243
call fcn.00458652
fldz
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
fcom dword [ecx + 0x5c]
fnstsw ax
test ah, 0x41
jne 0x47c225
fst dword [ecx + 0x5c]
fld1
push ecx
fst dword [esp]
push 0
fxch st(1)
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x240]
call fcn.00426b50
fld dword [ebx + 0x1e4]
fsub qword [0x5439b0]
fstp dword [ebx + 0x1e4]
fld1
fcomp dword [ebx + 0x1e4]
fnstsw ax
test ah, 5
jnp 0x47c0fe
cmp dword [ebx + 0x164], 5
jne 0x47c501
cmp dword [ebx + 0xb0], 0
jne 0x47c2cf
fld dword [ebx + 0x2b8]
fld qword [0x5439f0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x47c2cd
fld dword [ebp + 8]
fmul qword [0x543bd0]
fadd dword [ebx + 0x2b8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x2b8]
fld dword [esp + 0x2c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x47c2cf
fld dword [0x543a18]
fstp dword [ebx + 0x2b8]
jmp 0x47c2cf
fstp st(0)
fld dword [ebx + 0x1a0]
and dword [esp + 0x14], 0
fstp dword [esp + 0x20]
lea edi, [ebx + 0x44]
fld dword [ebx + 0x1a0]
mov eax, edi
fld dword [ebp + 8]
fmul qword [0x544538]
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + 0x1a0]
fld dword [esp + 0x2c]
fadd qword [0x543f70]
fstp dword [esp + 0x3c]
fld dword [esp + 0x2c]
fld qword [0x543cd0]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x44]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
call fcn.0041ae5a
test eax, eax
jbe 0x47c48f
mov esi, dword [esp + 0x14]
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x47c430
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.00459639
test al, al
je 0x47c430
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
cmp byte [eax + 0x7a], 0
jne 0x47c430
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 4]
fld dword [esp + 0x3c]
fcompp
fnstsw ax
test ah, 5
jp 0x47c430
call fcn.00458652
fldz
push ecx
fstp dword [esp]
push 0
mov esi, eax
call fcn.004e0031
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
push ecx
fdiv qword [0x543930]
fsub qword [0x543938]
fmul qword [0x543978]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.004e0031
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
push ecx
fdiv qword [0x543930]
fsub qword [0x543938]
fld qword [0x5439d8]
fmul st(1), st(0)
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.004e0031
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov eax, dword [esi]
mov esi, dword [eax + 0x3c]
fdiv qword [0x543930]
push ecx
fsub qword [0x543938]
fmul qword [0x543f70]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.004780d7
mov esi, dword [esp + 0x14]
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 4]
fld dword [esp + 0x44]
fcompp
fnstsw ax
test ah, 5
jp 0x47c47a
call fcn.00458652
mov eax, dword [eax]
fld dword [eax + 4]
fld dword [esp + 0x20]
fcompp
fnstsw ax
test ah, 1
jne 0x47c47a
call fcn.00458652
fld dword [0x544044]
push 0
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.0045b278
inc dword [esp + 0x14]
mov eax, edi
call fcn.0041ae5a
cmp dword [esp + 0x14], eax
jb 0x47c337
fld dword [0x545290]
fcomp dword [ebx + 0x1a0]
fnstsw ax
test ah, 0x41
jne 0x47c501
xor esi, esi
cmp dword [0x57b558], esi
jne 0x47c501
lea eax, [ebx + 0x2c0]
mov ecx, dword [eax]
add dword [ebx + 0x2bc], ecx
mov ecx, dword [ebx + 0x2bc]
mov dword [eax], esi
mov eax, dword [0x57b4d8]
push eax
mov dword [eax + 0x80], ecx
call fcn.00453667
push 0x248
call fcn.004e0321
cmp eax, esi
pop ecx
je 0x47c4ef
push dword [ebx + 0x2bc]
call fcn.0049169e
jmp 0x47c4f1
xor eax, eax
mov ecx, dword [0x57b4d8]
mov edx, dword [ecx]
push esi
push esi
push 1
push eax
call dword [edx + 0x10]
fldz
and dword [esp + 0x14], 0
fld dword [0x577b4c]
mov byte [esp + 0x12], 0
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x47c529
fsub dword [ebp + 8]
fstp dword [0x577b4c]
jmp 0x47c52b
fstp st(0)
lea eax, [ebx + 0xa8]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
lea eax, [ebx + 0xa8]
mov ecx, dword [eax + 4]
lea edi, [esp + 0x20]
lea esi, [esp + 0x50]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
call fcn.0041d163
test al, al
je 0x47c874
lea edi, [esp + 0x2c]
call fcn.0041d180
mov esi, edi
call fcn.00419ec0
fld dword [ebp + 8]
mov eax, dword [eax]
push ecx
fstp dword [esp]
call fcn.00488fe6
test al, al
je 0x47c5eb
call fcn.00419ec0
mov eax, dword [eax]
test eax, eax
je 0x47c59e
mov ecx, dword [0x57ca40]
mov dword [eax], ecx
mov dword [0x57ca40], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
lea edi, [esp + 0x60]
lea esi, [esp + 0x58]
mov dword [esp + 0x5c], eax
call fcn.0041d180
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0xac]
je 0x47c53e
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push eax
mov dword [ecx + 4], edx
call fcn.004e001f
dec dword [ebx + 0xb0]
pop ecx
jmp 0x47c53e
fldz
fcom dword [ebx + 0x1e8]
fnstsw ax
test ah, 5
jp 0x47c79c
lea esi, [esp + 0x2c]
fstp st(0)
call fcn.00419ec0
fldz
mov eax, dword [eax]
fcom dword [eax + 0x20]
fnstsw ax
test ah, 0x41
jne 0x47c79c
fstp st(0)
fld dword [ebx + 0x1e8]
fmul qword [0x545288]
fadd qword [0x545280]
call fcn.005209b0
mov dword [esp + 0x3c], eax
call fcn.00419ec0
mov eax, dword [eax]
fld dword [eax]
fld dword [esp + 0x1c]
fmul qword [0x545288]
fadd qword [0x543960]
call fcn.005209b0
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fcompp
fnstsw ax
test ah, 0x41
jp 0x47c86b
call fcn.00419ec0
mov eax, dword [eax]
fld dword [eax]
fild dword [esp + 0x3c]
fcompp
fnstsw ax
test ah, 1
jne 0x47c86b
cmp byte [ebx + 0x2ec], 0
je 0x47c69f
call fcn.00419ec0
mov esi, dword [eax]
call fcn.00489430
jmp 0x47c791
mov eax, dword [0x577b24]
test eax, eax
jne 0x47c6cc
call fcn.00419ec0
fild dword [ebx + 0x1ec]
fmul qword [0x545278]
fadd qword [0x543e20]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
jmp 0x47c786
cmp eax, 4
jne 0x47c6f5
call fcn.00419ec0
fild dword [ebx + 0x1ec]
fmul qword [0x545270]
fadd qword [0x543e20]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
jmp 0x47c786
cmp eax, 5
jne 0x47c71b
call fcn.00419ec0
fild dword [ebx + 0x1ec]
fmul qword [0x545268]
fadd qword [0x545260]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
jmp 0x47c786
cmp eax, 6
jne 0x47c741
call fcn.00419ec0
fild dword [ebx + 0x1ec]
fmul qword [0x545258]
fadd qword [0x543e20]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
jmp 0x47c786
cmp eax, 1
jne 0x47c767
call fcn.00419ec0
fild dword [ebx + 0x1ec]
fmul qword [0x545250]
fadd qword [0x544568]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
jmp 0x47c786
call fcn.00419ec0
fild dword [ebx + 0x1ec]
fmul qword [0x545248]
fadd qword [0x543e20]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
mov esi, dword [eax]
push ecx
fstp dword [esp]
call fcn.00489335
inc dword [ebx + 0x1ec]
jmp 0x47c86b
fcom dword [ebx + 0x1e8]
fnstsw ax
test ah, 0x41
jne 0x47c7ff
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x47c801
lea esi, [esp + 0x2c]
call fcn.00419ec0
fld dword [0x545244]
mov eax, dword [eax]
fcomp dword [eax + 0xc]
fnstsw ax
test ah, 0x41
jne 0x47c801
call fcn.00419ec0
fldz
mov eax, dword [eax]
fcom dword [eax + 0x20]
fnstsw ax
test ah, 0x41
jne 0x47c7ff
cmp byte [ebx + 0x2ec], 0
jne 0x47c7ff
fcomp dword [ebx + 0x1f4]
fnstsw ax
test ah, 0x41
jne 0x47c801
mov byte [esp + 0x12], 1
jmp 0x47c86b
fstp st(0)
lea esi, [esp + 0x2c]
call fcn.00419ec0
fldz
mov eax, dword [eax]
fcomp dword [eax + 0x20]
fnstsw ax
test ah, 0x41
je 0x47c825
cmp byte [ebx + 0x2ec], 0
je 0x47c53e
lea eax, [ebx + 0x2e5]
cmp byte [eax], 0
je 0x47c86b
cmp byte [ebx + 0x2ec], 0
jne 0x47c86b
fld dword [0x545240]
mov esi, dword [0x57b55c]
push 0
push 9
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_blast
push ecx
mov byte [eax], 0
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
pop ecx
push eax
call fcn.00467531
inc dword [esp + 0x14]
jmp 0x47c53e
cmp byte [ebx + 0x2e6], 0
je 0x47c88b
cmp byte [esp + 0x12], 0
je 0x47c8ac
cmp dword [esp + 0x14], 0xd
jmp 0x47c897
cmp byte [esp + 0x12], 0
je 0x47c8ac
cmp dword [esp + 0x14], 0x41
jge 0x47c8ac
cmp byte [ebx + 0x2ea], 0
jne 0x47c8ac
fld dword [esp + 0x1c]
fstp dword [ebx + 0x1e8]
lea eax, [ebx + 0x9c]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
jmp 0x47c8c7
fstp st(0)
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
lea edi, [esp + 0x58]
lea esi, [esp + 0x3c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
call fcn.0041d163
test al, al
je 0x47ca60
call fcn.00419ec0
mov eax, dword [eax]
cmp byte [eax + 0x76], 0
je 0x47c940
call fcn.00419ec0
push dword [esp + 0x40]
mov esi, dword [eax]
push dword [esp + 0x40]
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x50], esi
call fcn.00422f4f
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edi, ebx
push dword [edi + 4]
mov dword [esp + 0x44], eax
push edi
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x48], ecx
call fcn.00482e2e
mov byte [esi + 0x76], 0
mov ebx, dword [esp + 0x18]
jmp 0x47c8c7
lea edi, [esp + 0x50]
call fcn.0041d180
call fcn.004014e2
cmp byte [eax + 0x18c], 0
jne 0x47c982
lea edi, [ebx + 0xd8]
cmp dword [edi], 0
je 0x47c982
lea esi, [esp + 0x50]
call fcn.00419ec0
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x3c]
cmp ecx, dword [eax]
jne 0x47c982
cmp dword [ebx + 0x164], 0x64
mov byte [esp + 0x2c], 1
je 0x47c987
mov byte [esp + 0x2c], 0
lea esi, [esp + 0x50]
call fcn.00419ec0
fld dword [ebx + 0x2a8]
push ecx
fstp dword [esp]
push dword [esp + 0x30]
fld dword [ebp + 8]
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.0047869c
test al, al
je 0x47c9ef
call fcn.00419ec0
mov esi, dword [eax]
test esi, esi
je 0x47c9d4
mov ebx, dword [esi + 0x10]
test ebx, ebx
je 0x47c9c7
call fcn.0041a39b
mov eax, dword [0x57ca2c]
mov dword [esi], eax
mov dword [0x57ca2c], esi
push dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
push dword [esp + 0x54]
lea eax, [esp + 0x74]
push eax
call fcn.00422f4f
jmp 0x47c93a
fldz
fcom dword [ebx + 0x1e8]
fnstsw ax
test ah, 0x41
jne 0x47c8c5
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x47c8c7
lea esi, [esp + 0x50]
call fcn.00419ec0
mov eax, dword [eax]
cmp byte [eax + 0x7a], 0
je 0x47c8c7
cmp byte [ebx + 0x2ec], 0
jne 0x47c8c7
fldz
fcomp dword [ebx + 0x1f4]
fnstsw ax
test ah, 0x41
jne 0x47c8c7
cmp dword [esp + 0x14], 0x41
jge 0x47c8c7
fld dword [esp + 0x1c]
fstp dword [ebx + 0x1e8]
jmp 0x47c8c7
xor esi, esi
cmp dword [esp + 0x14], esi
jne 0x47ca8c
fldz
fcomp dword [ebx + 0x1e8]
fnstsw ax
test ah, 0x41
jne 0x47ca8c
cmp byte [ebx + 0x2ea], 0
jne 0x47ca8c
fld dword [0x543950]
fstp dword [ebx + 0x1e8]
fldz
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x47cb38
fcom dword [ebx + 0x1e8]
fnstsw ax
test ah, 0x41
jp 0x47cb38
cmp byte [ebx + 0x2ec], 0
mov dword [ebx + 0x20c], esi
jne 0x47cb13
cmp dword [esp + 0x14], 0x22
fld1
push ecx
fst dword [esp]
push esi
fxch st(1)
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
jle 0x47caed
push dword [ebx + 0x290]
mov dword [ebx + 0x20c], 2
call fcn.00426b50
jmp 0x47cb15
cmp dword [esp + 0x24], 0x11
jle 0x47cb0b
push dword [ebx + 0x28c]
call fcn.00426b50
mov dword [ebx + 0x20c], 1
jmp 0x47cb15
push dword [ebx + 0x288]
jmp 0x47cae6
fstp st(0)
cmp dword [ebx + 0x20c], esi
jbe 0x47cb25
fldz
fstp dword [ebx + 0x210]
mov eax, dword [ebx + 0x19c]
cmp eax, esi
je 0x47cb3a
mov byte [eax + 0x99], 0
jmp 0x47cb3a
fstp st(0)
mov ecx, dword [ebx + 0x200]
cmp ecx, esi
je 0x47cb63
call fcn.00459639
test al, al
je 0x47cb63
fld1
mov eax, dword [esp + 0x34]
fstp dword [eax]
mov dword [ebx + 0x200], esi
fldz
mov eax, dword [esp + 0x48]
fstp dword [eax]
lea eax, [ebx + 0x44]
mov dword [esp + 0x1c], esi
call fcn.0041ae5a
test eax, eax
jbe 0x47cbaa
mov esi, dword [esp + 0x1c]
lea edi, [ebx + 0x44]
call fcn.00458652
fld dword [ebx + 0x2a8]
mov esi, dword [eax]
push ecx
push ecx
fstp dword [esp + 4]
fld dword [ebp + 8]
fstp dword [esp]
call fcn.0045b147
inc dword [esp + 0x1c]
lea eax, [ebx + 0x44]
call fcn.0041ae5a
cmp dword [esp + 0x1c], eax
jb 0x47cb73
lea edi, [ebx + 0x64]
mov eax, edi
xor esi, esi
call fcn.0041ae5a
test eax, eax
jbe 0x47cbd9
call fcn.00458652
fld dword [ebp + 8]
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004597f8
mov eax, edi
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x47cbba
lea edi, [ebx + 0x54]
mov eax, edi
xor esi, esi
call fcn.0041ae5a
test eax, eax
jbe 0x47cc08
call fcn.00458652
fld dword [ebp + 8]
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.00458c08
mov eax, edi
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x47cbe9
fld dword [0x543fb0]
xor eax, eax
mov dword [ebx + 0xd8], eax
fstp dword [esp + 0x18]
mov dword [ebx + 0xdc], eax
mov dword [esp + 0x14], eax
lea eax, [ebx + 0x44]
call fcn.0041ae5a
test eax, eax
jbe 0x47cfab
fild dword [esp + 0x38]
fstp dword [esp + 0x3c]
fild dword [esp + 0x28]
fstp dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
jne 0x47ce84
cmp byte [ebx + 0x2de], 0
je 0x47ce84
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x1c
call fcn.00412c16
test eax, eax
jne 0x47ccaa
cmp byte [ebx + 0x2eb], al
jne 0x47ce84
lea edi, [ebx + 0x44]
call fcn.00458652
lea edi, [ebx + 0x44]
mov dword [esp + 0x48], eax
call fcn.00458652
mov esi, eax
mov eax, dword [esp + 0x48]
jmp 0x47ce59
mov esi, dword [esp + 0x14]
and dword [esp + 0x1c], 0
lea edi, [ebx + 0x44]
mov byte [esp + 0x13], 0
mov byte [esp + 0x12], 1
call fcn.00458652
mov eax, dword [eax]
add eax, 0x1c
call fcn.00412c16
test eax, eax
jbe 0x47ce10
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x1c]
add edi, 0x1c
call fcn.004196a7
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
mov dword [esp + 0x44], eax
call fcn.00458652
mov eax, dword [eax]
lea edi, [ebx + 0x44]
mov dword [esp + 0x48], eax
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x1c]
add edi, 0x1c
call fcn.004196a7
mov esi, dword [eax]
mov edi, dword [esi + 0x3c]
test edi, edi
je 0x47cd3f
mov ecx, edi
call fcn.00459639
test al, al
je 0x47cd3f
mov ecx, edi
call fcn.0045a92a
test al, al
je 0x47cdb4
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x1c]
add edi, 0x1c
call fcn.004196a7
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x47cd89
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x1c]
add edi, 0x1c
call fcn.004196a7
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.0045a92a
test al, al
jne 0x47cd8e
mov byte [esp + 0x12], 0
mov esi, dword [esp + 0x14]
inc dword [esp + 0x1c]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x1c
call fcn.00412c16
cmp dword [esp + 0x1c], eax
jb 0x47ccd7
jmp 0x47ce10
fldz
mov edx, dword [esp + 0x48]
mov eax, edi
xor edi, edi
push edi
push ecx
mov ecx, dword [esp + 0x4c]
fstp dword [esp]
push edi
mov byte [eax + 0x77], 0
mov byte [eax + 0x78], 0
mov eax, dword [esi + 0x3c]
push edx
call fcn.0047a301
mov eax, dword [esi + 0x3c]
mov dword [edx + 0x3c], eax
mov dword [esi + 0x3c], edi
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
mov byte [esp + 0x13], 1
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x1c]
add edi, 0x1c
call fcn.004196a7
lea ecx, [ebx + 0xd4]
mov edx, dword [ecx]
cmp edx, dword [eax]
jne 0x47ce10
and dword [ecx], 0
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
cmp byte [eax + 0x6a], 0
jne 0x47ce2b
cmp byte [esp + 0x12], 0
je 0x47ce84
cmp byte [ebx + 0x2eb], 0
jne 0x47ce84
cmp byte [esp + 0x13], 0
jne 0x47ce84
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
lea edi, [ebx + 0x44]
mov dword [esp + 0x48], eax
call fcn.00458652
mov esi, eax
mov eax, dword [esp + 0x48]
push 0
push dword [eax]
mov eax, ebx
call fcn.0047d0f9
mov ecx, dword [esi]
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
mov dword [ecx + 0x3c], eax
call fcn.00458652
mov eax, dword [eax]
add eax, 0x3c
push eax
mov eax, dword [esp + 0x24]
call fcn.0045c280
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
fld dword [esp + 0x3c]
mov eax, dword [eax]
fsub dword [eax + 4]
fld dword [esp + 0x2c]
fsub dword [eax]
fld st(0)
fmulp st(1)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fld dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jne 0x47cf95
fld dword [esp + 0x28]
fld dword [ebx + 0xe8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x47cf2f
cmp dword [ebx + 0xe0], 0
lea edi, [ebx + 0x44]
jle 0x47cf22
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x47cf2f
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
movzx eax, word [eax + 0x14]
cmp eax, dword [ebx + 0xe0]
je 0x47cf1b
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
cmp word [eax + 0x14], 0
jne 0x47cf2f
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov dword [ebx + 0xd8], eax
cmp dword [ebx + 0xe0], 0
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
jle 0x47cf80
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x47cf95
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
movzx eax, word [eax + 0x14]
cmp eax, dword [ebx + 0xe0]
je 0x47cf79
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
cmp word [eax + 0x14], 0
jne 0x47cf95
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x44]
call fcn.00458652
fld dword [esp + 0x28]
mov eax, dword [eax]
fstp dword [esp + 0x18]
mov dword [ebx + 0xdc], eax
inc dword [esp + 0x14]
lea eax, [ebx + 0x44]
call fcn.0041ae5a
cmp dword [esp + 0x14], eax
jb 0x47cc44
mov eax, dword [ebx + 0x164]
cmp eax, 4
je 0x47cfc4
cmp eax, 5
je 0x47cfc4
cmp byte [ebx + 0x2df], 0
je 0x47cfcb
and dword [ebx + 0xd8], 0
cmp byte [ebx + 0x2eb], 0
jne 0x47cfe1
fld dword [ebp + 8]
lea eax, [ebx + 0x2a8]
fadd dword [eax]
fstp dword [eax]
call fcn.004014e2
add eax, 0x84
test byte [eax + 1], 2
jbe 0x47d0ca
cmp byte [eax + 0x108], 0
jne 0x47d0ca
mov eax, dword [ebx + 0xd8]
xor esi, esi
cmp eax, esi
je 0x47d0ca
mov eax, dword [eax + 0x3c]
cmp eax, esi
je 0x47d0ca
cmp word [eax + 0x14], 8
jb 0x47d0ca
cmp byte [ebx + 0x2eb], 0
jne 0x47d0e2
cmp byte [ebx + 0x2e0], 0
je 0x47d0ca
fld1
push ecx
mov ecx, eax
fstp dword [esp]
call fcn.0045a949
fld dword [0x5448a8]
push 1
push ecx
mov ecx, dword [ebx + 0xd8]
fstp dword [esp]
call fcn.0045b278
fld1
push ecx
fst dword [esp]
fldz
push esi
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x228]
call fcn.00426b50
lea eax, [ebx + 0x2e8]
cmp byte [eax], 0
je 0x47d0ca
mov ecx, dword [ebx + 0xd8]
mov ecx, dword [ecx + 0x3c]
cmp word [ecx + 0x14], 8
jne 0x47d0ca
push 0xc0
mov byte [eax], 0
call fcn.004e0321
cmp eax, esi
pop ecx
je 0x47d0b8
push eax
call fcn.00436300
jmp 0x47d0ba
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push esi
push esi
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
cmp byte [ebx + 0x2eb], 0
jne 0x47d0e2
fld dword [0x577b40]
fadd dword [ebp + 8]
fstp dword [0x577b40]
fld dword [ebp + 8]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0041aa89
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4