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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x454
push ebx
push esi
mov esi, ecx
test byte [esi + 0x16], 4
push edi
mov dword [esp + 0x3c], esi
jne 0x54f497
mov eax, dword [esi + 0x10]
mov edi, dword [ebp + 8]
push eax
push esi
mov ecx, edi
call fcn.005f7f80
test eax, eax
jne 0x54f497
movaps xmm0, xmmword [esi]
movaps xmm4, xmmword [edi + 0x1c0]
movaps xmm1, xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
shufps xmm3, xmm0, 0
movaps xmm0, xmmword [edi + 0x1d0]
mulps xmm4, xmm1
addps xmm4, xmm0
movaps xmm0, xmmword [edi + 0x1b0]
mulps xmm0, xmm2
addps xmm0, xmm4
movaps xmm4, xmm0
movaps xmm0, xmmword [edi + 0x1a0]
mulps xmm0, xmm3
addps xmm0, xmm4
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xaa
movaps xmmword [esp + 0x60], xmm4
fld dword [esp + 0x60]
fcomp dword [0x68b59c]
fnstsw ax
test ah, 0x41
je 0x54f497
movaps xmm0, xmmword [edi + 0x1d0]
movaps xmm4, xmmword [edi + 0x1c0]
mulps xmm4, xmm1
addps xmm4, xmm0
movaps xmm0, xmmword [edi + 0x1b0]
mulps xmm0, xmm2
addps xmm0, xmm4
movaps xmm1, xmm0
movaps xmm0, xmmword [edi + 0x1a0]
mulps xmm0, xmm3
addps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x60], xmm1
fld dword [esp + 0x60]
fsub dword [esi + 0x10]
mov byte [esp + 0x1c], 1
fcomp dword [0x68ed94]
fnstsw ax
test ah, 0x41
je 0x54cd3b
mov byte [esp + 0x1c], 0
mov ecx, dword [esi + 0x10]
push ecx
push esi
mov ecx, edi
call fcn.005f8210
mov byte [esp + 0xe], al
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x54d306
mov edi, dword [esi + 0x1c]
mov al, byte [esp + 0x1c]
mov edx, dword [edi + 0x4c]
test al, al
mov dword [esp + 0x14], edx
mov eax, edx
je 0x54cd7c
movzx ebx, byte [eax + 4]
add ebx, 2
shl ebx, 4
add ebx, eax
movzx eax, byte [eax + 0xb]
jmp 0x54cd83
lea ebx, [eax + 0x20]
movzx eax, byte [eax + 7]
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x14]
push ecx
lea ecx, [esp + 0x7c]
call fcn.00546e10
movss xmm0, dword [0x68b500]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [0x68b4fc]
mov dword [0x73f5e8], 0
mov eax, dword [edi + 0x44]
cmp eax, esi
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmmword [esp + 0x50]
xorps xmm1, xmm1
movaps xmm2, xmm1
movss xmm2, xmm0
shufps xmm2, xmm2, 0x51
movaps xmmword [esp + 0xf0], xmm2
lea ecx, [edi + 0x30]
je 0x54ce02
mov ecx, edi
movaps xmm4, xmmword [ecx]
cmp eax, esi
movaps xmmword [esp + 0xe0], xmm4
lea eax, [esp + 0x60]
jne 0x54ce1f
movaps xmm0, xmmword [edi + 0x20]
movaps xmm3, xmmword [edi + 0x30]
jmp 0x54ce26
movaps xmm0, xmmword [edi + 0x10]
movaps xmm3, xmmword [edi]
subps xmm3, xmm0
movaps xmmword [esp + 0x60], xmm3
movaps xmm3, xmmword [eax]
movaps xmm0, xmm3
mulps xmm0, xmm3
movaps xmm6, xmm0
movaps xmm5, xmm0
shufps xmm6, xmm0, 0x55
movaps xmm7, xmm0
shufps xmm5, xmm0, 0xaa
addss xmm7, xmm6
addss xmm7, xmm5
movaps xmmword [esp + 0x60], xmm7
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x80], xmm3
fnstsw ax
test ah, 0x41
jne 0x54ceb6
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xaa
movaps xmm6, xmm0
shufps xmm6, xmm0, 0x55
addss xmm0, xmm6
addss xmm0, xmm5
movaps xmmword [esp + 0xa0], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0xa0], xmm0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm5, xmm0
shufps xmm5, xmm0, 0
mulps xmm3, xmm5
movaps xmmword [esp + 0x60], xmm3
lea eax, [esp + 0x60]
jmp 0x54cebd
lea eax, [esp + 0x80]
movaps xmm3, xmmword [eax]
mov eax, dword [esp + 0x18]
movaps xmm0, xmmword [ebx]
mov edx, eax
shl edx, 4
movaps xmm5, xmmword [edx + ebx - 0x10]
cdq
sub eax, edx
mov edx, dword [0x73f5e8]
sar eax, 1
test eax, eax
addss xmm0, xmm5
movaps xmmword [esp + 0x50], xmm0
jl 0x54d0cd
movaps xmm6, xmm3
shufps xmm6, xmm3, 0xc9
movaps xmmword [esp + 0xa0], xmm6
mov ecx, ebx
lea esi, [eax + 1]
jmp 0x54cf10
movaps xmm6, xmmword [esp + 0xa0]
jmp 0x54cf10
movaps xmm0, xmmword [ecx]
movaps xmm5, xmm0
shufps xmm5, xmm0, 0x55
movaps xmm7, xmm1
movss xmm7, xmm5
movaps xmm5, xmm7
shufps xmm5, xmm5, 0x51
addps xmm4, xmm5
movaps xmm7, xmm0
shufps xmm7, xmm0, 0
mulps xmm2, xmm7
movaps xmm7, xmm1
shufps xmm7, xmm2, 0x20
shufps xmm2, xmm7, 0x24
mulps xmm6, xmm2
movaps xmmword [esp + 0x60], xmm2
shufps xmm2, xmm2, 0xc9
movaps xmmword [esp + 0x80], xmm2
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm2, xmm7
subps xmm2, xmm6
shufps xmm2, xmm2, 0xc9
movaps xmm5, xmm1
shufps xmm5, xmm2, 0x20
shufps xmm2, xmm5, 0x24
movaps xmm5, xmm2
movaps xmm2, xmm4
subps xmm2, xmm5
movaps xmm5, xmm0
subss xmm5, dword [esp + 0x50]
movaps xmm6, xmm5
shufps xmm6, xmm5, 0
movaps xmm7, xmm6
movaps xmm6, xmm3
mulps xmm6, xmm7
movaps xmmword [esp + 0xd0], xmm0
movsx eax, word [esp + 0xdc]
movaps xmm7, xmm1
shufps xmm7, xmm6, 0x20
shufps xmm6, xmm7, 0x24
movaps xmm7, xmm6
shl eax, 0x11
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
movsx eax, word [esp + 0xd8]
movaps xmm6, xmm2
fmul dword [0x694b18]
subps xmm6, xmm7
movaps xmmword [esp + 0xc0], xmm6
movaps xmm6, xmmword [esp + 0xa0]
mulps xmm6, xmmword [esp + 0x60]
fstp dword [esp + 0x10]
movaps xmmword [esp + 0x90], xmm6
movaps xmm6, xmm3
mulps xmm6, xmmword [esp + 0x80]
subps xmm6, xmmword [esp + 0x90]
shufps xmm6, xmm6, 0xc9
shl eax, 0x11
movaps xmm7, xmm1
shufps xmm7, xmm6, 0x20
shufps xmm6, xmm7, 0x24
addps xmm4, xmm6
movaps xmm6, xmm5
shufps xmm6, xmm5, 0
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
movaps xmm5, xmm3
mulps xmm5, xmm6
fmul dword [0x694b18]
mov eax, edx
movaps xmm6, xmm1
shufps xmm6, xmm5, 0x20
shufps xmm5, xmm6, 0x24
fstp dword [esp + 0x24]
shl eax, 6
movaps xmm6, xmm5
movaps xmm5, xmm4
add eax, 0x73f700
subps xmm5, xmm6
inc edx
lea edi, [esp + 0x24]
movss xmm6, dword [edi]
shufps xmm6, xmm2, 0xe0
shufps xmm2, xmm6, 0x24
movaps xmmword [eax], xmm2
lea edi, [esp + 0x10]
movss xmm2, dword [edi]
movaps xmm6, xmm2
movaps xmm2, xmmword [esp + 0xc0]
shufps xmm6, xmm2, 0xe0
shufps xmm2, xmm6, 0x24
movaps xmmword [eax + 0x10], xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xff
shufps xmm2, xmm5, 0xe0
shufps xmm5, xmm2, 0x24
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm2, xmm4, 0xe0
shufps xmm4, xmm2, 0x24
movaps xmm2, xmmword [esp + 0xf0]
movaps xmmword [eax + 0x20], xmm5
add ecx, 0x10
dec esi
movaps xmmword [eax + 0x30], xmm4
movaps xmm4, xmmword [esp + 0xe0]
mov dword [0x73f5e8], edx
jne 0x54cf03
movaps xmm7, xmmword [ebx]
movaps xmm0, xmm7
shufps xmm0, xmm7, 0
mulps xmm2, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm2, 0x20
shufps xmm2, xmm0, 0x24
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xc9
movaps xmmword [esp + 0x60], xmm2
movaps xmmword [esp + 0x80], xmm0
movaps xmm5, xmm3
shufps xmm5, xmm3, 0xc9
movaps xmm6, xmm5
mulps xmm6, xmm2
movaps xmmword [esp + 0x90], xmm7
movaps xmm2, xmm3
mulps xmm2, xmm0
movaps xmm0, xmm2
subps xmm0, xmm6
shufps xmm0, xmm0, 0xc9
movaps xmm2, xmm1
shufps xmm2, xmm0, 0x20
shufps xmm0, xmm2, 0x24
movaps xmm6, xmm4
subps xmm6, xmm0
movaps xmm0, xmm7
subss xmm0, dword [esp + 0x50]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm7, xmm2
mov al, byte [esp + 0xe]
test al, al
movaps xmm2, xmm3
mulps xmm2, xmm7
movaps xmm7, xmm1
shufps xmm7, xmm2, 0x20
shufps xmm2, xmm7, 0x24
movaps xmm7, xmm2
movaps xmm2, xmm6
subps xmm2, xmm7
movaps xmmword [esp + 0xa0], xmm2
movaps xmm2, xmm5
mulps xmm2, xmmword [esp + 0x60]
movaps xmmword [esp + 0x60], xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x80]
subps xmm2, xmmword [esp + 0x60]
shufps xmm2, xmm2, 0xc9
movaps xmm7, xmm1
shufps xmm7, xmm2, 0x20
shufps xmm2, xmm7, 0x24
movaps xmm7, xmm2
movaps xmm2, xmm4
addps xmm2, xmm7
movaps xmm7, xmm0
shufps xmm7, xmm0, 0
movaps xmm0, xmm3
mulps xmm0, xmm7
movaps xmm7, xmm1
shufps xmm7, xmm0, 0x20
shufps xmm0, xmm7, 0x24
movaps xmm7, xmm0
movaps xmm0, xmm2
subps xmm0, xmm7
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x130], xmm2
movaps xmmword [esp + 0x100], xmm6
je 0x54d2a6
cmp edx, 2
movss xmm7, dword [esp + 0x50]
movaps xmm0, xmm1
movss xmm0, xmm7
mulps xmm5, xmm0
shufps xmm0, xmm0, 0xc9
mulps xmm3, xmm0
subps xmm3, xmm5
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
shufps xmm1, xmm0, 0x20
shufps xmm0, xmm1, 0x24
movaps xmm1, xmmword [esp + 0x60]
subps xmm4, xmm0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x120], xmm1
movaps xmmword [esp + 0x360], xmm4
movaps xmmword [esp + 0x370], xmm4
movaps xmmword [esp + 0x380], xmm4
movaps xmmword [esp + 0x390], xmm4
movaps xmmword [esp + 0x320], xmm6
movaps xmmword [esp + 0x330], xmm0
movaps xmmword [esp + 0x340], xmm1
movaps xmmword [esp + 0x350], xmm2
jl 0x54f497
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
push 0
push 0
push edx
lea eax, [esp + 0x10c]
push eax
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x370]
push ecx
lea edx, [esp + 0x334]
push edx
push eax
call fcn.00557ed0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp edx, 2
subss xmm1, dword [esp + 0x90]
movaps xmmword [esp + 0x60], xmm1
movaps xmm1, xmmword [esp + 0xa0]
movaps xmmword [esp + 0x110], xmm1
movaps xmmword [esp + 0x120], xmm0
jl 0x54f497
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
push ecx
mov ecx, dword [esp + 0x64]
push eax
mov eax, dword [ebp + 8]
push 0
push ecx
lea edx, [esp + 0x110]
push edx
push eax
call fcn.005576f0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 2
jne 0x54dcd5
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + 0x4c]
mov edi, dword [edx + 0x44]
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 0x4c]
cmp esi, edi
movzx edi, byte [eax + 7]
sete byte [esp + 0xe]
inc edi
cmp eax, ecx
mov dword [esp + 0x14], eax
lea ebx, [eax + 0x20]
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x20], 0
je 0x54d3c5
movaps xmm0, xmmword [ecx + 0x20]
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [ebx]
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0x80], xmm0
call fcn.0042ab30
fsub dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
fstp dword [esp + 0x24]
call fcn.0042ab30
fsub dword [esp + 0x80]
movaps xmm0, xmmword [esp + 0x90]
mov eax, dword [esp + 0x14]
fdivr dword [esp + 0x24]
movaps xmmword [esp + 0x80], xmm0
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [esp + 0x60], xmm0
fstp dword [esp + 0x34]
fld dword [esp + 0x60]
fmul dword [esp + 0x34]
fsubr dword [esp + 0x80]
fstp dword [esp + 0x20]
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x54d3db
movzx edx, byte [eax + 4]
movzx edi, byte [eax + 0xb]
shl edx, 4
add ebx, edx
inc edi
mov dl, byte [esp + 0xe]
xor ecx, ecx
test dl, dl
mov edx, dword [esi + 0x18]
sete cl
lea eax, [esp + 0x180]
push eax
shl ecx, 6
add ecx, edx
call fcn.006004b0
movzx ecx, byte [esp + 0xe]
mov edx, dword [esi + 0x18]
shl ecx, 6
add ecx, edx
push ecx
lea ecx, [esp + 0x104]
call fcn.004010b0
movaps xmm0, xmmword [ebx]
movaps xmmword [esp + 0xa0], xmm0
fld dword [esp + 0xa0]
fmul dword [esp + 0x34]
mov eax, dword [esp + 0xa0]
push ecx
mov edx, edi
fadd dword [esp + 0x24]
shl edx, 4
movaps xmm0, xmmword [edx + ebx - 0x10]
lea ecx, [esp + 0x184]
fstp dword [esp]
push eax
push ecx
lea edx, [esp + 0x36c]
push edx
movaps xmmword [esp + 0xe0], xmm0
call fcn.005471d0
fld dword [esp + 0xe0]
fmul dword [esp + 0x44]
mov eax, dword [esp + 0xe0]
add esp, 0xc
lea ecx, [esp + 0x104]
fadd dword [esp + 0x24]
lea edx, [esp + 0x324]
fstp dword [esp]
push eax
push ecx
push edx
call fcn.005471d0
movaps xmm0, xmmword [esp + 0x350]
mov eax, dword [ebp + 8]
movaps xmm1, xmm0
minps xmm1, xmmword [esp + 0x360]
maxps xmm0, xmmword [esp + 0x360]
movaps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x340]
movaps xmm3, xmm1
minps xmm3, xmm2
movaps xmm2, xmmword [esp + 0x330]
movaps xmm4, xmm2
minps xmm4, xmm3
movaps xmm3, xmmword [esp + 0x3a0]
movaps xmm5, xmm3
minps xmm5, xmm4
movaps xmm4, xmmword [esp + 0x390]
movaps xmm6, xmm4
minps xmm6, xmm5
movaps xmm5, xmmword [esp + 0x380]
maxps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x370]
movaps xmm7, xmm5
maxps xmm2, xmm1
minps xmm7, xmm6
movaps xmm6, xmmword [esp + 0x370]
maxps xmm3, xmm2
maxps xmm4, xmm3
maxps xmm5, xmm4
add esp, 0x10
minps xmm6, xmm7
maxps xmm0, xmm5
movaps xmmword [esp + 0x140], xmm6
movaps xmmword [esp + 0x150], xmm0
add eax, 0x2a0
push eax
lea ecx, [esp + 0x144]
call fcn.00602790
test al, al
jne 0x54f497
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x14]
push edx
lea ecx, [esp + 0x1c]
call fcn.00546e10
movss xmm0, dword [0x68b500]
movaps xmm4, xmmword [esp + 0x190]
subps xmm4, xmmword [esp + 0x180]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmmword [esp + 0x50]
xorps xmm2, xmm2
movaps xmm1, xmm2
movss xmm1, xmm0
movaps xmm0, xmmword [esp + 0x1a0]
subps xmm0, xmmword [esp + 0x1b0]
movaps xmm3, xmm1
shufps xmm3, xmm3, 0x51
movaps xmmword [esp + 0xf0], xmm0
movaps xmm6, xmm3
shufps xmm6, xmm3, 0xc9
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xc9
movaps xmm0, xmm6
mulps xmm0, xmm4
movaps xmm5, xmm3
mulps xmm5, xmm1
subps xmm5, xmm0
shufps xmm5, xmm5, 0xc9
movaps xmm0, xmm5
mulps xmm0, xmm5
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x60], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmm7, xmm0
addss xmm7, xmm1
addss xmm7, dword [esp + 0x60]
movaps xmmword [esp + 0x60], xmm7
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
xor ecx, ecx
mov dword [0x73f5e8], ecx
movaps xmmword [esp + 0x50], xmm2
movaps xmmword [esp + 0xe0], xmm4
fnstsw ax
movaps xmmword [esp + 0x80], xmm5
test ah, 0x41
jne 0x54d696
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmm7, xmm0
shufps xmm7, xmm0, 0x55
addss xmm0, xmm7
addss xmm0, xmm1
movaps xmmword [esp + 0xb0], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0xb0], xmm0
movaps xmm0, xmmword [esp + 0xb0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
mulps xmm5, xmm1
movaps xmmword [esp + 0x60], xmm5
lea eax, [esp + 0x60]
jmp 0x54d69d
lea eax, [esp + 0x80]
movaps xmm0, xmmword [eax]
movaps xmm1, xmmword [esp + 0xf0]
movaps xmmword [esp + 0x80], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
mulps xmm0, xmm3
mulps xmm1, xmm6
subps xmm1, xmm0
shufps xmm1, xmm1, 0xc9
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm5, xmm0
movaps xmm3, xmm0
shufps xmm5, xmm0, 0x55
movaps xmm6, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm6, xmm5
addss xmm6, xmm3
movaps xmmword [esp + 0x60], xmm6
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x90], xmm1
fnstsw ax
test ah, 0x41
jne 0x54d749
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm5, xmm0
shufps xmm5, xmm0, 0x55
addss xmm0, xmm5
addss xmm0, xmm3
movaps xmmword [esp + 0xb0], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0xb0], xmm0
movaps xmm0, xmmword [esp + 0xb0]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm1, xmm3
movaps xmmword [esp + 0x60], xmm1
lea eax, [esp + 0x60]
jmp 0x54d750
lea eax, [esp + 0x90]
movaps xmm0, xmmword [eax]
mov eax, edi
cdq
movaps xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x190]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmm0, xmmword [esp + 0x1a0]
sub eax, edx
movaps xmmword [esp + 0x300], xmm1
sar eax, 1
cmp eax, ecx
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x2f0], xmm1
mov dword [esp + 0x7c], ecx
jle 0x54d9dc
mov esi, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x7c], eax
mov al, byte [esp + 0xe]
test al, al
movaps xmm6, xmmword [esi]
movaps xmm7, xmmword [esp + 0x1b0]
movaps xmm1, xmmword [esp + 0x180]
movaps xmmword [esp + 0x90], xmm6
je 0x54d7ee
fld dword [esp + 0x34]
movaps xmmword [esp + 0xb0], xmm6
fmul dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x24], eax
fadd dword [esp + 0x20]
fld dword [esp + 0x24]
jmp 0x54d80c
movaps xmmword [esp + 0xc0], xmm6
fld dword [esp + 0xc0]
fld dword [esp + 0x34]
fmul dword [esp + 0xc0]
fadd dword [esp + 0x20]
fst dword [esp + 0x10]
movaps xmm0, xmm6
fabs
shufps xmm0, xmm6, 0x55
fmul dword [esp + 0x300]
movaps xmm3, xmm2
movss xmm3, xmm0
fadd dword [0x68b500]
movaps xmm5, xmm3
lea ecx, [esp + 0x10]
movss xmm0, dword [ecx]
fcom dword [0x68b62c]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
movaps xmm0, xmmword [esp + 0x80]
mulps xmm0, xmm3
fnstsw ax
movaps xmm3, xmm2
shufps xmm5, xmm5, 0x51
test ah, 0x41
shufps xmm3, xmm0, 0x20
shufps xmm0, xmm3, 0x24
addps xmm1, xmm5
addps xmm1, xmm0
je 0x54d874
fstp st(0)
fld dword [0x68b62c]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
shufps xmm0, xmm0, 0
fst dword [esp + 0x10]
mulps xmm4, xmm0
fabs
lea edx, [esp + 0x10]
movss xmm0, dword [edx]
fmul dword [esp + 0x2f0]
movaps xmm3, xmm1
addps xmm3, xmm4
fadd dword [0x68b500]
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
movaps xmm0, xmmword [esp + 0x60]
fcom dword [0x68b62c]
mulps xmm0, xmm4
shufps xmm2, xmm0, 0x20
shufps xmm0, xmm2, 0x24
movaps xmm2, xmm0
fnstsw ax
addps xmm7, xmm5
movaps xmm0, xmm7
test ah, 0x41
addps xmm0, xmm2
je 0x54d8de
fstp st(0)
fld dword [0x68b62c]
movsx eax, word [esp + 0x9c]
fstp dword [esp + 0x10]
movss xmm2, dword [esp + 0x10]
movaps xmm4, xmmword [esp + 0xf0]
movsx edx, word [esp + 0x98]
shufps xmm2, xmm2, 0
mulps xmm4, xmm2
movaps xmm2, xmm0
addps xmm2, xmm4
shl eax, 0x11
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
movaps xmm4, xmm6
shufps xmm4, xmm6, 0xaa
fmul dword [0x694b18]
shufps xmm4, xmm0, 0xe0
shufps xmm0, xmm4, 0x24
movaps xmmword [esp + 0x310], xmm0
fstp dword [esp + 0x10]
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xff
shufps xmm0, xmm2, 0xe0
shufps xmm2, xmm0, 0x24
lea ecx, [esp + 0x10]
movss xmm0, dword [ecx]
shl edx, 0x11
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
shufps xmm0, xmm3, 0xe0
shufps xmm3, xmm0, 0x24
fmul dword [0x694b18]
lea ecx, [esp + 0x310]
push ecx
lea eax, [esp + 0x14]
lea edx, [esp + 0x2d4]
fstp dword [esp + 0x14]
movss xmm0, dword [eax]
push edx
lea eax, [esp + 0x2c8]
push eax
lea ecx, [esp + 0x2ec]
shufps xmm0, xmm1, 0xe0
shufps xmm1, xmm0, 0x24
push ecx
movaps xmmword [esp + 0x2e0], xmm2
movaps xmmword [esp + 0x2d0], xmm3
movaps xmmword [esp + 0x2f0], xmm1
call fcn.00546cf0
mov eax, dword [esp + 0x28]
movaps xmm4, xmmword [esp + 0xf0]
movaps xmm2, xmmword [esp + 0x60]
add esp, 0x10
add esi, 0x10
dec eax
mov dword [esp + 0x18], eax
jne 0x54d7a3
movaps xmm0, xmmword [esp + 0x110]
mov eax, dword [esp + 0x7c]
cmp eax, edi
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmm0, xmmword [esp + 0x120]
movaps xmmword [esp + 0x2e0], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x2c0], xmm1
jge 0x54dc51
mov esi, eax
shl esi, 4
add esi, ebx
sub edi, eax
jmp 0x54da30
movaps xmm2, xmmword [esp + 0x50]
movaps xmm4, xmmword [esp + 0xe0]
mov edi, edi
mov al, byte [esp + 0xe]
test al, al
movaps xmm6, xmmword [esi]
movaps xmmword [esp + 0xb0], xmm6
je 0x54da6b
movaps xmmword [esp + 0x90], xmm6
fld dword [esp + 0x90]
fmul dword [esp + 0x34]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x24], edx
fadd dword [esp + 0x20]
fld dword [esp + 0x24]
jmp 0x54da89
movaps xmmword [esp + 0xc0], xmm6
fld dword [esp + 0xc0]
fld dword [esp + 0xc0]
fmul dword [esp + 0x34]
fadd dword [esp + 0x20]
fst dword [esp + 0x10]
movaps xmm0, xmm6
fabs
shufps xmm0, xmm6, 0x55
fmul dword [esp + 0x2e0]
lea eax, [esp + 0x10]
movaps xmm1, xmm2
fadd dword [0x68b500]
movss xmm1, xmm0
movss xmm0, dword [eax]
movaps xmm5, xmm1
fcom dword [0x68b62c]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0x80]
mulps xmm0, xmm1
movaps xmm1, xmm2
fnstsw ax
shufps xmm1, xmm0, 0x20
test ah, 0x41
shufps xmm0, xmm1, 0x24
movaps xmm1, xmmword [esp + 0x100]
shufps xmm5, xmm5, 0x51
addps xmm1, xmm5
addps xmm1, xmm0
je 0x54daf9
fstp st(0)
fld dword [0x68b62c]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
shufps xmm0, xmm0, 0
fst dword [esp + 0x10]
mulps xmm4, xmm0
fabs
lea ecx, [esp + 0x10]
movss xmm0, dword [ecx]
fmul dword [esp + 0x2c0]
movaps xmm3, xmm1
addps xmm3, xmm4
fadd dword [0x68b500]
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
movaps xmm0, xmmword [esp + 0x60]
fcom dword [0x68b62c]
mulps xmm0, xmm4
shufps xmm2, xmm0, 0x20
shufps xmm0, xmm2, 0x24
movaps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x130]
fnstsw ax
addps xmm0, xmm5
test ah, 0x41
addps xmm0, xmm2
je 0x54db68
fstp st(0)
fld dword [0x68b62c]
movsx edx, word [esp + 0xbc]
fstp dword [esp + 0x10]
movss xmm2, dword [esp + 0x10]
movaps xmm4, xmmword [esp + 0xf0]
movsx ecx, word [esp + 0xb8]
shufps xmm2, xmm2, 0
mulps xmm4, xmm2
movaps xmm2, xmm0
addps xmm2, xmm4
shl edx, 0x11
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
movaps xmm4, xmm6
shufps xmm4, xmm6, 0xaa
fmul dword [0x694b18]
shufps xmm4, xmm0, 0xe0
shufps xmm0, xmm4, 0x24
movaps xmmword [esp + 0x2d0], xmm0
fstp dword [esp + 0x10]
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xff
shufps xmm0, xmm2, 0xe0
shufps xmm2, xmm0, 0x24
lea eax, [esp + 0x10]
movss xmm0, dword [eax]
shl ecx, 0x11
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
shufps xmm0, xmm3, 0xe0
shufps xmm3, xmm0, 0x24
fmul dword [0x694b18]
lea eax, [esp + 0x2d0]
push eax
lea edx, [esp + 0x14]
lea ecx, [esp + 0x314]
fstp dword [esp + 0x14]
movss xmm0, dword [edx]
push ecx
lea edx, [esp + 0x2f8]
push edx
lea eax, [esp + 0x30c]
shufps xmm0, xmm1, 0xe0
shufps xmm1, xmm0, 0x24
push eax
movaps xmmword [esp + 0x320], xmm2
movaps xmmword [esp + 0x300], xmm3
movaps xmmword [esp + 0x310], xmm1
call fcn.00546cf0
add esp, 0x10
add esi, 0x10
dec edi
jne 0x54da21
mov esi, dword [ebp + 8]
lea ecx, [esi + 0x260]
push ecx
lea ecx, [esp + 0x144]
call fcn.00602890
test al, al
push 0
push 0
je 0x54dca2
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
push eax
lea ecx, [esp + 0x32c]
push ecx
lea edx, [esp + 0x370]
push edx
lea eax, [esp + 0x194]
push eax
push esi
lea ecx, [esp + 0x34]
call fcn.00546dd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xa8]
push edx
push eax
push ecx
lea edx, [esp + 0x194]
push edx
push esi
lea ecx, [esp + 0x34]
call fcn.00546d40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movzx eax, al
test eax, eax
mov ecx, dword [esi + eax*4 + 0x18]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x48], 0
jle 0x54e7b6
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0x18]
mov eax, edx
mov edx, dword [esi + edx*4 + 0x1c]
mov ebx, dword [edx + 0x4c]
shl eax, 6
add ecx, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x4c]
mov dword [esp + 0x30], ecx
mov ecx, ebx
mov dword [esp + 0x24], edx
call fcn.00487f80
fstp dword [esp + 0x38]
mov ecx, edi
call fcn.00487f80
fcom dword [esp + 0x38]
fnstsw ax
test ah, 0x41
jne 0x54dd3b
fstp dword [esp + 0x10]
jmp 0x54dd45
mov ecx, dword [esp + 0x38]
fstp st(0)
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
call fcn.00546bd0
add esp, 0xc
test al, al
jne 0x54e795
cmp dword [esp + 0x48], 1
jne 0x54dd7a
cmp byte [esi + 0x17], 3
jne 0x54dd7a
test byte [esi + 0x16], 8
jne 0x54e795
mov edx, dword [esp + 0x18]
cmp esi, dword [edx + 0x44]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x44]
sete byte [esp + 0xf]
cmp esi, ecx
push ebx
push edi
sete byte [esp + 0x3c]
call fcn.00547ae0
mov byte [esp + 0x37], al
mov al, byte [esp + 0x24]
add esp, 8
test al, al
je 0x54ddd6
movzx esi, byte [edi + 4]
movzx eax, byte [ebx + 4]
add esi, 2
add eax, 2
shl esi, 4
shl eax, 4
add esi, edi
lea edx, [edi + 8]
lea ecx, [ebx + 8]
add eax, ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
jmp 0x54ddf0
lea eax, [ebx + 4]
lea ecx, [ebx + 0x20]
lea edx, [edi + 4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], edx
lea esi, [edi + 0x20]
mov dword [esp + 0x40], ecx
mov eax, ecx
mov cl, byte [esp + 0x34]
test cl, cl
mov dword [esp + 0x18], esi
je 0x54de04
mov cl, byte [ebx + 0xe]
sub cl, byte [ebx + 6]
jmp 0x54de0a
mov cl, byte [ebx + 0xf]
sub cl, byte [ebx + 5]
neg cl
sbb ecx, ecx
inc ecx
test ecx, ecx
jne 0x54e26d
mov cl, byte [esp + 0xf]
test cl, cl
je 0x54de27
mov cl, byte [edi + 0xf]
sub cl, byte [edi + 5]
jmp 0x54de2d
mov cl, byte [edi + 0xe]
sub cl, byte [edi + 6]
neg cl
sbb ecx, ecx
inc ecx
test ecx, ecx
jne 0x54e26d
mov cl, byte [esp + 0x2f]
test cl, cl
je 0x54e068
mov cl, byte [esp + 0x34]
test cl, cl
je 0x54df37
mov edx, dword [esp + 0x44]
movzx eax, byte [edx + 2]
mov ecx, dword [esp + 0x40]
shl eax, 4
movaps xmm0, xmmword [eax + ecx]
lea edx, [esp + 0x430]
push edx
lea ecx, [esp + 0x2e4]
movaps xmmword [esp + 0x2e4], xmm0
call fcn.00401060
mov eax, dword [eax]
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x1c]
test al, al
je 0x54de98
mov ecx, dword [esp + 0x44]
mov al, byte [ecx + 2]
jmp 0x54de9b
mov al, byte [ebx + 0xe]
movzx edx, al
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x450]
shl edx, 4
movaps xmm0, xmmword [edx + eax]
push ecx
lea ecx, [esp + 0x2c4]
movaps xmmword [esp + 0x2c4], xmm0
call fcn.00401060
mov edx, dword [eax]
mov al, byte [esp + 0x1c]
test al, al
mov dword [esp + 0x54], edx
je 0x54ded7
xor eax, eax
jmp 0x54dedc
movzx eax, byte [ebx + 0xe]
dec eax
mov ecx, dword [esp + 0x40]
shl eax, 4
movaps xmm0, xmmword [eax + ecx]
lea edx, [esp + 0x3f0]
push edx
lea ecx, [esp + 0x2d4]
movaps xmmword [esp + 0x2d4], xmm0
call fcn.00401060
mov ecx, dword [esp + 0x40]
movaps xmm0, xmmword [ecx]
mov eax, dword [eax]
lea edx, [esp + 0x440]
push edx
lea ecx, [esp + 0x314]
mov dword [esp + 0x5c], eax
movaps xmmword [esp + 0x314], xmm0
call fcn.00401060
mov eax, dword [eax]
mov dl, byte [esp + 0x1c]
jmp 0x54dfca
mov ecx, dword [esp + 0x44]
mov cl, byte [ecx + 1]
movzx edx, cl
shl edx, 4
movaps xmm0, xmmword [edx + eax]
movaps xmmword [esp + 0x2f0], xmm0
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0x50], edx
mov dl, byte [esp + 0x1c]
test dl, dl
je 0x54df65
jmp 0x54df68
mov cl, byte [ebx + 0xf]
movzx ecx, cl
shl ecx, 4
test dl, dl
movaps xmm0, xmmword [ecx + eax]
movaps xmmword [esp + 0x300], xmm0
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x54], ecx
je 0x54df93
mov ecx, dword [esp + 0x44]
movzx ecx, byte [ecx + 3]
jmp 0x54df98
movzx ecx, byte [ebx + 0xf]
inc ecx
shl ecx, 4
movaps xmm0, xmmword [ecx + eax]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x44]
movzx ecx, byte [ecx + 3]
shl ecx, 4
movaps xmm0, xmmword [ecx + eax]
movaps xmmword [esp + 0x80], xmm0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0xf]
test al, al
jne 0x54e009
test dl, dl
mov al, byte [ecx + 2]
mov byte [esp + 0x28], al
je 0x54dff5
mov byte [esp + 0x29], al
mov byte [esp + 0x2a], 0
mov byte [esp + 0x2b], 0
jmp 0x54e035
mov al, byte [edi + 0xe]
mov byte [esp + 0x29], al
dec al
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], 0
jmp 0x54e035
test dl, dl
mov al, byte [ecx + 1]
mov byte [esp + 0x28], al
je 0x54e021
mov dl, byte [ecx + 3]
mov byte [esp + 0x29], al
mov byte [esp + 0x2a], dl
jmp 0x54e02e
mov al, byte [edi + 0xf]
mov byte [esp + 0x29], al
inc al
mov byte [esp + 0x2a], al
mov al, byte [ecx + 3]
mov byte [esp + 0x2b], al
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
push ecx
push edx
mov dl, byte [esp + 0x17]
test dl, dl
sete al
push 0
lea ecx, [esp + 0x34]
lea edx, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
push eax
push esi
push edi
call fcn.0054c4f0
add esp, 0x24
jmp 0x54e475
mov al, byte [esp + 0xf]
test al, al
jne 0x54e149
mov ecx, dword [esp + 0x4c]
movzx edx, byte [ecx + 2]
shl edx, 4
movaps xmm0, xmmword [edx + esi]
lea eax, [esp + 0x420]
push eax
lea ecx, [esp + 0x94]
movaps xmmword [esp + 0x94], xmm0
call fcn.00401060
mov ecx, dword [eax]
mov al, byte [esp + 0x1c]
test al, al
mov dword [esp + 0x50], ecx
je 0x54e0b6
mov edx, dword [esp + 0x4c]
mov al, byte [edx + 2]
jmp 0x54e0b9
mov al, byte [edi + 0xe]
movzx eax, al
lea ecx, [esp + 0x400]
shl eax, 4
movaps xmm0, xmmword [eax + esi]
push ecx
lea ecx, [esp + 0xc4]
movaps xmmword [esp + 0xc4], xmm0
call fcn.00401060
mov edx, dword [eax]
mov al, byte [esp + 0x1c]
test al, al
mov dword [esp + 0x54], edx
je 0x54e0f1
xor eax, eax
jmp 0x54e0f6
movzx eax, byte [edi + 0xe]
dec eax
shl eax, 4
movaps xmm0, xmmword [eax + esi]
lea eax, [esp + 0x410]
push eax
lea ecx, [esp + 0xb4]
movaps xmmword [esp + 0xb4], xmm0
call fcn.00401060
mov ecx, dword [eax]
movaps xmm0, xmmword [esi]
lea edx, [esp + 0x140]
mov dword [esp + 0x58], ecx
push edx
lea ecx, [esp + 0xa4]
movaps xmmword [esp + 0xa4], xmm0
call fcn.00401060
mov eax, dword [eax]
mov cl, byte [esp + 0x1c]
jmp 0x54e1d4
mov al, byte [edx + 1]
movzx ecx, al
shl ecx, 4
movaps xmm0, xmmword [ecx + esi]
movaps xmmword [esp + 0xd0], xmm0
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x50], ecx
mov cl, byte [esp + 0x1c]
test cl, cl
jne 0x54e174
mov al, byte [edi + 0xf]
movzx eax, al
shl eax, 4
test cl, cl
movaps xmm0, xmmword [eax + esi]
movaps xmmword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x54], eax
je 0x54e19b
movzx eax, byte [edx + 3]
jmp 0x54e1a0
movzx eax, byte [edi + 0xf]
inc eax
movzx edx, byte [edx + 3]
shl eax, 4
movaps xmm0, xmmword [eax + esi]
movaps xmmword [esp + 0xe0], xmm0
shl edx, 4
mov eax, dword [esp + 0xe0]
movaps xmm0, xmmword [edx + esi]
movaps xmmword [esp + 0x3d0], xmm0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3d0]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0x34]
test al, al
je 0x54e213
test cl, cl
mov al, byte [edx + 2]
mov byte [esp + 0x28], al
je 0x54e1ff
mov byte [esp + 0x29], al
mov byte [esp + 0x2a], 0
mov byte [esp + 0x2b], 0
jmp 0x54e23b
mov al, byte [ebx + 0xe]
mov byte [esp + 0x29], al
dec al
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], 0
jmp 0x54e23b
test cl, cl
mov al, byte [edx + 1]
mov byte [esp + 0x28], al
je 0x54e227
mov byte [esp + 0x29], al
mov al, byte [edx + 3]
jmp 0x54e230
mov al, byte [ebx + 0xf]
mov byte [esp + 0x29], al
inc al
mov cl, byte [edx + 3]
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], cl
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
push edx
push eax
push 1
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x64]
push eax
push ecx
push edx
push ebx
call fcn.0054c4f0
add esp, 0x24
jmp 0x54e475
cmp edi, ebx
je 0x54e3a4
mov al, byte [esp + 0xf]
test al, al
mov ecx, edi
je 0x54e286
call fcn.0042ab90
jmp 0x54e28d
call fcn.0042ab60
fchs
mov al, byte [esp + 0x34]
fstp dword [esp + 0x38]
test al, al
mov ecx, ebx
je 0x54e2a4
call fcn.0042ab60
fchs
jmp 0x54e2a9
call fcn.0042ab90
mov al, byte [esp + 0xf]
fstp dword [esp + 0x74]
test al, al
mov ecx, edi
je 0x54e2cd
call fcn.0042ab30
fstp dword [esp + 0x14]
mov ecx, edi
call fcn.0042ab90
fsubr dword [esp + 0x14]
jmp 0x54e2e1
call fcn.0042ab60
fstp dword [esp + 0x14]
mov ecx, edi
call fcn.0042ab10
fsubr dword [esp + 0x14]
mov al, byte [esp + 0x34]
fstp dword [esp + 0x14]
test al, al
mov ecx, ebx
je 0x54e305
call fcn.0042ab60
fstp dword [esp + 0x20]
mov ecx, ebx
call fcn.0042ab10
fsubr dword [esp + 0x20]
jmp 0x54e319
call fcn.0042ab30
fstp dword [esp + 0x20]
mov ecx, ebx
call fcn.0042ab90
fsubr dword [esp + 0x20]
mov al, byte [esp + 0x2f]
test al, al
je 0x54e337
fdiv dword [esp + 0x14]
fst dword [esp + 0x20]
fmul dword [esp + 0x38]
fsubr dword [esp + 0x74]
fstp dword [esp + 0x14]
jmp 0x54e3b4
fld dword [esp + 0x14]
fdiv st(1)
fstp dword [esp + 0x20]
fstp st(0)
fld dword [esp + 0x20]
fmul dword [esp + 0x74]
fsubr dword [esp + 0x38]
fstp dword [esp + 0x14]
mov al, byte [esp + 0x34]
test al, al
mov edx, dword [ebp + 8]
push edx
je 0x54e437
mov eax, dword [esp + 0x20]
fld dword [esp + 0x18]
push eax
fchs
push ecx
mov ecx, dword [esp + 0x2c]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x40]
push 0
push 0x3f800000
lea edx, [esp + 0x378]
push edx
call fcn.006004b0
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x60]
movzx ecx, byte [eax + 2]
inc ecx
push ecx
push edx
jmp 0x54e46c
mov dword [esp + 0x20], 0x3f800000
mov dword [esp + 0x14], 0
mov al, byte [esp + 0x2f]
test al, al
je 0x54e353
mov al, byte [esp + 0xf]
test al, al
mov edx, dword [ebp + 8]
push edx
je 0x54e3fc
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 3]
push edx
mov edx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x40]
push 0
push 0x3f800000
sub ecx, eax
push edx
inc ecx
shl eax, 4
push ecx
add eax, esi
push eax
push edi
jmp 0x54e46d
mov eax, dword [esp + 0x20]
fld dword [esp + 0x18]
push eax
fchs
push 0
push 0x3f800000
push ecx
mov ecx, dword [esp + 0x34]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x118]
push edx
call fcn.006004b0
push eax
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + 2]
inc ecx
push ecx
push esi
push edi
jmp 0x54e46d
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 3]
push edx
mov edx, dword [esp + 0x1c]
push 0
push 0x3f800000
push edx
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x48]
sub ecx, eax
inc ecx
push edx
push ecx
mov ecx, dword [esp + 0x60]
shl eax, 4
add eax, ecx
push eax
push ebx
call fcn.0054beb0
add esp, 0x28
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + eax*4 + 0x1c]
test byte [ecx + 0x4a], 2
je 0x54e795
mov al, byte [esp + 0xf]
test al, al
mov ecx, edi
je 0x54e49c
call fcn.0042ab30
jmp 0x54e4a3
call fcn.0042ab10
fchs
mov al, byte [esp + 0x34]
fstp dword [esp + 0x30]
test al, al
mov ecx, ebx
je 0x54e4ba
call fcn.0042ab10
fchs
jmp 0x54e4bf
call fcn.0042ab30
mov ecx, edi
fstp dword [esp + 0x74]
call fcn.0042ab30
fstp dword [esp + 0x38]
mov ecx, edi
call fcn.0042ab10
fsubr dword [esp + 0x38]
mov ecx, ebx
fstp dword [esp + 0x38]
call fcn.0042ab30
mov ecx, ebx
fstp dword [esp + 0x78]
call fcn.0042ab10
fsubr dword [esp + 0x78]
mov al, byte [esp + 0x2f]
test al, al
je 0x54e647
fdiv dword [esp + 0x38]
mov al, byte [esp + 0xf]
test al, al
fst dword [esp + 0x38]
fmul dword [esp + 0x30]
fsubr dword [esp + 0x74]
fstp dword [esp + 0x74]
je 0x54e5a8
mov eax, dword [esp + 0x4c]
movzx ebx, byte [eax]
movzx eax, byte [eax + 3]
add eax, ebx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov edx, ecx
shl edx, 4
add edx, esi
lea ebx, [ebx]
cmp ecx, ebx
jge 0x54e569
mov eax, edx
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x3b0], xmm0
fld dword [esp + 0x3b0]
inc ecx
fcomp dword [0x68b4fc]
add edx, 0x10
fnstsw ax
test ah, 0x41
je 0x54e540
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 3]
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 0x18]
push 0
push 0x3f800000
add edx, ebx
sub ecx, eax
push edx
shl eax, 4
push ecx
add eax, esi
push eax
push edi
jmp 0x54e78d
mov ebx, dword [esp + 0x4c]
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx]
add eax, ecx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x18]
sar esi, 1
mov ecx, esi
shl ecx, 4
add ecx, eax
movzx eax, byte [ebx + 3]
cmp esi, eax
jle 0x54e5f4
mov eax, ecx
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x3c0], xmm0
fld dword [esp + 0x3c0]
dec esi
fcomp dword [0x68b4fc]
sub ecx, 0x10
fnstsw ax
test ah, 5
jnp 0x54e5c7
mov eax, dword [ebp + 8]
fld dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
fchs
mov edx, dword [esp + 0x38]
push eax
push ecx
push 0
push 0x3f800000
push ecx
mov ecx, dword [esp + 0x50]
fstp dword [esp]
mov ecx, dword [ecx + 0x18]
push edx
mov edx, dword [esp + 0x94]
lea eax, [esp + 0x338]
push eax
add ecx, edx
call fcn.006004b0
movzx edx, byte [ebx]
mov ebx, dword [esp + 0x30]
sub edx, esi
push eax
shl esi, 4
push edx
add esi, ebx
push esi
push edi
jmp 0x54e78d
fld dword [esp + 0x38]
mov al, byte [esp + 0x34]
test al, al
fdiv st(1)
mov edi, dword [esp + 0x44]
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x18]
fmul dword [esp + 0x74]
fsubr dword [esp + 0x30]
fstp dword [esp + 0x38]
jne 0x54e6f7
movzx esi, byte [edi]
movzx eax, byte [edi + 3]
add eax, esi
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x40]
sar ecx, 1
mov edx, ecx
shl edx, 4
add edx, eax
mov edi, edi
cmp ecx, esi
jge 0x54e6b9
mov eax, edx
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x3e0], xmm0
fld dword [esp + 0x3e0]
inc ecx
fcomp dword [0x68b4fc]
add edx, 0x10
fnstsw ax
test ah, 0x41
je 0x54e690
mov edx, dword [ebp + 8]
movzx eax, byte [edi + 3]
mov esi, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x40]
push 0
push 0x3f800000
push edx
mov edx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x54]
mov edx, dword [edx + 0x18]
add edx, esi
mov esi, dword [esp + 0x58]
sub ecx, eax
push edx
shl eax, 4
push ecx
add eax, esi
push eax
jmp 0x54e78c
movzx ecx, byte [edi + 3]
movzx eax, byte [edi]
add eax, ecx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x40]
sar esi, 1
mov ecx, esi
shl ecx, 4
add ecx, eax
movzx eax, byte [edi + 3]
cmp esi, eax
jle 0x54e73f
mov eax, ecx
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x3a0], xmm0
fld dword [esp + 0x3a0]
dec esi
fcomp dword [0x68b4fc]
sub ecx, 0x10
fnstsw ax
test ah, 5
jnp 0x54e712
mov eax, dword [ebp + 8]
fld dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
fchs
mov edx, dword [esp + 0x18]
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x48]
fstp dword [esp]
mov ecx, dword [ecx + 0x18]
push edx
mov edx, dword [esp + 0x8c]
push 0
push 0x3f800000
lea eax, [esp + 0x198]
push eax
add ecx, edx
call fcn.006004b0
movzx edx, byte [edi]
mov edi, dword [esp + 0x58]
sub edx, esi
push eax
shl esi, 4
push edx
add esi, edi
push esi
push ebx
call fcn.0054beb0
add esp, 0x28
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
movzx edx, byte [esi + 0x17]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], ecx
jl 0x54dcf0
test byte [esi + 0x16], 8
je 0x54f497
cmp byte [esi + 0x17], 3
jne 0x54eead
mov edi, dword [esp + 0x3c]
push 1
push 0
push edi
call fcn.00547b80
mov esi, eax
mov eax, dword [edi + 0x1c]
mov ebx, dword [eax + 0x44]
mov ecx, dword [esi + 0x14]
add esp, 0xc
push ecx
cmp edi, ebx
lea ecx, [esp + 0x18]
sete bl
call fcn.00546e10
test bl, bl
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x68b56c]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmmword [esp + 0x50]
mov dword [0x73f5e8], 0
movaps xmmword [esp + 0x60], xmm0
mov ecx, esi
je 0x54ea15
call fcn.0042ab60
fstp dword [esp + 0x30]
mov ecx, esi
call fcn.0042ab30
fstp dword [esp + 0x20]
mov al, byte [esp + 0x1c]
test al, al
je 0x54e879
movzx eax, byte [esi + 0xa]
movzx edx, byte [esi + 4]
movzx ebx, byte [esi + 0xb]
lea edi, [edx + eax + 2]
jmp 0x54e884
movzx eax, byte [esi + 6]
movzx ebx, byte [esi + 7]
lea edi, [eax + 2]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x18]
sub ebx, eax
mov eax, dword [esp + 0x20]
push eax
add edx, 0x40
shl edi, 4
push edx
lea eax, [esp + 0x108]
add edi, esi
push eax
inc ebx
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x144]
call fcn.004010b0
fld dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
fchs
movaps xmm0, xmmword [esp + 0x140]
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 0x18]
movaps xmmword [esp + 0x1f0], xmm0
movaps xmm0, xmmword [esp + 0x150]
push ecx
movaps xmmword [esp + 0x234], xmm0
movaps xmm0, xmmword [esp + 0x164]
add eax, 0x80
push eax
lea ecx, [esp + 0x368]
movaps xmmword [esp + 0x278], xmm0
movaps xmm0, xmmword [esp + 0x178]
push ecx
movaps xmmword [esp + 0x2bc], xmm0
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x144]
call fcn.004010b0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x18]
movaps xmm0, xmmword [esp + 0x140]
push edx
push ecx
lea edx, [esp + 0x328]
movaps xmmword [esp + 0x288], xmm0
movaps xmm0, xmmword [esp + 0x158]
push edx
movaps xmmword [esp + 0x24c], xmm0
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x144]
call fcn.004010b0
movaps xmm5, xmmword [esp + 0x160]
movaps xmm4, xmmword [esp + 0x170]
movaps xmm6, xmmword [esp + 0x60]
movaps xmm7, xmmword [esp + 0x280]
movaps xmm0, xmm5
subps xmm0, xmm4
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
mulps xmm1, xmm6
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xc9
mulps xmm0, xmm2
subps xmm0, xmm1
shufps xmm0, xmm0, 0xc9
xorps xmm3, xmm3
movaps xmm1, xmm3
shufps xmm1, xmm0, 0x20
shufps xmm0, xmm1, 0x24
addps xmm5, xmm0
movaps xmmword [esp + 0x200], xmm5
movaps xmm5, xmmword [esp + 0x240]
movaps xmm0, xmm7
movaps xmmword [esp + 0x1c0], xmm4
subps xmm0, xmm5
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
mulps xmm0, xmm2
mulps xmm1, xmm6
subps xmm0, xmm1
shufps xmm0, xmm0, 0xc9
shufps xmm3, xmm0, 0x20
shufps xmm0, xmm3, 0x24
addps xmm5, xmm0
movaps xmmword [esp + 0x240], xmm5
jmp 0x54ebdd
call fcn.0042ab10
fstp dword [esp + 0x30]
mov ecx, esi
call fcn.0042ab90
fstp dword [esp + 0x20]
mov al, byte [esp + 0x1c]
test al, al
je 0x54ea43
movzx edi, byte [esi + 4]
movzx ebx, byte [esi + 9]
add edi, 2
shl edi, 4
add edi, esi
jmp 0x54ea4a
movzx ebx, byte [esi + 5]
lea edi, [esi + 0x20]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + 0x18]
push eax
add edx, 0x80
push edx
lea eax, [esp + 0x108]
push eax
inc ebx
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x144]
call fcn.004010b0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x18]
movaps xmm0, xmmword [esp + 0x140]
push ecx
push eax
lea ecx, [esp + 0x368]
movaps xmmword [esp + 0x1f8], xmm0
movaps xmm0, xmmword [esp + 0x158]
push ecx
movaps xmmword [esp + 0x23c], xmm0
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x144]
call fcn.004010b0
fld dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
fchs
mov eax, dword [edx + 0x18]
movaps xmm0, xmmword [esp + 0x160]
push ecx
add eax, 0x40
fstp dword [esp]
push eax
lea ecx, [esp + 0x328]
movaps xmmword [esp + 0x278], xmm0
movaps xmm0, xmmword [esp + 0x178]
push ecx
movaps xmmword [esp + 0x2bc], xmm0
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x144]
call fcn.004010b0
movaps xmm0, xmmword [esp + 0x150]
movaps xmm5, xmmword [esp + 0x230]
movaps xmm6, xmmword [esp + 0x60]
movaps xmm7, xmmword [esp + 0x140]
movaps xmm4, xmmword [esp + 0x170]
movaps xmmword [esp + 0x240], xmm0
movaps xmm0, xmmword [esp + 0x160]
movaps xmmword [esp + 0x200], xmm0
movaps xmm0, xmm5
subps xmm0, xmmword [esp + 0x1f0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
mulps xmm1, xmm6
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xc9
mulps xmm0, xmm2
subps xmm0, xmm1
shufps xmm0, xmm0, 0xc9
xorps xmm3, xmm3
movaps xmm1, xmm3
shufps xmm1, xmm0, 0x20
shufps xmm0, xmm1, 0x24
subps xmm5, xmm0
movaps xmm0, xmmword [esp + 0x2b0]
movaps xmmword [esp + 0x230], xmm5
movaps xmm5, xmmword [esp + 0x270]
subps xmm0, xmm5
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
movaps xmmword [esp + 0x280], xmm7
movaps xmmword [esp + 0x1c0], xmm4
mulps xmm1, xmm6
mulps xmm0, xmm2
subps xmm0, xmm1
shufps xmm0, xmm0, 0xc9
shufps xmm3, xmm0, 0x20
shufps xmm0, xmm3, 0x24
subps xmm5, xmm0
movaps xmmword [esp + 0x270], xmm5
movaps xmm2, xmmword [esp + 0x1f0]
movaps xmm3, xmm2
mov dword [esp + 0x78], 0x3eaaaaab
movss xmm0, dword [esp + 0x78]
movaps xmm5, xmm4
shufps xmm0, xmm0, 0
mulps xmm4, xmm0
mov dword [esp + 0x78], 0x3f2aaaab
movss xmm1, dword [esp + 0x78]
shufps xmm1, xmm1, 0
mulps xmm2, xmm1
addps xmm2, xmm4
mulps xmm3, xmm0
movaps xmmword [esp + 0x1e0], xmm2
movaps xmm2, xmmword [esp + 0x2b0]
mulps xmm5, xmm1
addps xmm5, xmm3
movaps xmm3, xmm2
movaps xmm4, xmm7
mulps xmm3, xmm0
mulps xmm4, xmm1
mulps xmm7, xmm0
mulps xmm2, xmm1
addps xmm4, xmm3
addps xmm2, xmm7
lea ecx, [esp + 0x1c0]
movaps xmmword [esp + 0x1d0], xmm5
movaps xmmword [esp + 0x290], xmm4
movaps xmmword [esp + 0x2a0], xmm2
call fcn.00601780
fld dword [esp + 0x20]
fsub dword [esp + 0x30]
mov eax, dword [esp + 0x30]
push 0
lea ecx, [esp + 0x1c4]
fdivr dword [0x68b500]
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
push edx
push eax
push ecx
push ebx
lea edx, [esp + 0x28]
push edi
push edx
call fcn.0054b130
mov al, byte [esp + 0x2a]
add esp, 0x1c
test al, al
push 0
push 0
je 0x54ed39
mov eax, dword [esi + 0x10]
push eax
lea ecx, [esp + 0x2bc]
push ecx
lea edx, [esp + 0x280]
push edx
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0x208]
push ecx
lea ecx, [esp + 0x11c]
call fcn.0043d980
push eax
lea edx, [esp + 0x290]
push edx
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0x218]
push ecx
lea edx, [esp + 0x1dc]
push edx
lea ecx, [esp + 0x380]
call fcn.0043d980
push eax
push 0x3f000000
lea eax, [esp + 0x338]
push eax
lea ecx, [esp + 0x1dc]
call fcn.00601db0
mov ebx, dword [ebp + 8]
push eax
push ebx
lea ecx, [esp + 0x30]
call fcn.00546dd0
jmp 0x54ed71
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
push 0x3f000000
lea ecx, [esp + 0x118]
push ecx
lea ecx, [esp + 0x1dc]
call fcn.00601db0
mov edx, dword [ebp + 8]
push eax
push edx
lea ecx, [esp + 0x30]
call fcn.00546d40
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x1c]
test byte [ecx + 0x4a], 2
je 0x54f497
mov al, byte [esp + 0x1c]
test al, al
je 0x54ed9c
movzx edx, byte [esi + 0xb]
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 8]
lea eax, [eax + edx + 2]
jmp 0x54eda7
movzx edx, byte [esi + 7]
movzx ecx, byte [esi + 4]
lea eax, [edx + 2]
mov edi, dword [esp + 0x30]
push 0
sub ecx, edx
mov edx, dword [esp + 0x28]
push edx
push edi
lea edx, [esp + 0x1cc]
push edx
shl eax, 4
add eax, esi
push ecx
push eax
lea eax, [esp + 0x2c]
push eax
mov dword [0x73f5e8], 0
call fcn.0054b130
mov al, byte [esp + 0x2a]
add esp, 0x1c
test al, al
push 0
push 0
je 0x54ee76
mov ecx, dword [esi + 0x10]
push ecx
lea edx, [esp + 0x2bc]
push edx
lea eax, [esp + 0x280]
push eax
lea ecx, [esp + 0x244]
push ecx
lea edx, [esp + 0x208]
push edx
lea ecx, [esp + 0x11c]
call fcn.0043d980
push eax
lea eax, [esp + 0x290]
push eax
lea ecx, [esp + 0x254]
push ecx
lea edx, [esp + 0x218]
push edx
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x380]
call fcn.0043d980
push eax
push 0x3f000000
lea ecx, [esp + 0x338]
push ecx
lea ecx, [esp + 0x1dc]
call fcn.00601db0
push eax
push ebx
lea ecx, [esp + 0x30]
call fcn.00546dd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x28]
push edx
push eax
push edi
push 0x3f000000
lea ecx, [esp + 0x118]
push ecx
lea ecx, [esp + 0x1dc]
call fcn.00601db0
push eax
push ebx
lea ecx, [esp + 0x30]
call fcn.00546d40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 2
push 0
push esi
call fcn.00547b80
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0x44]
add esp, 0xc
cmp esi, ecx
mov edi, eax
mov al, byte [esp + 0x1c]
sete bl
test al, al
je 0x54eeea
movzx ecx, byte [edi + 0xa]
movzx eax, byte [edi + 4]
lea eax, [eax + ecx + 2]
shl eax, 4
add eax, edi
mov dword [esp + 0x10], eax
movzx eax, byte [edi + 9]
jmp 0x54eefe
movzx ecx, byte [edi + 6]
lea eax, [ecx + 2]
shl eax, 4
add eax, edi
mov dword [esp + 0x10], eax
movzx eax, byte [edi + 5]
sub eax, ecx
inc eax
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.0042ab60
fstp dword [esp + 0x18]
mov ecx, edi
call fcn.0042ab90
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
xor ecx, ecx
test bl, bl
mov ebx, dword [esp + 0x3c]
setne cl
push edx
mov edx, dword [ebx + 0x18]
dec ecx
and ecx, 2
mov esi, ecx
mov eax, esi
xor eax, 1
shl eax, 6
add eax, edx
push eax
lea ecx, [esp + 0x108]
push ecx
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x184]
call fcn.004010b0
mov edx, dword [esp + 0x14]
movaps xmm0, xmmword [esp + 0x180]
push edx
mov edx, dword [ebx + 0x18]
mov eax, esi
xor eax, 2
shl eax, 6
add eax, edx
push eax
lea ecx, [esp + 0x368]
movaps xmmword [esp + 0x1f8], xmm0
movaps xmm0, xmmword [esp + 0x198]
push ecx
movaps xmmword [esp + 0x23c], xmm0
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x184]
call fcn.004010b0
fld dword [esp + 0x18]
movaps xmm0, xmmword [esp + 0x1a0]
fchs
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [ebx + 0x18]
mov eax, esi
xor eax, 3
shl eax, 6
add eax, edx
push eax
lea ecx, [esp + 0x328]
movaps xmmword [esp + 0x278], xmm0
movaps xmm0, xmmword [esp + 0x1b8]
push ecx
movaps xmmword [esp + 0x2bc], xmm0
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x184]
call fcn.004010b0
movaps xmm0, xmmword [esp + 0x180]
mov edx, dword [esp + 0x24]
mov eax, dword [ebx + 0x18]
movaps xmmword [esp + 0x280], xmm0
movaps xmm0, xmmword [esp + 0x190]
shl esi, 6
movaps xmmword [esp + 0x240], xmm0
push edx
add esi, eax
lea eax, [esp + 0x144]
push esi
push eax
call fcn.005474a0
add esp, 0xc
push eax
lea ecx, [esp + 0x184]
call fcn.004010b0
movaps xmm2, xmmword [esp + 0x1b0]
movaps xmm3, xmmword [esp + 0x1f0]
movaps xmm4, xmm3
mov dword [esp + 0x78], 0x3eaaaaab
movss xmm0, dword [esp + 0x78]
shufps xmm0, xmm0, 0
mulps xmm4, xmm0
movaps xmm5, xmm2
mov dword [esp + 0x78], 0x3f2aaaab
movss xmm1, dword [esp + 0x78]
shufps xmm1, xmm1, 0
mulps xmm3, xmm1
mulps xmm5, xmm1
addps xmm5, xmm4
movaps xmm4, xmm2
mulps xmm4, xmm0
addps xmm3, xmm4
movaps xmm4, xmmword [esp + 0x280]
movaps xmmword [esp + 0x1e0], xmm3
movaps xmm6, xmm4
mulps xmm6, xmm1
movaps xmmword [esp + 0x1d0], xmm5
movaps xmm5, xmmword [esp + 0x2b0]
movaps xmm3, xmm5
mulps xmm3, xmm0
addps xmm6, xmm3
movaps xmm3, xmm4
mulps xmm3, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm1
addps xmm0, xmm3
movaps xmmword [esp + 0x2a0], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x68b56c]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x5c], xmm0
movaps xmm1, xmmword [esp + 0x50]
movaps xmmword [esp + 0x290], xmm6
movaps xmm6, xmmword [esp + 0x1a0]
movaps xmmword [esp + 0x1c0], xmm2
movaps xmm0, xmm6
subps xmm0, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xc9
mulps xmm2, xmm1
movaps xmm3, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xc9
mulps xmm0, xmm2
subps xmm0, xmm3
shufps xmm0, xmm0, 0xc9
xorps xmm3, xmm3
movaps xmm7, xmm3
shufps xmm7, xmm0, 0x20
shufps xmm0, xmm7, 0x24
addps xmm6, xmm0
movaps xmmword [esp + 0x200], xmm6
movaps xmm6, xmmword [esp + 0x240]
subps xmm4, xmm6
movaps xmm0, xmm4
shufps xmm4, xmm0, 0xc9
mulps xmm4, xmm1
mulps xmm0, xmm2
subps xmm0, xmm4
shufps xmm0, xmm0, 0xc9
movaps xmm4, xmm3
shufps xmm4, xmm0, 0x20
shufps xmm0, xmm4, 0x24
addps xmm6, xmm0
movaps xmmword [esp + 0x240], xmm6
movaps xmm6, xmmword [esp + 0x230]
movaps xmm0, xmm6
subps xmm0, xmmword [esp + 0x1f0]
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xc9
mulps xmm0, xmm2
mulps xmm4, xmm1
subps xmm0, xmm4
shufps xmm0, xmm0, 0xc9
movaps xmm4, xmm3
shufps xmm4, xmm0, 0x20
shufps xmm0, xmm4, 0x24
subps xmm6, xmm0
movaps xmmword [esp + 0x230], xmm6
movaps xmm6, xmmword [esp + 0x270]
subps xmm5, xmm6
movaps xmm0, xmm5
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xc9
mulps xmm0, xmm2
mulps xmm4, xmm1
subps xmm0, xmm4
shufps xmm0, xmm0, 0xc9
shufps xmm3, xmm0, 0x20
shufps xmm0, xmm3, 0x24
subps xmm6, xmm0
lea ecx, [esp + 0x1c0]
movaps xmmword [esp + 0x270], xmm6
call fcn.00601780
mov ecx, dword [edi + 0x14]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00546e10
fld dword [esp + 0x14]
fsub dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
push 0
fdivr dword [0x68b500]
lea eax, [esp + 0x1c4]
mov dword [0x73f5e8], 0
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x18]
push ebx
push eax
push ecx
push edx
lea eax, [esp + 0x30]
push eax
call fcn.0054b130
mov al, byte [esp + 0x2a]
add esp, 0x1c
test al, al
push 0
push 0
je 0x54f316
mov ecx, dword [edi + 0x10]
push ecx
lea edx, [esp + 0x2bc]
push edx
lea eax, [esp + 0x280]
push eax
lea ecx, [esp + 0x244]
push ecx
lea edx, [esp + 0x208]
push edx
lea ecx, [esp + 0x11c]
call fcn.0043d980
push eax
lea eax, [esp + 0x290]
push eax
lea ecx, [esp + 0x254]
push ecx
lea edx, [esp + 0x218]
push edx
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x380]
call fcn.0043d980
push eax
push 0x3f000000
lea ecx, [esp + 0x338]
push ecx
lea ecx, [esp + 0x1dc]
call fcn.00601db0
mov edx, dword [ebp + 8]
push eax
push edx
lea ecx, [esp + 0x34]
call fcn.00546dd0
jmp 0x54f347
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push ebx
push 0x3f000000
lea edx, [esp + 0x118]
push edx
lea ecx, [esp + 0x1dc]
call fcn.00601db0
push eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0x34]
call fcn.00546d40
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x54f359
movzx edx, byte [edi + 0xb]
movzx eax, byte [edi + 8]
jmp 0x54f361
movzx edx, byte [edi + 7]
movzx eax, byte [edi + 4]
sub eax, edx
cmp eax, 2
mov dword [esp + 0x48], eax
jl 0x54f497
test cl, cl
je 0x54f382
movzx eax, byte [edi + 0xb]
movzx ecx, byte [edi + 4]
lea esi, [eax + ecx + 2]
jmp 0x54f389
movzx esi, byte [edi + 7]
add esi, 2
mov edx, dword [edi + 0x14]
shl esi, 4
push edx
lea ecx, [esp + 0x1c]
add esi, edi
call fcn.00546e10
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
push 0
push eax
push ebx
lea ecx, [esp + 0x1cc]
push ecx
push edx
lea eax, [esp + 0x2c]
push esi
push eax
mov dword [0x73f5e8], 0
call fcn.0054b130
mov al, byte [esp + 0x2a]
add esp, 0x1c
test al, al
push 0
push 0
je 0x54f466
mov ecx, dword [edi + 0x10]
push ecx
lea edx, [esp + 0x2bc]
push edx
lea eax, [esp + 0x280]
push eax
lea ecx, [esp + 0x244]
push ecx
lea edx, [esp + 0x208]
push edx
lea ecx, [esp + 0x11c]
call fcn.0043d980
push eax
lea eax, [esp + 0x290]
push eax
lea ecx, [esp + 0x254]
push ecx
lea edx, [esp + 0x218]
push edx
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x380]
call fcn.0043d980
push eax
push 0x3f000000
lea ecx, [esp + 0x338]
push ecx
lea ecx, [esp + 0x1dc]
call fcn.00601db0
mov edx, dword [ebp + 8]
push eax
push edx
lea ecx, [esp + 0x34]
call fcn.00546dd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push ebx
push 0x3f000000
lea edx, [esp + 0x118]
push edx
lea ecx, [esp + 0x1dc]
call fcn.00601db0
push eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0x34]
call fcn.00546d40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4