Function at 0x1027c9c0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103aaeeb
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push esi
push edi
mov eax, dword [0x1049b0c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov eax, dword [0x11b92260]
mov edi, dword [esi + 0x60]
mov dword [ebp - 0x10], edi
test eax, eax
je 0x1027c9fc
add eax, 2
mov eax, dword [eax]
mov eax, dword [eax + edi + 4]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1027e02f
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x18], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [0x10544694]
test al, 1
jne 0x1027cb7e
or eax, 1
mov dword [0x10544694], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x1027cab2
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1027caa5
mov eax, dword [eax + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x2c], eax
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x1027ca76
xor edx, edx
test ecx, ecx
je 0x1027ca9f
movsx eax, byte [edx + eax]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x2c]
cmp edx, ecx
jb 0x1027ca83
cmp edi, 0x4e9f1122
je 0x1027cac9
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
cmp eax, ecx
jne 0x1027ca60
xor edx, edx
mov edi, dword [ebp - 0x10]
mov dword [0x1054162c], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x1027cb84
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp + 8], edx
mov dword [ebp - 0x24], edx
cmp dword [eax + 4], edx
jle 0x1027cab4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop
mov edi, dword [eax]
add edi, ecx
mov dword [ebp - 0x28], edi
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1027cb0f
cmp dword [ecx + 4], 0
jle 0x1027cb0f
push 0
mov edx, 0x940131c5
call fcn.10238b60
add esp, 4
test eax, eax
je 0x1027cb0f
mov ecx, dword [edi + 0x2c]
add ecx, eax
add dword [ebp + 8], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov edi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x1027cb20
xor edx, edx
test ecx, ecx
je 0x1027cb4c
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x2c]
cmp edx, ecx
jb 0x1027cb30
cmp edi, 0x940131c5
je 0x1027cb70
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
inc edx
mov ecx, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1027cae0
mov edx, dword [ebp + 8]
jmp 0x1027cab4
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp + 8]
jmp 0x1027cab4
mov edx, dword [0x1054162c]
push dword [edx + edi]
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1027e02f
mov ecx, dword [0x11b92250]
add ecx, 0xc6c19814
xor ecx, 0x26996288
mov eax, dword [ecx + 0x110]
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [0x10541658]
test al, 1
jne 0x1027cd0e
or eax, 1
mov dword [0x10541658], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x1027cc42
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1027cc35
mov eax, dword [eax + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x30], eax
xor ecx, ecx
inc ecx
cmp byte [eax + ecx], 0
jne 0x1027cc06
xor edx, edx
test ecx, ecx
je 0x1027cc2f
movsx eax, byte [eax + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x30]
cmp edx, ecx
jb 0x1027cc13
cmp edi, 0xcd2ed041
je 0x1027cc59
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
cmp eax, ecx
jne 0x1027cbf0
xor edx, edx
mov edi, dword [ebp - 0x10]
mov dword [0x10544910], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x1027cd14
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp + 8], edx
mov dword [ebp - 0x24], edx
cmp dword [eax + 4], edx
jle 0x1027cc44
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop
mov edi, dword [eax]
add edi, ecx
mov dword [ebp - 0x2c], edi
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1027cc9f
cmp dword [ecx + 4], 0
jle 0x1027cc9f
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x1027cc9f
mov ecx, dword [edi + 0x2c]
add ecx, eax
add dword [ebp + 8], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov edi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x1027ccb0
xor edx, edx
test ecx, ecx
je 0x1027ccdc
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x30]
cmp edx, ecx
jb 0x1027ccc0
cmp edi, 0xa2ccb41a
je 0x1027cd00
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
inc edx
mov ecx, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1027cc70
mov edx, dword [ebp + 8]
jmp 0x1027cc44
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp + 8]
jmp 0x1027cc44
mov edx, dword [0x10544910]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
movsx eax, word [edx + eax]
push eax
call dword [ebp - 0x34]
movss xmm0, dword [0x1046f3c4]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1027cec3
mov ecx, dword [0x1054166c]
movss xmm0, dword [0x1046ef90]
mov dword [ebp - 0x28], 0x3a83126f
test cl, 1
jne 0x1027ce9e
or ecx, 1
mov dword [0x1054166c], ecx
mov dword [ebp - 4], 2
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x1027cdcf
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1027cdc2
mov eax, dword [eax + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x34], eax
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x1027cd90
xor edx, edx
test ecx, ecx
je 0x1027cdbc
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x1027cda0
cmp edi, 0x72e242a1
je 0x1027cde9
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
cmp eax, ecx
jne 0x1027cd75
xor edx, edx
mov edi, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov dword [0x105446e8], edx
jmp 0x1027cea4
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp + 8], edx
mov dword [ebp - 0x24], edx
cmp dword [eax + 4], edx
jle 0x1027cdd1
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop
mov edi, dword [eax]
add edi, ecx
mov dword [ebp - 0x30], edi
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1027ce2f
cmp dword [ecx + 4], 0
jle 0x1027ce2f
push 0
mov edx, 0xf3e9a9ed
call fcn.10238b60
add esp, 4
test eax, eax
je 0x1027ce2f
mov ecx, dword [edi + 0x2c]
add ecx, eax
add dword [ebp + 8], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov edi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x1027ce40
xor edx, edx
test ecx, ecx
je 0x1027ce6c
nop dword [eax]
movsx eax, byte [edx + eax]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x1027ce50
cmp edi, 0xf3e9a9ed
je 0x1027ce90
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
inc edx
mov ecx, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1027ce00
mov edx, dword [ebp + 8]
jmp 0x1027cdd1
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp + 8]
jmp 0x1027cdd1
mov edx, dword [0x105446e8]
cmp byte [edx + edi], 0
lea ecx, [eax + 0x138]
jne 0x1027ceb6
lea ecx, [eax + 0x134]
comiss xmm0, dword [ecx]
lea eax, [ebp - 0x28]
cmovbe eax, ecx
movss xmm0, dword [eax]
mov eax, dword [0x10541638]
movss dword [ebp - 0x28], xmm0
test al, 1
jne 0x1027d01e
or eax, 1
mov dword [0x10541638], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x1027cf4f
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1027cf42
mov eax, dword [eax + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x34], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x1027cf10
xor edx, edx
test ecx, ecx
je 0x1027cf3c
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x1027cf20
cmp edi, 0x4e9f1122
je 0x1027cf66
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
cmp eax, ecx
jne 0x1027cef6
xor edx, edx
mov edi, dword [ebp - 0x10]
mov dword [0x105446ac], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x1027d024
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp + 8], edx
mov dword [ebp - 0x24], edx
cmp dword [eax + 4], edx
jle 0x1027cf51
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax + eax]
mov edi, dword [eax]
add edi, ecx
mov dword [ebp - 0x30], edi
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1027cfaf
cmp dword [ecx + 4], 0
jle 0x1027cfaf
push 0
mov edx, 0x53630d14
call fcn.10238b60
add esp, 4
test eax, eax
je 0x1027cfaf
mov ecx, dword [edi + 0x2c]
add ecx, eax
add dword [ebp + 8], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov edi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x1027cfc0
xor edx, edx
test ecx, ecx
je 0x1027cfec
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x1027cfd0
cmp edi, 0x53630d14
je 0x1027d010
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
inc edx
mov ecx, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1027cf80
mov edx, dword [ebp + 8]
jmp 0x1027cf51
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp + 8]
jmp 0x1027cf51
mov edx, dword [0x105446ac]
movss xmm5, dword [edx + edi]
movss xmm4, dword [edx + edi + 4]
mov eax, dword [edx + edi + 8]
lea edi, [esi + 0x74]
mov dword [esi + 0xf0], eax
movss xmm1, dword [esi + 0x160]
movss xmm2, dword [esi + 0x15c]
movss xmm0, dword [esi + 0x164]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
movss xmm3, dword [edi]
movaps xmm1, xmm4
mulss xmm3, dword [0x1046f42c]
mulss xmm1, xmm4
addss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm1, xmm0
comiss xmm1, xmm2
seta al
sub esp, 0xc
mov byte [esi + 0x1ad], al
mov ecx, esp
mov eax, dword [esi + 0xc8]
sub esp, 0xc
mov dword [ecx], eax
mov eax, dword [esi + 0xcc]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0xd0]
mov dword [ecx + 8], eax
mov eax, esp
lea ecx, [ebp - 0x40]
movss dword [eax], xmm5
movss dword [eax + 4], xmm4
mov dword [eax + 8], 0
call fcn.10232f10
movss xmm6, dword [0x1046f104]
add esp, 0x18
movss dword [ebp - 0x18], xmm6
movq xmm0, qword [eax]
movq qword [esi + 0xc8], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xd0], eax
movss xmm2, dword [esi + 0xc8]
movss xmm3, dword [esi + 0xcc]
movaps xmm5, xmm2
movss xmm4, dword [esi + 0xd0]
movaps xmm1, xmm3
mulss xmm1, xmm3
movaps xmm0, xmm4
mulss xmm5, xmm2
mulss xmm0, xmm4
addss xmm1, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movaps xmm1, xmm6
addss xmm0, dword [0x1046ef5c]
divss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
mulss xmm4, xmm1
movss dword [esi + 0xd4], xmm2
movss dword [esi + 0xd8], xmm3
movss dword [esi + 0xdc], xmm4
movss xmm1, dword [esi + 0xcc]
movss xmm0, dword [esi + 0xd0]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm5
xorps xmm5, xmm5
addss xmm1, xmm0
sqrtss xmm5, xmm1
xorps xmm1, xmm1
minss xmm5, dword [0x1046f3c4]
comiss xmm5, xmm1
movss dword [esi + 0xec], xmm5
jbe 0x1027d1bd
movq xmm0, qword [esi + 0xd4]
mov eax, dword [esi + 0xdc]
movq qword [esi + 0xe0], xmm0
mov dword [esi + 0xe8], eax
movss xmm3, dword [ebp - 0x28]
lea ecx, [ebp - 0x34]
movaps xmm0, xmm5
movss xmm2, dword [0x1046f150]
divss xmm0, xmm3
lea edx, [ebp + 8]
mov dword [ebp - 0x30], 0x3f800000
mov dword [ebp + 8], 0
divss xmm2, xmm3
comiss xmm1, xmm0
movss dword [ebp - 0x34], xmm0
mulss xmm2, xmm5
seta al
test al, al
cmove edx, ecx
movss dword [esi + 0xf8], xmm2
comiss xmm0, xmm6
lea ecx, [ebp - 0x30]
movss xmm0, dword [0x1046f1a8]
divss xmm0, xmm3
seta al
test al, al
cmove ecx, edx
mov eax, dword [ecx]
mov dword [esi + 0xf4], eax
comiss xmm2, xmm6
mulss xmm0, xmm5
movss dword [esi + 0xfc], xmm0
movss xmm0, dword [0x1046f094]
jb 0x1027d24a
movss dword [esi + 0x2a4], xmm5
jmp 0x1027d2a0
comiss xmm0, xmm2
jbe 0x1027d2a0
movss xmm6, dword [0x1046f310]
movss xmm2, dword [esi + 0x2a4]
movaps xmm4, xmm6
movss xmm3, dword [edi]
subss xmm4, xmm2
mulss xmm3, dword [0x1046f2e4]
comiss xmm4, xmm3
jbe 0x1027d27d
addss xmm2, xmm3
jmp 0x1027d295
movaps xmm0, xmm3
xorps xmm0, xmmword [0x1046f8e0]
comiss xmm0, xmm4
jbe 0x1027d292
subss xmm2, xmm3
jmp 0x1027d295
movaps xmm2, xmm6
movss dword [esi + 0x2a4], xmm2
lea edi, [esi + 0x74]
movss xmm2, dword [edi]
xor cl, cl
comiss xmm5, xmm1
mov byte [ebp + 0xb], 0
jbe 0x1027d2d6
movss xmm0, dword [esi + 0x100]
comiss xmm1, xmm0
mov dword [esi + 0x104], 0
addss xmm2, xmm0
setae byte [ebp + 0xb]
movss dword [esi + 0x100], xmm2
jmp 0x1027d2fa
movss xmm0, dword [esi + 0x104]
comiss xmm1, xmm0
mov dword [esi + 0x100], 0
addss xmm2, xmm0
setae cl
movss dword [esi + 0x104], xmm2
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 0x2990]
add edi, 0xa8
cmp byte [esi + 0x138], 0
mov dword [ebp - 0x1c], edi
jne 0x1027d356
test cl, cl
je 0x1027d356
cmp byte [esi + 0x108], 0
je 0x1027d356
cmp byte [esi + 0x128], 0
jne 0x1027d356
cmp byte [esi + 0x109], 0
jne 0x1027d356
movss xmm0, dword [0x1046f2c0]
comiss xmm0, dword [esi + 0x2ac]
jbe 0x1027d356
push 5
push edi
mov ecx, esi
call fcn.1027b0c0
mov byte [esi + 0x138], 1
push dword [edi + 0x18]
mov ecx, dword [ebp - 0x10]
call fcn.1007d0a0
movss xmm2, dword [0x1046f0fc]
cmp eax, 0x3d4
je 0x1027d37b
cmp eax, 0x3d3
jne 0x1027d624
cmp byte [esi + 0x138], 0
je 0x1027d585
movss xmm0, dword [0x1046f054]
comiss xmm0, dword [esi + 0xfc]
jb 0x1027d585
movss xmm1, dword [edi + 0x28]
xorps xmm4, xmm4
movss xmm5, dword [edi + 0x20]
movaps xmm0, xmm1
andps xmm0, xmmword [0x1046f8b0]
comiss xmm4, xmm0
movss xmm6, dword [ebp - 0x18]
movss dword [ebp - 0x34], xmm5
jae 0x1027d3fd
mulss xmm1, dword [esi + 0x74]
addss xmm1, dword [edi + 0x2c]
comiss xmm1, xmm6
jb 0x1027d3d5
movaps xmm1, xmm2
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm4, xmm1
jbe 0x1027d3ef
addss xmm1, xmm6
jmp 0x1027d3f8
comiss xmm1, xmm6
jbe 0x1027d3f8
subss xmm1, xmm6
movss dword [edi + 0x2c], xmm1
mov eax, dword [0x11b92260]
mov ecx, dword [esi + 0x60]
test eax, eax
je 0x1027d40c
add eax, 2
mov eax, dword [eax]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
jne 0x1027d41e
xorps xmm0, xmm0
jmp 0x1027d51c
mov edx, dword [edi + 0x18]
lea eax, [ecx + 4]
test eax, eax
je 0x1027d442
mov eax, dword [0x1055cee0]
push edx
call eax
movss xmm5, dword [ebp - 0x34]
xorps xmm4, xmm4
movss xmm2, dword [0x1046f0fc]
jmp 0x1027d45a
mov ecx, dword [ecx]
cmp edx, dword [ecx + 0xbc]
jle 0x1027d450
xor eax, eax
jmp 0x1027d45a
mov eax, dword [ecx + 0xc0]
add eax, ecx
add eax, edx
movss xmm0, dword [edi + 0x2c]
comiss xmm0, xmm2
movss xmm6, dword [ebp - 0x18]
jb 0x1027d46c
movaps xmm0, xmm6
movss xmm1, dword [eax + 0x68]
xorps xmm2, xmm2
comiss xmm1, xmm4
movss xmm3, dword [eax + 0x6c]
jbe 0x1027d489
comiss xmm1, xmm0
jbe 0x1027d489
divss xmm0, xmm1
jmp 0x1027d4a2
comiss xmm6, xmm3
xorps xmm1, xmm1
jbe 0x1027d4f6
comiss xmm0, xmm3
jbe 0x1027d4f6
subss xmm0, xmm6
subss xmm3, xmm6
divss xmm0, xmm3
comiss xmm4, xmm0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], 0x3f800000
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
movss xmm2, dword [0x1046f1ac]
movss dword [ebp - 0x30], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x2c]
comiss xmm0, xmm6
seta al
test al, al
cmove ecx, edx
movss xmm1, dword [ecx]
movaps xmm0, xmm1
addss xmm0, xmm1
mulss xmm1, xmm1
subss xmm2, xmm0
mulss xmm2, xmm1
movaps xmm1, xmm2
movss xmm0, dword [0x1046ef98]
comiss xmm0, xmm1
jbe 0x1027d508
xorps xmm0, xmm0
jmp 0x1027d51c
comiss xmm1, xmm6
seta al
test al, al
jne 0x1027d518
movss xmm0, xmm2
jmp 0x1027d51c
movss xmm0, xmm6
comiss xmm4, xmm0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], 0x3f800000
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
movss dword [ebp - 0x30], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x2c]
comiss xmm0, xmm6
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
movss dword [edi + 0x20], xmm0
subss xmm0, xmm5
divss xmm0, dword [esi + 0x74]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [edi + 0x28]
mulss xmm0, dword [esi + 0x74]
addss xmm0, dword [edi + 0x2c]
comiss xmm0, xmm6
setb al
mov byte [esi + 0x138], al
jmp 0x1027d62c
movss xmm1, dword [esi + 0x74]
mulss xmm1, dword [0x1046f1e0]
mov byte [esi + 0x138], 0
movss xmm3, dword [edi + 0x20]
movss xmm4, dword [0x1046f8e0]
movaps xmm2, xmm3
xorps xmm2, xmm4
comiss xmm2, xmm1
jbe 0x1027d5b7
addss xmm1, xmm3
jmp 0x1027d5d1
movaps xmm0, xmm1
xorps xmm0, xmm4
comiss xmm0, xmm2
jbe 0x1027d5ce
movaps xmm0, xmm3
subss xmm0, xmm1
movaps xmm1, xmm0
jmp 0x1027d5d1
xorps xmm1, xmm1
movss xmm6, dword [ebp - 0x18]
lea ecx, [ebp - 0x30]
xorps xmm4, xmm4
movss dword [ebp - 0x30], xmm1
comiss xmm4, xmm1
lea edx, [ebp - 0x34]
mov dword [ebp - 0x2c], 0x3f800000
mov dword [ebp - 0x34], 0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x2c]
comiss xmm1, xmm6
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
movss dword [edi + 0x20], xmm0
subss xmm0, xmm3
divss xmm0, dword [esi + 0x74]
movss dword [edi + 0x24], xmm0
jmp 0x1027d62c
movss xmm6, dword [ebp - 0x18]
xorps xmm4, xmm4
movss xmm1, dword [esi + 0x80]
lea edi, [esi + 0x80]
movss xmm0, dword [0x1046f510]
lea edx, [ebp - 0x34]
movss xmm3, dword [0x1046f3d8]
lea ecx, [ebp - 0x30]
comiss xmm0, xmm1
mov dword [ebp - 0x30], 0x43b40000
mov dword [ebp - 0x34], 0xc3b40000
mov dword [ebp - 0x20], edi
movss xmm0, dword [esi + 0x78]
movss xmm7, dword [0x1046f504]
seta al
movss xmm5, dword [0x1046f384]
test al, al
movss dword [esi + 0x84], xmm1
cmove edx, edi
comiss xmm1, xmm3
seta al
test al, al
cmove ecx, edx
movss xmm2, dword [ecx]
subss xmm0, xmm2
comiss xmm7, xmm0
movss dword [ebp - 0x24], xmm0
jbe 0x1027d6ac
addss xmm0, xmm3
jmp 0x1027d6be
comiss xmm0, xmm5
jbe 0x1027d6c3
lea eax, [esi + 0x80]
subss xmm0, xmm3
mov dword [ebp - 0x20], eax
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [esi + 0xf8]
lea ecx, [ebp - 0x30]
movss xmm1, dword [esi + 0xfc]
lea edx, [ebp - 0x34]
comiss xmm4, xmm0
mov dword [ebp - 0x2c], 0x3f800000
mov dword [ebp - 0x34], 0
movss xmm7, dword [0x1046f504]
movss dword [ebp - 0x28], xmm1
movss xmm1, dword [esi + 0x11c]
seta al
mulss xmm1, dword [0x1046f058]
test al, al
cmove edx, ecx
movss dword [ebp - 0x30], xmm0
comiss xmm0, xmm6
lea ecx, [ebp - 0x2c]
addss xmm1, dword [0x1046f048]
movaps xmm0, xmm6
seta al
test al, al
cmove ecx, edx
mulss xmm1, dword [ecx]
subss xmm0, xmm1
movss xmm1, dword [esi + 0xa4]
comiss xmm1, xmm4
jbe 0x1027d79c
comiss xmm4, dword [esi + 0xfc]
lea ecx, [ebp - 0x28]
mov edi, dword [ebp - 0x20]
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0x3f800000
movss xmm4, dword [esi + 0xfc]
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x30]
comiss xmm4, xmm6
seta al
test al, al
cmove ecx, edx
mulss xmm1, dword [ecx]
movss dword [ebp - 0x34], xmm1
movss xmm1, dword [0x1046f094]
subss xmm1, xmm0
mulss xmm1, dword [ebp - 0x34]
addss xmm0, xmm1
movaps xmm1, xmm0
mulss xmm0, dword [esi + 0x334]
mulss xmm1, dword [esi + 0x338]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm1
jbe 0x1027d7d4
movss xmm0, dword [0x1046f8b0]
movss xmm2, dword [esi + 0x78]
andps xmm1, xmm0
subss xmm2, xmm1
jmp 0x1027d7fb
movss xmm1, dword [ebp - 0x34]
comiss xmm1, xmm0
jbe 0x1027d7fb
movss xmm0, dword [0x1046f8b0]
movaps xmm2, xmm1
andps xmm2, xmm0
addss xmm2, dword [esi + 0x78]
movss dword [edi], xmm2
lea edi, [esi + 0x80]
comiss xmm7, xmm2
jbe 0x1027d80f
addss xmm2, xmm3
comiss xmm7, xmm2
ja 0x1027d800
lea edi, [esi + 0x80]
comiss xmm2, xmm5
jbe 0x1027d823
subss xmm2, xmm3
comiss xmm2, xmm5
ja 0x1027d814
lea edi, [esi + 0x80]
mov ecx, dword [ebp - 0x10]
add ecx, 8
movss dword [esi + 0x80], xmm2
mov eax, dword [ecx]
call dword [eax + 0x28]
cmp byte [esi + 0x108], 0
lea ecx, [esi + 0x108]
je 0x1027d9f8
movss xmm0, dword [esi + 0xec]
comiss xmm0, dword [0x1046f00c]
movss xmm1, dword [esi + 0x74]
movss xmm3, dword [edi]
jbe 0x1027d889
movss xmm2, dword [esi + 0x11c]
mulss xmm2, dword [0x1046f244]
movss xmm0, dword [esi + 0x78]
addss xmm2, dword [0x1046f280]
mulss xmm2, xmm1
jmp 0x1027d9ec
mov eax, dword [0x10541624]
mulss xmm1, dword [0x1046f32c]
test al, 1
jne 0x1027d9dc
or eax, 1
mov dword [0x10541624], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1053ebbc]
je 0x1027d910
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1027d902
mov eax, dword [ecx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x34], eax
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x1027d8d6
xor edx, edx
test ecx, ecx
je 0x1027d8ff
movsx eax, byte [edx + eax]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x1027d8e3
cmp edi, 0x72e242a1
je 0x1027d92f
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1053ebbc]
jne 0x1027d8c0
xor eax, eax
mov dword [0x105446f0], eax
lea edi, [esi + 0x80]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x108]
jmp 0x1027d9e1
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], edx
cmp dword [eax + 4], edx
jle 0x1027d9c7
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov edi, dword [eax]
add edi, ecx
mov dword [ebp - 0x30], edi
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1027d977
cmp dword [ecx + 4], 0
jle 0x1027d977
push 0
mov edx, 0x9ef0d03e
call fcn.10238b60
add esp, 4
test eax, eax
je 0x1027d977
mov ecx, dword [edi + 0x2c]
add ecx, eax
add dword [ebp - 0x20], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov edi, 0x811c9dc5
inc ecx
cmp byte [ecx + eax], 0
jne 0x1027d983
xor edx, edx
test ecx, ecx
je 0x1027d9ac
movsx eax, byte [edx + eax]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x1027d990
cmp edi, 0x9ef0d03e
je 0x1027d9ce
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
inc edx
mov ecx, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1027d948
mov edx, dword [ebp - 0x20]
mov eax, edx
jmp 0x1027d912
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x20]
jmp 0x1027d912
mov eax, dword [0x105446f0]
mov edx, dword [ebp - 0x10]
movaps xmm2, xmm1
movss xmm0, dword [eax + edx]
movaps xmm1, xmm3
call fcn.10233050
movss dword [edi], xmm0
movss xmm5, dword [ebp - 0x18]
comiss xmm5, dword [esi + 0xec]
jb 0x1027da90
cmp byte [ecx], 0
je 0x1027da90
cmp byte [esi + 0x128], 0
jne 0x1027da90
cmp byte [esi + 0x109], 0
xorps xmm4, xmm4
jne 0x1027da93
movss xmm3, dword [esi + 0x74]
comiss xmm3, xmm4
jbe 0x1027da93
movss xmm1, dword [esi + 0x80]
movss xmm0, dword [esi + 0x84]
call fcn.10233100
movss xmm2, dword [0x1046f8b0]
andps xmm0, xmm2
divss xmm0, xmm3
comiss xmm0, dword [0x1046f340]
jbe 0x1027da9b
push 0x3d3
mov ecx, esi
call fcn.1027b580
mov edi, dword [ebp - 0x1c]
mov ecx, esi
push eax
push edi
call fcn.1027b0c0
movss xmm5, dword [ebp - 0x18]
xorps xmm4, xmm4
movss xmm2, dword [0x1046f8b0]
mov byte [esi + 0x138], 1
jmp 0x1027da9e
xorps xmm4, xmm4
movss xmm2, dword [0x1046f8b0]
mov edi, dword [ebp - 0x1c]
movss xmm0, dword [edi + 0x20]
comiss xmm0, xmm4
jbe 0x1027daff
movss xmm1, dword [edi + 0x28]
movaps xmm0, xmm1
andps xmm0, xmm2
comiss xmm4, xmm0
jae 0x1027daf7
mulss xmm1, dword [esi + 0x74]
addss xmm1, dword [edi + 0x2c]
comiss xmm1, xmm5
jb 0x1027dacf
movss xmm1, dword [0x1046f0fc]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm4, xmm1
jbe 0x1027dae9
addss xmm1, xmm5
jmp 0x1027daf2
comiss xmm1, xmm5
jbe 0x1027daf2
subss xmm1, xmm5
movss dword [edi + 0x2c], xmm1
push edi
mov ecx, esi
call fcn.1027b020
movss xmm0, dword [esi + 0xec]
comiss xmm0, xmm4
movss xmm2, dword [0x1046f384]
jbe 0x1027dbd3
cmp byte [esi + 0x108], 0
je 0x1027dbd3
movss xmm0, dword [esi + 0xcc]
xorps xmm0, xmmword [0x1046f8e0]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [esi + 0xc8]
xorps xmm0, xmmword [0x1046f8e0]
fld dword [ebp - 0x34]
movss dword [ebp - 0x34], xmm0
fld dword [ebp - 0x34]
fpatan
movss xmm1, dword [0x1046f3d8]
fstp dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x34]
mulss xmm0, xmm2
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1046f128]
cvtpd2ps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x1027db81
addss xmm0, xmm1
subss xmm0, dword [esi + 0x80]
movss xmm3, dword [0x1046f504]
comiss xmm3, xmm0
jbe 0x1027db9c
addss xmm0, xmm1
jmp 0x1027dba5
comiss xmm0, xmm2
jbe 0x1027dba5
subss xmm0, xmm1
comiss xmm3, xmm0
jbe 0x1027dbb9
nop word [eax + eax]
addss xmm0, xmm1
comiss xmm3, xmm0
ja 0x1027dbb0
comiss xmm0, xmm2
jbe 0x1027dbc9
nop
subss xmm0, xmm1
comiss xmm0, xmm2
ja 0x1027dbc0
movss dword [esi + 0x8c], xmm0
jmp 0x1027dbdb
movss xmm3, dword [0x1046f504]
movss xmm0, dword [esi + 0x8c]
lea eax, [esi + 0x8c]
subss xmm0, dword [esi + 0x88]
movss xmm1, dword [0x1046f3d8]
lea edi, [esi + 0x88]
mov dword [ebp - 0x1c], edi
comiss xmm3, xmm0
movss dword [ebp - 0x20], xmm0
jbe 0x1027dc12
addss xmm0, xmm1
jmp 0x1027dc2d
comiss xmm0, xmm2
mov dword [ebp - 0x1c], edi
jbe 0x1027dc32
lea edi, [esi + 0x88]
subss xmm0, xmm1
mov dword [ebp - 0x1c], edi
lea eax, [esi + 0x8c]
movss dword [ebp - 0x20], xmm0
comiss xmm3, xmm0
jbe 0x1027dc54
addss xmm0, xmm1
comiss xmm3, xmm0
ja 0x1027dc37
lea edi, [esi + 0x88]
movss dword [ebp - 0x20], xmm0
lea eax, [esi + 0x8c]
mov dword [ebp - 0x1c], edi
comiss xmm0, xmm2
jbe 0x1027dc7d
nop dword [eax]
subss xmm0, xmm1
comiss xmm0, xmm2
ja 0x1027dc60
lea edi, [esi + 0x88]
movss dword [ebp - 0x20], xmm0
mov dword [ebp - 0x1c], edi
lea eax, [esi + 0x8c]
cmp byte [ebp + 0xb], 0
mov ecx, dword [ebp - 0x10]
movss dword [esi + 0x90], xmm0
mov ecx, dword [ecx + 0x2990]
je 0x1027dded
comiss xmm4, dword [esi + 0x9c]
jb 0x1027dded
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x88], eax
mov edi, dword [ecx + 0x168]
cmp edi, 0xffffffff
je 0x1027def7
mov ecx, dword [ebp - 0x14]
push edi
call fcn.1007d060
cmp dword [eax + 0xc4], 0
jle 0x1027def7
mov eax, dword [ebp - 0x1c]
movss xmm1, dword [0x1046f384]
movss xmm3, dword [eax]
movaps xmm0, xmm3
call fcn.10233100
movss xmm5, dword [0x1046f8b0]
movss xmm4, dword [0x1046f250]
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027dd0c
push 1
jmp 0x1027ddd3
movss xmm1, dword [0x1046f358]
movaps xmm0, xmm3
call fcn.10233100
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027dd2b
push 2
jmp 0x1027ddd3
movss xmm1, dword [0x1046f318]
movaps xmm0, xmm3
call fcn.10233100
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027dd4a
push 3
jmp 0x1027ddd3
movss xmm1, dword [0x1046f2ac]
movaps xmm0, xmm3
call fcn.10233100
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027dd66
push 4
jmp 0x1027ddd3
xorps xmm1, xmm1
movaps xmm0, xmm3
call fcn.10233100
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027dd7d
push 5
jmp 0x1027ddd3
movss xmm1, dword [0x1046f4e8]
movaps xmm0, xmm3
call fcn.10233100
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027dd99
push 6
jmp 0x1027ddd3
movss xmm1, dword [0x1046f4f8]
movaps xmm0, xmm3
call fcn.10233100
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027ddb5
push 7
jmp 0x1027ddd3
movss xmm1, dword [0x1046f500]
movaps xmm0, xmm3
call fcn.10233100
andps xmm0, xmm5
comiss xmm4, xmm0
jb 0x1027def7
push 8
mov ecx, dword [ebp - 0x14]
mov edx, edi
call fcn.1027c880
add esp, 4
movss dword [esi + 0x98], xmm0
jmp 0x1027def7
movss xmm0, dword [ecx + 0x1a8]
comiss xmm0, xmm5
jb 0x1027de03
mov eax, dword [eax]
mov dword [edi], eax
jmp 0x1027def7
movss xmm1, dword [esi + 0xfc]
lea eax, [esi + 0xfc]
movss xmm0, dword [esi + 0xf8]
lea edx, [ebp + 8]
comiss xmm1, xmm4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x30], 0x3f800000
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0x3f800000
mov dword [ebp + 8], 0
cmovae edx, eax
lea eax, [esi + 0xf8]
comiss xmm0, xmm4
cmovae ecx, eax
lea eax, [ebp - 0x30]
comiss xmm5, xmm0
cmovae eax, ecx
comiss xmm5, xmm1
movss xmm0, dword [eax]
lea eax, [ebp - 0x2c]
cmovae eax, edx
movss xmm1, dword [eax]
subss xmm1, xmm0
mulss xmm1, dword [esi + 0xa4]
addss xmm1, xmm0
movss xmm0, dword [esi + 0x348]
ucomiss xmm0, dword [0x1046f038]
lahf
test ah, 0x44
jnp 0x1027de96
mov dword [esi + 0x34c], 0x401e5507
movaps xmm0, xmm1
movss xmm1, dword [esi + 0x34c]
call fcn.10388a42
addss xmm0, dword [0x1046f00c]
movss xmm2, dword [0x1046f504]
movss xmm1, dword [0x1046f3d8]
mulss xmm0, dword [ebp - 0x20]
addss xmm0, dword [edi]
comiss xmm2, xmm0
jbe 0x1027ded9
nop dword [eax]
addss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1027ded0
movss xmm2, dword [0x1046f384]
comiss xmm0, xmm2
jbe 0x1027deef
subss xmm0, xmm1
comiss xmm0, xmm2
ja 0x1027dee6
movss dword [esi + 0x88], xmm0
mov edi, dword [ebp - 0x10]
lea ecx, [esi + 0x1e0]
movss xmm2, dword [esi + 0x88]
push edi
call fcn.1027b110
movss xmm2, dword [esi + 0x78]
subss xmm2, dword [esi + 0x80]
movss xmm0, dword [0x1046f504]
comiss xmm0, xmm2
jbe 0x1027df32
addss xmm2, dword [0x1046f3d8]
jmp 0x1027df43
comiss xmm2, dword [0x1046f384]
jbe 0x1027df43
subss xmm2, dword [0x1046f3d8]
xorps xmm0, xmm0
comiss xmm2, xmm0
jb 0x1027df6a
movss xmm1, dword [esi + 0x338]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1027df6a
divss xmm2, xmm1
mulss xmm2, dword [0x1046f2e4]
jmp 0x1027df87
movss xmm1, dword [esi + 0x334]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1027df87
divss xmm2, xmm1
mulss xmm2, dword [0x1046f4f4]
push edi
lea ecx, [esi + 0x1f8]
call fcn.1027b110
movss xmm2, dword [esi + 0x7c]
movss xmm0, dword [0x1046f504]
comiss xmm0, xmm2
jbe 0x1027dfaf
addss xmm2, dword [0x1046f3d8]
jmp 0x1027dfc0
comiss xmm2, dword [0x1046f384]
jbe 0x1027dfc0
subss xmm2, dword [0x1046f3d8]
xorps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x1027dfda
divss xmm2, dword [esi + 0x340]
mulss xmm2, dword [0x1046f318]
jmp 0x1027dfea
divss xmm2, dword [esi + 0x33c]
mulss xmm2, dword [0x1046f4f8]
push edi
lea ecx, [esi + 0x204]
call fcn.1027b110
movss xmm2, dword [esi + 0xf8]
lea ecx, [esi + 0x1bc]
push edi
call fcn.1027b110
movss xmm0, dword [esi + 0x124]
lea ecx, [esi + 0x21c]
mulss xmm0, dword [esi + 0xa4]
push edi
movss xmm2, dword [ebp - 0x18]
subss xmm2, xmm0
call fcn.1027b110
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4