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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101f436b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x40
push esi
push edi
mov eax, dword [0x10285040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebx + 8]
mov eax, dword [0x10b33e70]
mov esi, dword [edi + 0x60]
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x10163d20
add eax, 2
mov eax, dword [eax]
mov eax, dword [eax + esi + 4]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10165754
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x103201ac]
test al, 1
jne 0x10163eb8
or eax, 1
mov dword [0x103201ac], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x10163dd0
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x10163dc2
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x34], eax
xor ecx, ecx
inc ecx
cmp byte [eax + ecx], 0
jne 0x10163d96
xor edx, edx
test ecx, ecx
je 0x10163dbf
movsx eax, byte [eax + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x10163da3
cmp esi, 0x4e9f1122
je 0x10163de6
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x10163d80
mov esi, dword [ebp - 0x1c]
xor eax, eax
mov dword [0x1031e910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10163ebd
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x28], edx
cmp dword [eax + 4], edx
jle 0x10163e8b
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10163e2f
cmp dword [ecx + 4], 0
jle 0x10163e2f
push 0
mov edx, 0x940131c5
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10163e2f
mov ecx, dword [esi + 0x2c]
add ecx, eax
add dword [ebp - 0x18], ecx
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov esi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x10163e40
xor edx, edx
test ecx, ecx
je 0x10163e6c
nop dword [eax]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x10163e50
cmp esi, 0x940131c5
je 0x10163e9e
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 0x10163e00
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov eax, edx
mov dword [0x1031e910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10163ebd
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x1c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x1031e910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10163ebd
mov eax, dword [0x1031e910]
push dword [eax + esi]
mov ecx, dword [ebp - 0x38]
call dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x10165754
mov ecx, dword [0x10b33e60]
add ecx, 0x7a4232c8
xor ecx, 0xfcb4fca8
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x40], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [0x1031e958]
test al, 1
jne 0x10164058
or eax, 1
mov dword [0x1031e958], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x10163f70
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x10163f62
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x10163f36
xor edx, edx
test ecx, ecx
je 0x10163f5f
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x3c]
cmp edx, ecx
jb 0x10163f43
cmp esi, 0xcd2ed041
je 0x10163f86
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x10163f20
mov esi, dword [ebp - 0x1c]
xor eax, eax
mov dword [0x10320234], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016405d
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x2c], edx
cmp dword [eax + 4], edx
jle 0x1016402b
xor ecx, ecx
mov dword [ebp - 0x28], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10163fcf
cmp dword [ecx + 4], 0
jle 0x10163fcf
push 0
mov edx, 0xa2ccb41a
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10163fcf
mov ecx, dword [esi + 0x2c]
add ecx, eax
add dword [ebp - 0x18], ecx
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov esi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x10163fe0
xor edx, edx
test ecx, ecx
je 0x1016400c
nop dword [eax]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x3c]
cmp edx, ecx
jb 0x10163ff0
cmp esi, 0xa2ccb41a
je 0x1016403e
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
inc edx
mov ecx, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x10163fa0
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov eax, edx
mov dword [0x10320234], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016405d
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x1c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x10320234], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016405d
mov eax, dword [0x10320234]
mov ecx, dword [ebp - 0x34]
movsx eax, word [eax + ecx]
mov ecx, dword [ebp - 0x40]
push eax
call dword [ebp - 0x44]
mov edx, eax
mov dword [ebp - 0x3c], edx
test edx, edx
je 0x101641f5
mov ecx, dword [0x1031e978]
test cl, 1
jne 0x101641d0
or ecx, 1
mov dword [0x1031e978], ecx
mov dword [ebp - 4], 2
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x101640fd
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x101640ef
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x44], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x101640c0
xor edx, edx
test ecx, ecx
je 0x101640ec
nop dword [eax]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x44]
cmp edx, ecx
jb 0x101640d0
cmp esi, 0x72e242a1
je 0x10164116
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x101640a7
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x3c]
mov dword [0x10320218], eax
jmp 0x101641d5
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x30], edx
cmp dword [eax + 4], edx
jle 0x101641bb
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1016415f
cmp dword [ecx + 4], 0
jle 0x1016415f
push 0
mov edx, 0xf3e9a9ed
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1016415f
mov ecx, dword [esi + 0x2c]
add ecx, eax
add dword [ebp - 0x18], ecx
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov esi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x10164170
xor edx, edx
test ecx, ecx
je 0x1016419c
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x44]
cmp edx, ecx
jb 0x10164180
cmp esi, 0xf3e9a9ed
je 0x101641c2
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
inc edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10164130
mov edx, dword [ebp - 0x18]
mov eax, edx
jmp 0x101640ff
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x101640ff
mov eax, dword [0x10320218]
cmp byte [eax + esi], 0
lea eax, [edx + 0x138]
jne 0x101641e7
lea eax, [edx + 0x134]
movss xmm0, dword [eax]
maxss xmm0, dword [0x10270ebc]
jmp 0x101641fd
movss xmm0, dword [0x102712b8]
mov eax, dword [0x1031e91c]
movss dword [ebp - 0x34], xmm0
test al, 1
jne 0x1016434e
or eax, 1
mov dword [0x1031e91c], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x10164280
nop
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10164272
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x44], eax
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x10164246
xor edx, edx
test ecx, ecx
je 0x1016426f
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x44]
cmp edx, ecx
jb 0x10164253
cmp esi, 0x4e9f1122
je 0x10164297
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x10164230
xor edx, edx
mov esi, dword [ebp - 0x1c]
mov dword [0x103201cc], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x10164354
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x30], edx
cmp dword [eax + 4], edx
jle 0x10164282
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101642df
cmp dword [ecx + 4], 0
jle 0x101642df
push 0
mov edx, 0x53630d14
call fcn.1012b660
add esp, 4
test eax, eax
je 0x101642df
mov ecx, dword [esi + 0x2c]
add ecx, eax
add dword [ebp - 0x18], ecx
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov esi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x101642f0
xor edx, edx
test ecx, ecx
je 0x1016431c
nop dword [eax]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x44]
cmp edx, ecx
jb 0x10164300
cmp esi, 0x53630d14
je 0x10164340
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
inc edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x101642b0
mov edx, dword [ebp - 0x18]
jmp 0x10164282
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x18]
jmp 0x10164282
mov edx, dword [0x103201cc]
movss xmm3, dword [edx + esi]
movss xmm4, dword [edx + esi + 4]
mov eax, dword [edx + esi + 8]
lea edx, [edi + 0x74]
mov dword [edi + 0xf0], eax
movss xmm1, dword [edi + 0x160]
movss xmm2, dword [edi + 0x15c]
movss xmm0, dword [edi + 0x164]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
movss xmm6, dword [edx]
movaps xmm1, xmm4
movaps xmm7, xmm6
mulss xmm1, xmm4
mulss xmm7, dword [0x1027131c]
addss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
comiss xmm1, xmm2
movaps xmm1, xmm4
movaps xmm2, xmm3
seta al
mov byte [edi + 0x1ad], al
subss xmm1, dword [edi + 0xcc]
subss xmm2, dword [edi + 0xc8]
movss xmm5, dword [edi + 0xd0]
xorps xmm5, xmmword [0x10271af0]
movss dword [ebp - 0x2c], xmm5
movaps xmm0, xmm1
movss dword [ebp - 0x30], xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
movss dword [ebp - 0x44], xmm2
addss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm0, xmm1
call fcn.1000d460
movss xmm5, dword [0x10271024]
movaps xmm1, xmm0
comiss xmm1, xmm7
jbe 0x10164474
addss xmm1, dword [0x10270e8c]
movaps xmm0, xmm5
divss xmm0, xmm1
movaps xmm3, xmm0
movaps xmm4, xmm0
mulss xmm4, dword [ebp - 0x30]
mulss xmm0, dword [ebp - 0x2c]
mulss xmm3, xmm2
mulss xmm4, xmm7
mulss xmm3, xmm7
addss xmm4, dword [edi + 0xcc]
mulss xmm0, xmm7
addss xmm3, dword [edi + 0xc8]
addss xmm0, dword [edi + 0xd0]
jmp 0x101644dc
movaps xmm0, xmm7
xorps xmm0, xmmword [0x10271af0]
comiss xmm0, xmm1
jbe 0x101644d9
addss xmm1, dword [0x10270e8c]
movaps xmm2, xmm5
movss xmm4, dword [edi + 0xcc]
movss xmm3, dword [edi + 0xc8]
divss xmm2, xmm1
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, dword [ebp - 0x30]
mulss xmm1, dword [ebp - 0x44]
mulss xmm2, dword [ebp - 0x2c]
mulss xmm0, xmm7
mulss xmm1, xmm7
mulss xmm2, xmm7
subss xmm4, xmm0
movss xmm0, dword [edi + 0xd0]
subss xmm3, xmm1
subss xmm0, xmm2
jmp 0x101644dc
xorps xmm0, xmm0
movss dword [ebp - 0x48], xmm0
mov eax, dword [ebp - 0x48]
unpcklps xmm3, xmm4
movq qword [edi + 0xc8], xmm3
mov dword [edi + 0xd0], eax
movss xmm7, dword [edi + 0xc8]
movss xmm3, dword [edi + 0xcc]
movaps xmm4, xmm7
movss xmm2, dword [edi + 0xd0]
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm2
mulss xmm4, xmm7
mulss xmm1, xmm2
addss xmm0, xmm4
addss xmm0, xmm1
call fcn.1000d460
addss xmm0, dword [0x10270e8c]
movaps xmm1, xmm5
divss xmm1, xmm0
mulss xmm7, xmm1
mulss xmm3, xmm1
mulss xmm2, xmm1
unpcklps xmm7, xmm3
movq qword [edi + 0xd4], xmm7
movss dword [ebp - 0x48], xmm2
mov eax, dword [ebp - 0x48]
mov dword [edi + 0xdc], eax
movss xmm0, dword [edi + 0xcc]
movss xmm1, dword [edi + 0xd0]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm4
addss xmm0, xmm1
call fcn.1000d460
movaps xmm4, xmm0
xorps xmm1, xmm1
minss xmm4, dword [0x102712b8]
comiss xmm4, xmm1
movss dword [edi + 0xec], xmm4
jbe 0x101645b4
movq qword [edi + 0xe0], xmm7
lea edx, [edi + 0x74]
mov dword [edi + 0xe8], eax
movss xmm3, dword [ebp - 0x34]
lea eax, [ebp - 0x40]
movaps xmm0, xmm4
movss xmm2, dword [0x10271068]
divss xmm0, xmm3
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x44], 0
divss xmm2, xmm3
comiss xmm0, xmm1
movss dword [ebp - 0x40], xmm0
mulss xmm2, xmm4
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm5, xmm0
movss xmm0, dword [0x102710b0]
divss xmm0, xmm3
cmovae eax, ecx
mov eax, dword [eax]
mov dword [edi + 0xf4], eax
movss dword [edi + 0xf8], xmm2
comiss xmm2, xmm5
mulss xmm0, xmm4
movss dword [edi + 0xfc], xmm0
movss xmm0, dword [0x10270fb4]
jb 0x10164637
movss dword [edi + 0x2a4], xmm4
jmp 0x10164689
comiss xmm0, xmm2
jbe 0x10164689
movss xmm5, dword [0x10271208]
movss xmm2, dword [edi + 0x2a4]
movaps xmm3, xmm5
mulss xmm6, dword [0x102711dc]
subss xmm3, xmm2
comiss xmm3, xmm6
jbe 0x10164666
addss xmm2, xmm6
jmp 0x1016467e
movaps xmm0, xmm6
xorps xmm0, xmmword [0x10271af0]
comiss xmm0, xmm3
jbe 0x1016467b
subss xmm2, xmm6
jmp 0x1016467e
movaps xmm2, xmm5
movss dword [edi + 0x2a4], xmm2
lea edx, [edi + 0x74]
movss xmm2, dword [edx]
xor al, al
comiss xmm4, xmm1
mov byte [ebp - 0x11], 0
jbe 0x101646bf
movss xmm0, dword [edi + 0x100]
comiss xmm1, xmm0
mov dword [edi + 0x104], 0
addss xmm2, xmm0
setae byte [ebp - 0x11]
movss dword [edi + 0x100], xmm2
jmp 0x101646e3
movss xmm0, dword [edi + 0x104]
comiss xmm1, xmm0
mov dword [edi + 0x100], 0
addss xmm0, xmm2
setae al
movss dword [edi + 0x104], xmm0
mov esi, dword [esi + 0x2990]
add esi, 0xa8
cmp byte [edi + 0x138], 0
mov dword [ebp - 0x18], esi
jne 0x1016476f
test al, al
je 0x1016476f
cmp byte [edi + 0x108], 0
je 0x1016476f
cmp byte [edi + 0x128], 0
jne 0x1016476f
cmp byte [edi + 0x109], 0
jne 0x1016476f
movss xmm0, dword [0x102711b4]
comiss xmm0, dword [edi + 0x2ac]
jbe 0x1016476f
push 5
mov ecx, edi
call fcn.10162930
mov ecx, eax
cmp ecx, 2
jl 0x10164768
mov edx, dword [esi + 0x30]
test edx, edx
je 0x10164768
mov dword [esi + 0x18], ecx
mov eax, dword [edx]
push ecx
push esi
mov ecx, edx
mov eax, dword [eax + 0x37c]
mov dword [ebp - 0x44], eax
call dword [ebp - 0x44]
fstp dword [esi + 0x28]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x20], 0
mov byte [edi + 0x138], 1
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
add ecx, 4
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov esi, dword [eax + 0xec]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
xor ecx, ecx
test esi, esi
push eax
cmovne ecx, esi
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x80]
mov ecx, esi
call edx
test eax, eax
je 0x10164a69
push dword [ebp - 0x44]
mov ecx, dword [ebp - 0x1c]
mov edx, eax
mov esi, dword [0x10335188]
call esi
cmp eax, 0x3d4
je 0x101647d5
cmp eax, 0x3d3
jne 0x10164a69
cmp byte [edi + 0x138], 0
je 0x101649ce
movss xmm0, dword [0x10270f68]
comiss xmm0, dword [edi + 0xfc]
jb 0x101649ce
mov esi, dword [ebp - 0x18]
movss xmm1, dword [esi + 0x28]
movss xmm5, dword [esi + 0x20]
movaps xmm0, xmm1
movss dword [ebp - 0x44], xmm5
call fcn.1000d440
movss xmm2, dword [0x10271024]
xorps xmm6, xmm6
comiss xmm6, xmm0
jae 0x10164860
mulss xmm1, dword [edi + 0x74]
addss xmm1, dword [esi + 0x2c]
comiss xmm1, xmm2
jb 0x10164838
movss xmm1, dword [0x1027101c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm6, xmm1
jbe 0x10164852
addss xmm1, xmm2
jmp 0x1016485b
comiss xmm1, xmm2
jbe 0x1016485b
subss xmm1, xmm2
movss dword [esi + 0x2c], xmm1
mov eax, dword [0x10b33e70]
mov ecx, dword [edi + 0x60]
test eax, eax
je 0x1016486f
add eax, 2
mov eax, dword [eax]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
jne 0x10164881
xorps xmm0, xmm0
jmp 0x1016496f
mov edx, dword [esi + 0x18]
lea eax, [ecx + 4]
test eax, eax
je 0x1016489d
mov eax, dword [0x10335014]
push edx
call eax
movss xmm5, dword [ebp - 0x44]
xorps xmm6, xmm6
jmp 0x101648b5
mov ecx, dword [ecx]
cmp edx, dword [ecx + 0xbc]
jle 0x101648ab
xor eax, eax
jmp 0x101648b5
mov eax, dword [ecx + 0xc0]
add eax, ecx
add eax, edx
movss xmm0, dword [esi + 0x2c]
comiss xmm0, dword [0x1027101c]
movss xmm2, dword [0x10271024]
jb 0x101648ce
movaps xmm0, xmm2
movss xmm1, dword [eax + 0x68]
xorps xmm3, xmm3
comiss xmm1, xmm6
movss xmm4, dword [eax + 0x6c]
jbe 0x101648eb
comiss xmm1, xmm0
jbe 0x101648eb
divss xmm0, xmm1
jmp 0x10164904
comiss xmm2, xmm4
xorps xmm1, xmm1
jbe 0x1016494e
comiss xmm0, xmm4
jbe 0x1016494e
subss xmm0, xmm2
subss xmm4, xmm2
divss xmm0, xmm4
comiss xmm0, xmm6
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 0x3f800000
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0
movss xmm3, dword [0x102710b4]
movss dword [ebp - 0x40], xmm0
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm2, xmm0
cmovae eax, ecx
movss xmm1, dword [eax]
movaps xmm0, xmm1
addss xmm0, xmm1
mulss xmm1, xmm1
subss xmm3, xmm0
mulss xmm3, xmm1
movaps xmm1, xmm3
movss xmm0, dword [0x10270ec4]
comiss xmm0, xmm1
jbe 0x10164960
xorps xmm0, xmm0
jmp 0x1016496f
comiss xmm2, xmm1
jb 0x1016496b
movss xmm0, xmm3
jmp 0x1016496f
movss xmm0, xmm2
comiss xmm0, xmm6
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 0x3f800000
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0
movss dword [ebp - 0x40], xmm0
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm2, xmm0
cmovae eax, ecx
movss xmm0, dword [eax]
movss dword [esi + 0x20], xmm0
subss xmm0, xmm5
divss xmm0, dword [edi + 0x74]
movss dword [esi + 0x24], xmm0
movss xmm0, dword [esi + 0x28]
mulss xmm0, dword [edi + 0x74]
addss xmm0, dword [esi + 0x2c]
comiss xmm0, xmm2
setb al
mov byte [edi + 0x138], al
jmp 0x10164a6c
mov esi, dword [ebp - 0x18]
movss xmm1, dword [edi + 0x74]
mulss xmm1, dword [0x102710e8]
mov byte [edi + 0x138], 0
movss xmm3, dword [esi + 0x20]
movss xmm4, dword [0x10271af0]
movaps xmm2, xmm3
xorps xmm2, xmm4
comiss xmm2, xmm1
jbe 0x10164a03
addss xmm1, xmm3
jmp 0x10164a1d
movaps xmm0, xmm1
xorps xmm0, xmm4
comiss xmm0, xmm2
jbe 0x10164a1a
movaps xmm0, xmm3
subss xmm0, xmm1
movaps xmm1, xmm0
jmp 0x10164a1d
xorps xmm1, xmm1
movss xmm0, dword [0x10271024]
lea eax, [ebp - 0x40]
xorps xmm6, xmm6
movss dword [ebp - 0x40], xmm1
comiss xmm1, xmm6
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x44], 0
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm0, xmm1
cmovae eax, ecx
movss xmm0, dword [eax]
movss dword [esi + 0x20], xmm0
subss xmm0, xmm3
divss xmm0, dword [edi + 0x74]
movss dword [esi + 0x24], xmm0
jmp 0x10164a6c
xorps xmm6, xmm6
movss xmm0, dword [edi + 0x80]
lea esi, [edi + 0x80]
comiss xmm0, dword [0x102713fc]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], 0x43b40000
lea eax, [ebp - 0x40]
mov dword [ebp - 0x44], 0xc3b40000
mov edx, esi
movss xmm2, dword [0x102712cc]
movss xmm7, dword [edi + 0x78]
movss xmm5, dword [0x102713f4]
cmovae ecx, esi
movss xmm4, dword [0x10271280]
comiss xmm2, xmm0
movss dword [edi + 0x84], xmm0
cmovae eax, ecx
movss xmm3, dword [eax]
subss xmm7, xmm3
comiss xmm5, xmm7
jbe 0x10164ad8
addss xmm7, xmm2
jmp 0x10164ae7
comiss xmm7, xmm4
jbe 0x10164ae7
subss xmm7, xmm2
lea edx, [edi + 0x80]
movss xmm1, dword [edi + 0xf8]
lea eax, [ebp - 0x40]
movss xmm5, dword [0x10271024]
lea ecx, [ebp - 0x44]
movss xmm0, dword [edi + 0xfc]
comiss xmm1, xmm6
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x44], 0
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [edi + 0x11c]
mulss xmm0, dword [0x10270f70]
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm5, xmm1
movss dword [ebp - 0x40], xmm1
movaps xmm1, xmm5
addss xmm0, dword [0x10270f60]
cmovae eax, ecx
movaps xmm5, xmm1
mulss xmm0, dword [eax]
subss xmm5, xmm0
movss xmm0, dword [edi + 0xa4]
comiss xmm0, xmm6
movss dword [ebp - 0x34], xmm5
movss xmm5, dword [0x102713f4]
jbe 0x10164bc6
movss xmm2, dword [edi + 0xfc]
lea eax, [ebp - 0x38]
comiss xmm2, xmm6
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0x3f800000
mov esi, edx
cmovae ecx, eax
lea eax, [ebp - 0x40]
comiss xmm1, xmm2
movss xmm1, dword [0x10270fb4]
movss xmm2, dword [0x102712cc]
cmovae eax, ecx
mulss xmm0, dword [eax]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebp - 0x34]
subss xmm1, xmm0
mulss xmm1, dword [ebp - 0x44]
addss xmm0, xmm1
jmp 0x10164bcb
movss xmm0, dword [ebp - 0x34]
movaps xmm1, xmm0
mulss xmm0, dword [edi + 0x334]
mulss xmm1, dword [edi + 0x338]
comiss xmm7, xmm1
jbe 0x10164bf6
movaps xmm0, xmm1
call fcn.1000d440
movss xmm3, dword [edi + 0x78]
subss xmm3, xmm0
jmp 0x10164c12
comiss xmm0, xmm7
jbe 0x10164c12
call fcn.1000d440
movaps xmm3, xmm0
addss xmm3, dword [edi + 0x78]
movss dword [esi], xmm3
lea esi, [edi + 0x80]
comiss xmm5, xmm3
jbe 0x10164c26
addss xmm3, xmm2
comiss xmm5, xmm3
ja 0x10164c17
lea esi, [edi + 0x80]
comiss xmm3, xmm4
jbe 0x10164c3f
nop dword [eax + eax]
subss xmm3, xmm2
comiss xmm3, xmm4
ja 0x10164c30
lea esi, [edi + 0x80]
mov ecx, dword [ebp - 0x1c]
add ecx, 8
movss dword [edi + 0x80], xmm3
mov eax, dword [ecx]
call dword [eax + 0x28]
cmp byte [edi + 0x108], 0
je 0x10164fc2
movss xmm0, dword [edi + 0xec]
comiss xmm0, dword [0x10270f24]
movss xmm4, dword [edi + 0x74]
movss xmm6, dword [esi]
jbe 0x10164d7d
movss xmm0, dword [edi + 0x78]
mulss xmm0, dword [0x10271284]
mulss xmm6, dword [0x10271284]
movss xmm3, dword [edi + 0x11c]
cvttss2si eax, xmm0
movaps xmm5, xmm3
mulss xmm5, dword [0x10271144]
movzx eax, ax
addss xmm5, dword [0x10271180]
movd xmm2, eax
cvttss2si eax, xmm6
cvtdq2ps xmm2, xmm2
movzx eax, ax
movd xmm7, eax
mulss xmm2, dword [0x10270ed8]
cvtdq2ps xmm7, xmm7
mulss xmm5, xmm4
movaps xmm6, xmm2
mulss xmm7, dword [0x10270ed8]
movss dword [ebp - 0x44], xmm2
xorps xmm2, xmm2
comiss xmm2, xmm5
subss xmm6, xmm7
jbe 0x10164d09
mulss xmm3, dword [0x10271144]
movss xmm5, dword [0x102713c8]
subss xmm5, xmm3
mulss xmm5, xmm4
movss xmm4, dword [0x102713f4]
comiss xmm4, xmm6
movss xmm3, dword [0x10271280]
movss xmm1, dword [0x102712cc]
jbe 0x10164d2c
addss xmm6, xmm1
jmp 0x10164d35
comiss xmm6, xmm3
jbe 0x10164d35
subss xmm6, xmm1
comiss xmm6, xmm5
jbe 0x10164d4b
addss xmm7, xmm5
movss dword [edi + 0x80], xmm7
jmp 0x10164fdd
movaps xmm0, xmm5
xorps xmm0, xmmword [0x10271af0]
comiss xmm0, xmm6
jbe 0x10164d6b
subss xmm7, xmm5
movss dword [edi + 0x80], xmm7
jmp 0x10164fdd
movss xmm7, dword [ebp - 0x44]
movss dword [edi + 0x80], xmm7
jmp 0x10164fdd
mulss xmm4, dword [0x10271224]
mov eax, dword [0x1031e8f8]
movss dword [ebp - 0x28], xmm4
test al, 1
jne 0x10164ef2
or eax, 1
mov dword [0x1031e8f8], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x10164e0d
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x10164dff
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x44], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x10164dd0
xor edx, edx
test ecx, ecx
je 0x10164dfc
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x44]
cmp edx, ecx
jb 0x10164de0
cmp esi, 0x72e242a1
je 0x10164e20
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x10164db6
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320220], eax
jmp 0x10164ef7
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x34], edx
cmp dword [eax + 4], edx
jle 0x10164ecb
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10164e6f
cmp dword [ecx + 4], 0
jle 0x10164e6f
push 0
mov edx, 0x9ef0d03e
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10164e6f
mov ecx, dword [esi + 0x2c]
add ecx, eax
add dword [ebp - 0x24], ecx
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov esi, 0x811c9dc5
nop dword [eax + eax]
inc ecx
cmp byte [eax + ecx], 0
jne 0x10164e80
xor edx, edx
test ecx, ecx
je 0x10164eac
nop dword [eax]
movsx eax, byte [eax + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x44]
cmp edx, ecx
jb 0x10164e90
cmp esi, 0x9ef0d03e
je 0x10164edb
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
inc edx
mov ecx, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10164e40
mov edx, dword [ebp - 0x24]
mov eax, edx
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320220], eax
jmp 0x10164ef7
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x24]
mov dword [0x10320220], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10164ef7
mov eax, dword [0x10320220]
mov ecx, dword [ebp - 0x1c]
xorps xmm2, xmm2
comiss xmm2, xmm4
movss xmm0, dword [eax + ecx]
mulss xmm0, dword [0x10271284]
mulss xmm6, dword [0x10271284]
cvttss2si eax, xmm0
movzx eax, ax
movd xmm7, eax
cvttss2si eax, xmm6
cvtdq2ps xmm7, xmm7
movzx eax, ax
movd xmm6, eax
mulss xmm7, dword [0x10270ed8]
cvtdq2ps xmm6, xmm6
movaps xmm5, xmm7
mulss xmm6, dword [0x10270ed8]
subss xmm5, xmm6
jbe 0x10164f56
xorps xmm4, xmmword [0x10271af0]
movss dword [ebp - 0x28], xmm4
movss xmm4, dword [0x102713f4]
comiss xmm4, xmm5
movss xmm3, dword [0x10271280]
movss xmm1, dword [0x102712cc]
jbe 0x10164f79
addss xmm5, xmm1
jmp 0x10164f82
comiss xmm5, xmm3
jbe 0x10164f82
subss xmm5, xmm1
movss xmm0, dword [ebp - 0x28]
comiss xmm5, xmm0
jbe 0x10164f9a
addss xmm6, xmm0
movss dword [edi + 0x80], xmm6
jmp 0x10164fdd
xorps xmm0, xmmword [0x10271af0]
comiss xmm0, xmm5
jbe 0x10164fb5
subss xmm6, dword [ebp - 0x28]
movss dword [edi + 0x80], xmm6
jmp 0x10164fdd
movaps xmm6, xmm7
movss dword [edi + 0x80], xmm6
jmp 0x10164fdd
movss xmm1, dword [0x102712cc]
xorps xmm2, xmm2
movss xmm3, dword [0x10271280]
movss xmm4, dword [0x102713f4]
movss xmm5, dword [0x10271024]
comiss xmm5, dword [edi + 0xec]
jb 0x101650b7
cmp byte [edi + 0x108], 0
je 0x101650b7
cmp byte [edi + 0x128], 0
jne 0x101650b7
cmp byte [edi + 0x109], 0
jne 0x101650b7
movss xmm6, dword [edi + 0x74]
comiss xmm6, xmm2
jbe 0x101650b7
movss xmm0, dword [edi + 0x84]
subss xmm0, dword [edi + 0x80]
comiss xmm4, xmm0
jbe 0x10165042
addss xmm0, xmm1
jmp 0x1016504b
comiss xmm0, xmm3
jbe 0x1016504b
subss xmm0, xmm1
call fcn.1000d440
divss xmm0, xmm6
comiss xmm0, dword [0x10271240]
jbe 0x101650b7
push 4
mov ecx, edi
call fcn.10162930
mov esi, dword [ebp - 0x18]
mov edx, eax
cmp edx, 2
jl 0x101650ae
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x101650ae
mov dword [esi + 0x18], edx
mov eax, dword [ecx]
push edx
push esi
mov eax, dword [eax + 0x37c]
mov dword [ebp - 0x44], eax
call dword [ebp - 0x44]
movss xmm4, dword [0x102713f4]
xorps xmm2, xmm2
movss xmm5, dword [0x10271024]
fstp dword [esi + 0x28]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x20], 0
mov byte [edi + 0x138], 1
jmp 0x101650ba
mov esi, dword [ebp - 0x18]
movss xmm3, dword [esi + 0x20]
comiss xmm3, xmm2
jbe 0x1016518d
movss xmm1, dword [esi + 0x28]
movaps xmm0, xmm1
call fcn.1000d440
comiss xmm2, xmm0
jae 0x10165119
mulss xmm1, dword [edi + 0x74]
addss xmm1, dword [esi + 0x2c]
comiss xmm1, xmm5
jb 0x101650f1
movss xmm1, dword [0x1027101c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm2, xmm1
jbe 0x1016510b
addss xmm1, xmm5
jmp 0x10165114
comiss xmm1, xmm5
jbe 0x10165114
subss xmm1, xmm5
movss dword [esi + 0x2c], xmm1
movss xmm1, dword [esi + 0x24]
movaps xmm0, xmm1
call fcn.1000d440
comiss xmm2, xmm0
jae 0x1016518d
mulss xmm1, dword [edi + 0x74]
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x44], 0
addss xmm1, xmm3
comiss xmm1, xmm2
movss dword [ebp - 0x40], xmm1
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm5, xmm1
cmovae eax, ecx
lea ecx, [ebp - 0x44]
movss xmm0, dword [eax]
lea eax, [ebp - 0x40]
comiss xmm0, xmm2
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x44], 0
movss dword [ebp - 0x40], xmm0
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm5, xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [esi + 0x20], eax
movss xmm0, dword [edi + 0xec]
comiss xmm0, xmm2
movss xmm3, dword [0x10271280]
jbe 0x10165251
cmp byte [edi + 0x108], 0
je 0x10165251
movss xmm0, dword [edi + 0xcc]
xorps xmm0, xmmword [0x10271af0]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [edi + 0xc8]
xorps xmm0, xmmword [0x10271af0]
fld dword [ebp - 0x44]
movss dword [ebp - 0x44], xmm0
fld dword [ebp - 0x44]
fpatan
movss xmm1, dword [0x102712cc]
fstp dword [ebp - 0x44]
movss xmm0, dword [ebp - 0x44]
mulss xmm0, xmm3
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10271048]
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x1016520f
addss xmm0, xmm1
subss xmm0, dword [edi + 0x80]
comiss xmm4, xmm0
jbe 0x10165222
addss xmm0, xmm1
jmp 0x1016522b
comiss xmm0, xmm3
jbe 0x1016522b
subss xmm0, xmm1
comiss xmm4, xmm0
jbe 0x10165239
addss xmm0, xmm1
comiss xmm4, xmm0
ja 0x10165230
comiss xmm0, xmm3
jbe 0x10165249
nop
subss xmm0, xmm1
comiss xmm0, xmm3
ja 0x10165240
movss dword [edi + 0x8c], xmm0
movss xmm0, dword [edi + 0x8c]
lea eax, [edi + 0x8c]
subss xmm0, dword [edi + 0x88]
movss xmm1, dword [0x102712cc]
lea esi, [edi + 0x88]
comiss xmm4, xmm0
movss dword [ebp - 0x18], xmm0
jbe 0x10165285
addss xmm0, xmm1
jmp 0x1016529a
comiss xmm0, xmm3
jbe 0x1016529f
subss xmm0, xmm1
lea eax, [edi + 0x8c]
lea esi, [edi + 0x88]
movss dword [ebp - 0x18], xmm0
comiss xmm4, xmm0
jbe 0x101652be
addss xmm0, xmm1
comiss xmm4, xmm0
ja 0x101652a4
movss dword [ebp - 0x18], xmm0
lea eax, [edi + 0x8c]
lea esi, [edi + 0x88]
comiss xmm0, xmm3
jbe 0x101652dd
subss xmm0, xmm1
comiss xmm0, xmm3
ja 0x101652c3
movss dword [ebp - 0x18], xmm0
lea eax, [edi + 0x8c]
lea esi, [edi + 0x88]
cmp byte [ebp - 0x11], 0
mov ecx, dword [ebp - 0x1c]
movss dword [edi + 0x90], xmm0
mov ecx, dword [ecx + 0x2990]
je 0x1016550f
comiss xmm2, dword [edi + 0x9c]
jb 0x1016550f
movss xmm2, dword [edi + 0x8c]
movss dword [edi + 0x88], xmm2
mov esi, dword [ecx + 0x168]
cmp esi, 0xffffffff
je 0x10165618
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + 4]
test eax, eax
je 0x10165350
mov eax, dword [0x10335014]
push esi
call eax
movss xmm2, dword [edi + 0x88]
movss xmm3, dword [0x10271280]
movss xmm4, dword [0x102713f4]
jmp 0x10165368
mov ecx, dword [ecx]
cmp esi, dword [ecx + 0xbc]
jle 0x1016535e
xor eax, eax
jmp 0x10165368
mov eax, dword [ecx + 0xc0]
add eax, ecx
add eax, esi
cmp dword [eax + 0xc4], 0
jle 0x10165618
movss xmm1, dword [0x102712cc]
movaps xmm0, xmm2
subss xmm0, xmm3
comiss xmm4, xmm0
jbe 0x1016538f
addss xmm0, xmm1
jmp 0x10165398
comiss xmm0, xmm3
jbe 0x10165398
subss xmm0, xmm1
call fcn.1000d440
movss xmm5, dword [0x1027114c]
comiss xmm5, xmm0
jb 0x101653b1
push 1
jmp 0x101654f5
movaps xmm0, xmm2
subss xmm0, dword [0x10271258]
comiss xmm4, xmm0
jbe 0x101653c7
addss xmm0, xmm1
jmp 0x101653d0
comiss xmm0, xmm3
jbe 0x101653d0
subss xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jb 0x101653e1
push 2
jmp 0x101654f5
movaps xmm0, xmm2
subss xmm0, dword [0x10271214]
comiss xmm4, xmm0
jbe 0x101653f7
addss xmm0, xmm1
jmp 0x10165400
comiss xmm0, xmm3
jbe 0x10165400
subss xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jb 0x10165411
push 3
jmp 0x101654f5
movaps xmm0, xmm2
subss xmm0, dword [0x102711a0]
comiss xmm4, xmm0
jbe 0x10165427
addss xmm0, xmm1
jmp 0x10165430
comiss xmm0, xmm3
jbe 0x10165430
subss xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jb 0x10165441
push 4
jmp 0x101654f5
comiss xmm4, xmm2
movaps xmm0, xmm2
jbe 0x1016544f
addss xmm0, xmm1
jmp 0x1016545b
comiss xmm2, xmm3
jbe 0x1016545b
movaps xmm0, xmm2
subss xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jb 0x1016546c
push 5
jmp 0x101654f5
movaps xmm0, xmm2
subss xmm0, dword [0x102713d4]
comiss xmm4, xmm0
jbe 0x10165482
addss xmm0, xmm1
jmp 0x1016548b
comiss xmm0, xmm3
jbe 0x1016548b
subss xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jb 0x10165499
push 6
jmp 0x101654f5
movaps xmm0, xmm2
subss xmm0, dword [0x102713e8]
comiss xmm4, xmm0
jbe 0x101654af
addss xmm0, xmm1
jmp 0x101654b8
comiss xmm0, xmm3
jbe 0x101654b8
subss xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jb 0x101654c6
push 7
jmp 0x101654f5
subss xmm2, dword [0x102713f0]
comiss xmm4, xmm2
jbe 0x101654d9
addss xmm2, xmm1
jmp 0x101654e2
comiss xmm2, xmm3
jbe 0x101654e2
subss xmm2, xmm1
movaps xmm0, xmm2
call fcn.1000d440
comiss xmm5, xmm0
jb 0x10165618
push 8
mov ecx, dword [ebp - 0x20]
mov edx, esi
call fcn.10163b50
add esp, 4
movss dword [edi + 0x98], xmm0
jmp 0x10165618
movss xmm0, dword [ecx + 0x1a8]
comiss xmm0, xmm5
jb 0x10165525
mov eax, dword [eax]
mov dword [esi], eax
jmp 0x10165618
movss xmm1, dword [edi + 0xfc]
lea eax, [edi + 0xfc]
movss xmm0, dword [edi + 0xf8]
lea edx, [ebp - 0x44]
comiss xmm1, xmm2
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0x3f800000
mov dword [ebp - 0x44], 0
cmovae edx, eax
lea eax, [edi + 0xf8]
comiss xmm0, xmm2
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm5, xmm0
cmovae eax, ecx
comiss xmm5, xmm1
movss xmm0, dword [eax]
lea eax, [ebp - 0x38]
cmovae eax, edx
movss xmm2, dword [eax]
subss xmm2, xmm0
mulss xmm2, dword [edi + 0xa4]
addss xmm2, xmm0
movss xmm0, dword [edi + 0x348]
ucomiss xmm0, dword [0x10270f50]
lahf
test ah, 0x44
jnp 0x101655b8
mov dword [edi + 0x34c], 0x401e5507
movss xmm1, dword [edi + 0x34c]
movaps xmm0, xmm2
call fcn.1002de70
movss xmm2, dword [0x102713f4]
movaps xmm1, xmm0
addss xmm1, dword [0x10270f24]
movss xmm0, dword [0x102712cc]
mulss xmm1, dword [ebp - 0x18]
addss xmm1, dword [esi]
comiss xmm2, xmm1
jbe 0x101655fa
addss xmm1, xmm0
comiss xmm2, xmm1
ja 0x101655f1
movss xmm2, dword [0x10271280]
comiss xmm1, xmm2
jbe 0x10165610
subss xmm1, xmm0
comiss xmm1, xmm2
ja 0x10165607
movss dword [edi + 0x88], xmm1
mov esi, dword [ebp - 0x1c]
lea ecx, [edi + 0x1e0]
movss xmm2, dword [edi + 0x88]
push esi
call fcn.101624c0
movss xmm2, dword [edi + 0x78]
subss xmm2, dword [edi + 0x80]
movss xmm0, dword [0x102713f4]
comiss xmm0, xmm2
jbe 0x10165653
addss xmm2, dword [0x102712cc]
jmp 0x10165664
comiss xmm2, dword [0x10271280]
jbe 0x10165664
subss xmm2, dword [0x102712cc]
xorps xmm0, xmm0
comiss xmm2, xmm0
jb 0x1016568b
movss xmm1, dword [edi + 0x338]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1016568b
divss xmm2, xmm1
mulss xmm2, dword [0x102711dc]
jmp 0x101656a8
movss xmm1, dword [edi + 0x334]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x101656a8
divss xmm2, xmm1
mulss xmm2, dword [0x102713e0]
push esi
lea ecx, [edi + 0x1f8]
call fcn.101624c0
movss xmm2, dword [edi + 0x7c]
movss xmm0, dword [0x102713f4]
comiss xmm0, xmm2
jbe 0x101656d0
addss xmm2, dword [0x102712cc]
jmp 0x101656e1
comiss xmm2, dword [0x10271280]
jbe 0x101656e1
subss xmm2, dword [0x102712cc]
comiss xmm2, dword [0x10270e70]
jbe 0x101656fc
divss xmm2, dword [edi + 0x340]
mulss xmm2, dword [0x10271214]
jmp 0x1016570c
divss xmm2, dword [edi + 0x33c]
mulss xmm2, dword [0x102713e8]
push esi
lea ecx, [edi + 0x204]
call fcn.101624c0
movss xmm2, dword [edi + 0xf8]
lea ecx, [edi + 0x1bc]
push esi
call fcn.101624c0
movss xmm0, dword [edi + 0x124]
lea ecx, [edi + 0x21c]
mulss xmm0, dword [edi + 0xa4]
push esi
movss xmm2, dword [0x10271024]
subss xmm2, xmm0
call fcn.101624c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4