Function at 0x10161c90
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 0x101e399b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x40
push esi
push edi
mov eax, dword [0x1021b380]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebx + 8]
mov eax, dword [0x10700200]
mov esi, dword [edi + 0x60]
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x10161ce0
add eax, 2
mov eax, dword [eax]
mov eax, dword [eax + esi + 4]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10163714
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
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 [0x102b6ffc]
test al, 1
jne 0x10161e78
or eax, 1
mov dword [0x102b6ffc], eax
mov dword [ebp - 4], 0
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x10161d90
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x10161d82
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x34], eax
xor ecx, ecx
inc ecx
cmp byte [eax + ecx], 0
jne 0x10161d56
xor edx, edx
test ecx, ecx
je 0x10161d7f
movsx eax, byte [eax + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x34]
cmp edx, ecx
jb 0x10161d63
cmp esi, 0x4e9f1122
je 0x10161da6
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10161d40
mov esi, dword [ebp - 0x1c]
xor eax, eax
mov dword [0x102b5760], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10161e7d
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x28], edx
cmp dword [eax + 4], edx
jle 0x10161e4b
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 0x10161def
cmp dword [ecx + 4], 0
jle 0x10161def
push 0
mov edx, 0x940131c5
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10161def
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 0x10161e00
xor edx, edx
test ecx, ecx
je 0x10161e2c
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 0x10161e10
cmp esi, 0x940131c5
je 0x10161e5e
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 0x10161dc0
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov eax, edx
mov dword [0x102b5760], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10161e7d
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x1c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102b5760], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10161e7d
mov eax, dword [0x102b5760]
push dword [eax + esi]
mov ecx, dword [ebp - 0x38]
call dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x10163714
mov ecx, dword [0x107001f0]
add ecx, 0xd5bd03c9
xor ecx, 0xde9a561b
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 [0x102b57a8]
test al, 1
jne 0x10162018
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 1
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x10161f30
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x10161f22
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x10161ef6
xor edx, edx
test ecx, ecx
je 0x10161f1f
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x3c]
cmp edx, ecx
jb 0x10161f03
cmp esi, 0xcd2ed041
je 0x10161f46
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10161ee0
mov esi, dword [ebp - 0x1c]
xor eax, eax
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016201d
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x2c], edx
cmp dword [eax + 4], edx
jle 0x10161feb
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 0x10161f8f
cmp dword [ecx + 4], 0
jle 0x10161f8f
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10161f8f
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 0x10161fa0
xor edx, edx
test ecx, ecx
je 0x10161fcc
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 0x10161fb0
cmp esi, 0xa2ccb41a
je 0x10161ffe
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 0x10161f60
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov eax, edx
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016201d
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x1c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016201d
mov eax, dword [0x102b7084]
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 0x101621b5
mov ecx, dword [0x102b57c8]
test cl, 1
jne 0x10162190
or ecx, 1
mov dword [0x102b57c8], ecx
mov dword [ebp - 4], 2
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x101620bd
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x101620af
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 0x10162080
xor edx, edx
test ecx, ecx
je 0x101620ac
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 0x10162090
cmp esi, 0x72e242a1
je 0x101620d6
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10162067
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x3c]
mov dword [0x102b7068], eax
jmp 0x10162195
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x30], edx
cmp dword [eax + 4], edx
jle 0x1016217b
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 0x1016211f
cmp dword [ecx + 4], 0
jle 0x1016211f
push 0
mov edx, 0xf3e9a9ed
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1016211f
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 0x10162130
xor edx, edx
test ecx, ecx
je 0x1016215c
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 0x10162140
cmp esi, 0xf3e9a9ed
je 0x10162182
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 0x101620f0
mov edx, dword [ebp - 0x18]
mov eax, edx
jmp 0x101620bf
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x101620bf
mov eax, dword [0x102b7068]
cmp byte [eax + esi], 0
lea eax, [edx + 0x138]
jne 0x101621a7
lea eax, [edx + 0x134]
movss xmm0, dword [eax]
maxss xmm0, dword [0x102076fc]
jmp 0x101621bd
movss xmm0, dword [0x10207ae8]
mov eax, dword [0x102b576c]
movss dword [ebp - 0x34], xmm0
test al, 1
jne 0x1016230e
or eax, 1
mov dword [0x102b576c], eax
mov dword [ebp - 4], 3
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x10162240
nop
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10162232
mov eax, dword [ecx + 0xc]
mov esi, 0x811c9dc5
mov dword [ebp - 0x44], eax
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x10162206
xor edx, edx
test ecx, ecx
je 0x1016222f
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x44]
cmp edx, ecx
jb 0x10162213
cmp esi, 0x4e9f1122
je 0x10162257
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x101621f0
xor edx, edx
mov esi, dword [ebp - 0x1c]
mov dword [0x102b701c], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x10162314
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x30], edx
cmp dword [eax + 4], edx
jle 0x10162242
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 0x1016229f
cmp dword [ecx + 4], 0
jle 0x1016229f
push 0
mov edx, 0x53630d14
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1016229f
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 0x101622b0
xor edx, edx
test ecx, ecx
je 0x101622dc
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 0x101622c0
cmp esi, 0x53630d14
je 0x10162300
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 0x10162270
mov edx, dword [ebp - 0x18]
jmp 0x10162242
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x18]
jmp 0x10162242
mov edx, dword [0x102b701c]
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 [0x10207b44]
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 [0x10208310]
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.1000d600
movss xmm5, dword [0x1020785c]
movaps xmm1, xmm0
comiss xmm1, xmm7
jbe 0x10162434
addss xmm1, dword [0x102076cc]
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 0x1016249c
movaps xmm0, xmm7
xorps xmm0, xmmword [0x10208310]
comiss xmm0, xmm1
jbe 0x10162499
addss xmm1, dword [0x102076cc]
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 0x1016249c
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.1000d600
addss xmm0, dword [0x102076cc]
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.1000d600
movaps xmm4, xmm0
xorps xmm1, xmm1
minss xmm4, dword [0x10207ae8]
comiss xmm4, xmm1
movss dword [edi + 0xec], xmm4
jbe 0x10162574
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 [0x102078a0]
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 [0x102078e8]
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 [0x102077ec]
jb 0x101625f7
movss dword [edi + 0x2a4], xmm4
jmp 0x10162649
comiss xmm0, xmm2
jbe 0x10162649
movss xmm5, dword [0x10207a40]
movss xmm2, dword [edi + 0x2a4]
movaps xmm3, xmm5
mulss xmm6, dword [0x10207a14]
subss xmm3, xmm2
comiss xmm3, xmm6
jbe 0x10162626
addss xmm2, xmm6
jmp 0x1016263e
movaps xmm0, xmm6
xorps xmm0, xmmword [0x10208310]
comiss xmm0, xmm3
jbe 0x1016263b
subss xmm2, xmm6
jmp 0x1016263e
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 0x1016267f
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 0x101626a3
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 0x1016272f
test al, al
je 0x1016272f
cmp byte [edi + 0x108], 0
je 0x1016272f
cmp byte [edi + 0x128], 0
jne 0x1016272f
cmp byte [edi + 0x109], 0
jne 0x1016272f
movss xmm0, dword [0x102079f0]
comiss xmm0, dword [edi + 0x2ac]
jbe 0x1016272f
push 5
mov ecx, edi
call fcn.101608f0
mov ecx, eax
cmp ecx, 2
jl 0x10162728
mov edx, dword [esi + 0x30]
test edx, edx
je 0x10162728
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 [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
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 0x10162a29
push dword [ebp - 0x44]
mov ecx, dword [ebp - 0x1c]
mov edx, eax
mov esi, dword [0x102cc004]
call esi
cmp eax, 0x3d4
je 0x10162795
cmp eax, 0x3d3
jne 0x10162a29
cmp byte [edi + 0x138], 0
je 0x1016298e
movss xmm0, dword [0x102077a8]
comiss xmm0, dword [edi + 0xfc]
jb 0x1016298e
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.1000d5e0
movss xmm2, dword [0x1020785c]
xorps xmm6, xmm6
comiss xmm6, xmm0
jae 0x10162820
mulss xmm1, dword [edi + 0x74]
addss xmm1, dword [esi + 0x2c]
comiss xmm1, xmm2
jb 0x101627f8
movss xmm1, dword [0x10207854]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm6, xmm1
jbe 0x10162812
addss xmm1, xmm2
jmp 0x1016281b
comiss xmm1, xmm2
jbe 0x1016281b
subss xmm1, xmm2
movss dword [esi + 0x2c], xmm1
mov eax, dword [0x10700200]
mov ecx, dword [edi + 0x60]
test eax, eax
je 0x1016282f
add eax, 2
mov eax, dword [eax]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
jne 0x10162841
xorps xmm0, xmm0
jmp 0x1016292f
mov edx, dword [esi + 0x18]
lea eax, [ecx + 4]
test eax, eax
je 0x1016285d
mov eax, dword [0x102cbe90]
push edx
call eax
movss xmm5, dword [ebp - 0x44]
xorps xmm6, xmm6
jmp 0x10162875
mov ecx, dword [ecx]
cmp edx, dword [ecx + 0xbc]
jle 0x1016286b
xor eax, eax
jmp 0x10162875
mov eax, dword [ecx + 0xc0]
add eax, ecx
add eax, edx
movss xmm0, dword [esi + 0x2c]
comiss xmm0, dword [0x10207854]
movss xmm2, dword [0x1020785c]
jb 0x1016288e
movaps xmm0, xmm2
movss xmm1, dword [eax + 0x68]
xorps xmm3, xmm3
comiss xmm1, xmm6
movss xmm4, dword [eax + 0x6c]
jbe 0x101628ab
comiss xmm1, xmm0
jbe 0x101628ab
divss xmm0, xmm1
jmp 0x101628c4
comiss xmm2, xmm4
xorps xmm1, xmm1
jbe 0x1016290e
comiss xmm0, xmm4
jbe 0x1016290e
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 [0x102078ec]
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 [0x10207704]
comiss xmm0, xmm1
jbe 0x10162920
xorps xmm0, xmm0
jmp 0x1016292f
comiss xmm2, xmm1
jb 0x1016292b
movss xmm0, xmm3
jmp 0x1016292f
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 0x10162a2c
mov esi, dword [ebp - 0x18]
movss xmm1, dword [edi + 0x74]
mulss xmm1, dword [0x10207920]
mov byte [edi + 0x138], 0
movss xmm3, dword [esi + 0x20]
movss xmm4, dword [0x10208310]
movaps xmm2, xmm3
xorps xmm2, xmm4
comiss xmm2, xmm1
jbe 0x101629c3
addss xmm1, xmm3
jmp 0x101629dd
movaps xmm0, xmm1
xorps xmm0, xmm4
comiss xmm0, xmm2
jbe 0x101629da
movaps xmm0, xmm3
subss xmm0, xmm1
movaps xmm1, xmm0
jmp 0x101629dd
xorps xmm1, xmm1
movss xmm0, dword [0x1020785c]
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 0x10162a2c
xorps xmm6, xmm6
movss xmm0, dword [edi + 0x80]
lea esi, [edi + 0x80]
comiss xmm0, dword [0x10207c24]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], 0x43b40000
lea eax, [ebp - 0x40]
mov dword [ebp - 0x44], 0xc3b40000
mov edx, esi
movss xmm2, dword [0x10207afc]
movss xmm7, dword [edi + 0x78]
movss xmm5, dword [0x10207c1c]
cmovae ecx, esi
movss xmm4, dword [0x10207ab0]
comiss xmm2, xmm0
movss dword [edi + 0x84], xmm0
cmovae eax, ecx
movss xmm3, dword [eax]
subss xmm7, xmm3
comiss xmm5, xmm7
jbe 0x10162a98
addss xmm7, xmm2
jmp 0x10162aa7
comiss xmm7, xmm4
jbe 0x10162aa7
subss xmm7, xmm2
lea edx, [edi + 0x80]
movss xmm1, dword [edi + 0xf8]
lea eax, [ebp - 0x40]
movss xmm5, dword [0x1020785c]
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 [0x102077b0]
cmovae ecx, eax
lea eax, [ebp - 0x3c]
comiss xmm5, xmm1
movss dword [ebp - 0x40], xmm1
movaps xmm1, xmm5
addss xmm0, dword [0x102077a0]
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 [0x10207c1c]
jbe 0x10162b86
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 [0x102077ec]
movss xmm2, dword [0x10207afc]
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 0x10162b8b
movss xmm0, dword [ebp - 0x34]
movaps xmm1, xmm0
mulss xmm0, dword [edi + 0x334]
mulss xmm1, dword [edi + 0x338]
comiss xmm7, xmm1
jbe 0x10162bb6
movaps xmm0, xmm1
call fcn.1000d5e0
movss xmm3, dword [edi + 0x78]
subss xmm3, xmm0
jmp 0x10162bd2
comiss xmm0, xmm7
jbe 0x10162bd2
call fcn.1000d5e0
movaps xmm3, xmm0
addss xmm3, dword [edi + 0x78]
movss dword [esi], xmm3
lea esi, [edi + 0x80]
comiss xmm5, xmm3
jbe 0x10162be6
addss xmm3, xmm2
comiss xmm5, xmm3
ja 0x10162bd7
lea esi, [edi + 0x80]
comiss xmm3, xmm4
jbe 0x10162bff
nop dword [eax + eax]
subss xmm3, xmm2
comiss xmm3, xmm4
ja 0x10162bf0
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 0x10162f82
movss xmm0, dword [edi + 0xec]
comiss xmm0, dword [0x10207764]
movss xmm4, dword [edi + 0x74]
movss xmm6, dword [esi]
jbe 0x10162d3d
movss xmm0, dword [edi + 0x78]
mulss xmm0, dword [0x10207ab4]
mulss xmm6, dword [0x10207ab4]
movss xmm3, dword [edi + 0x11c]
cvttss2si eax, xmm0
movaps xmm5, xmm3
mulss xmm5, dword [0x10207980]
movzx eax, ax
addss xmm5, dword [0x102079b8]
movd xmm2, eax
cvttss2si eax, xmm6
cvtdq2ps xmm2, xmm2
movzx eax, ax
movd xmm7, eax
mulss xmm2, dword [0x10207718]
cvtdq2ps xmm7, xmm7
mulss xmm5, xmm4
movaps xmm6, xmm2
mulss xmm7, dword [0x10207718]
movss dword [ebp - 0x44], xmm2
xorps xmm2, xmm2
comiss xmm2, xmm5
subss xmm6, xmm7
jbe 0x10162cc9
mulss xmm3, dword [0x10207980]
movss xmm5, dword [0x10207bf0]
subss xmm5, xmm3
mulss xmm5, xmm4
movss xmm4, dword [0x10207c1c]
comiss xmm4, xmm6
movss xmm3, dword [0x10207ab0]
movss xmm1, dword [0x10207afc]
jbe 0x10162cec
addss xmm6, xmm1
jmp 0x10162cf5
comiss xmm6, xmm3
jbe 0x10162cf5
subss xmm6, xmm1
comiss xmm6, xmm5
jbe 0x10162d0b
addss xmm7, xmm5
movss dword [edi + 0x80], xmm7
jmp 0x10162f9d
movaps xmm0, xmm5
xorps xmm0, xmmword [0x10208310]
comiss xmm0, xmm6
jbe 0x10162d2b
subss xmm7, xmm5
movss dword [edi + 0x80], xmm7
jmp 0x10162f9d
movss xmm7, dword [ebp - 0x44]
movss dword [edi + 0x80], xmm7
jmp 0x10162f9d
mulss xmm4, dword [0x10207a5c]
mov eax, dword [0x102b5748]
movss dword [ebp - 0x28], xmm4
test al, 1
jne 0x10162eb2
or eax, 1
mov dword [0x102b5748], eax
mov dword [ebp - 4], 4
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x10162dcd
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x10162dbf
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 0x10162d90
xor edx, edx
test ecx, ecx
je 0x10162dbc
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 0x10162da0
cmp esi, 0x72e242a1
je 0x10162de0
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10162d76
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7070], eax
jmp 0x10162eb7
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x34], edx
cmp dword [eax + 4], edx
jle 0x10162e8b
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 0x10162e2f
cmp dword [ecx + 4], 0
jle 0x10162e2f
push 0
mov edx, 0x9ef0d03e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10162e2f
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 0x10162e40
xor edx, edx
test ecx, ecx
je 0x10162e6c
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 0x10162e50
cmp esi, 0x9ef0d03e
je 0x10162e9b
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 0x10162e00
mov edx, dword [ebp - 0x24]
mov eax, edx
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7070], eax
jmp 0x10162eb7
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x24]
mov dword [0x102b7070], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10162eb7
mov eax, dword [0x102b7070]
mov ecx, dword [ebp - 0x1c]
xorps xmm2, xmm2
comiss xmm2, xmm4
movss xmm0, dword [eax + ecx]
mulss xmm0, dword [0x10207ab4]
mulss xmm6, dword [0x10207ab4]
cvttss2si eax, xmm0
movzx eax, ax
movd xmm7, eax
cvttss2si eax, xmm6
cvtdq2ps xmm7, xmm7
movzx eax, ax
movd xmm6, eax
mulss xmm7, dword [0x10207718]
cvtdq2ps xmm6, xmm6
movaps xmm5, xmm7
mulss xmm6, dword [0x10207718]
subss xmm5, xmm6
jbe 0x10162f16
xorps xmm4, xmmword [0x10208310]
movss dword [ebp - 0x28], xmm4
movss xmm4, dword [0x10207c1c]
comiss xmm4, xmm5
movss xmm3, dword [0x10207ab0]
movss xmm1, dword [0x10207afc]
jbe 0x10162f39
addss xmm5, xmm1
jmp 0x10162f42
comiss xmm5, xmm3
jbe 0x10162f42
subss xmm5, xmm1
movss xmm0, dword [ebp - 0x28]
comiss xmm5, xmm0
jbe 0x10162f5a
addss xmm6, xmm0
movss dword [edi + 0x80], xmm6
jmp 0x10162f9d
xorps xmm0, xmmword [0x10208310]
comiss xmm0, xmm5
jbe 0x10162f75
subss xmm6, dword [ebp - 0x28]
movss dword [edi + 0x80], xmm6
jmp 0x10162f9d
movaps xmm6, xmm7
movss dword [edi + 0x80], xmm6
jmp 0x10162f9d
movss xmm1, dword [0x10207afc]
xorps xmm2, xmm2
movss xmm3, dword [0x10207ab0]
movss xmm4, dword [0x10207c1c]
movss xmm5, dword [0x1020785c]
comiss xmm5, dword [edi + 0xec]
jb 0x10163077
cmp byte [edi + 0x108], 0
je 0x10163077
cmp byte [edi + 0x128], 0
jne 0x10163077
cmp byte [edi + 0x109], 0
jne 0x10163077
movss xmm6, dword [edi + 0x74]
comiss xmm6, xmm2
jbe 0x10163077
movss xmm0, dword [edi + 0x84]
subss xmm0, dword [edi + 0x80]
comiss xmm4, xmm0
jbe 0x10163002
addss xmm0, xmm1
jmp 0x1016300b
comiss xmm0, xmm3
jbe 0x1016300b
subss xmm0, xmm1
call fcn.1000d5e0
divss xmm0, xmm6
comiss xmm0, dword [0x10207a74]
jbe 0x10163077
push 4
mov ecx, edi
call fcn.101608f0
mov esi, dword [ebp - 0x18]
mov edx, eax
cmp edx, 2
jl 0x1016306e
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x1016306e
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 [0x10207c1c]
xorps xmm2, xmm2
movss xmm5, dword [0x1020785c]
fstp dword [esi + 0x28]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x20], 0
mov byte [edi + 0x138], 1
jmp 0x1016307a
mov esi, dword [ebp - 0x18]
movss xmm3, dword [esi + 0x20]
comiss xmm3, xmm2
jbe 0x1016314d
movss xmm1, dword [esi + 0x28]
movaps xmm0, xmm1
call fcn.1000d5e0
comiss xmm2, xmm0
jae 0x101630d9
mulss xmm1, dword [edi + 0x74]
addss xmm1, dword [esi + 0x2c]
comiss xmm1, xmm5
jb 0x101630b1
movss xmm1, dword [0x10207854]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm2, xmm1
jbe 0x101630cb
addss xmm1, xmm5
jmp 0x101630d4
comiss xmm1, xmm5
jbe 0x101630d4
subss xmm1, xmm5
movss dword [esi + 0x2c], xmm1
movss xmm1, dword [esi + 0x24]
movaps xmm0, xmm1
call fcn.1000d5e0
comiss xmm2, xmm0
jae 0x1016314d
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 [0x10207ab0]
jbe 0x10163211
cmp byte [edi + 0x108], 0
je 0x10163211
movss xmm0, dword [edi + 0xcc]
xorps xmm0, xmmword [0x10208310]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [edi + 0xc8]
xorps xmm0, xmmword [0x10208310]
fld dword [ebp - 0x44]
movss dword [ebp - 0x44], xmm0
fld dword [ebp - 0x44]
fpatan
movss xmm1, dword [0x10207afc]
fstp dword [ebp - 0x44]
movss xmm0, dword [ebp - 0x44]
mulss xmm0, xmm3
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10207880]
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x101631cf
addss xmm0, xmm1
subss xmm0, dword [edi + 0x80]
comiss xmm4, xmm0
jbe 0x101631e2
addss xmm0, xmm1
jmp 0x101631eb
comiss xmm0, xmm3
jbe 0x101631eb
subss xmm0, xmm1
comiss xmm4, xmm0
jbe 0x101631f9
addss xmm0, xmm1
comiss xmm4, xmm0
ja 0x101631f0
comiss xmm0, xmm3
jbe 0x10163209
nop
subss xmm0, xmm1
comiss xmm0, xmm3
ja 0x10163200
movss dword [edi + 0x8c], xmm0
movss xmm0, dword [edi + 0x8c]
lea eax, [edi + 0x8c]
subss xmm0, dword [edi + 0x88]
movss xmm1, dword [0x10207afc]
lea esi, [edi + 0x88]
comiss xmm4, xmm0
movss dword [ebp - 0x18], xmm0
jbe 0x10163245
addss xmm0, xmm1
jmp 0x1016325a
comiss xmm0, xmm3
jbe 0x1016325f
subss xmm0, xmm1
lea eax, [edi + 0x8c]
lea esi, [edi + 0x88]
movss dword [ebp - 0x18], xmm0
comiss xmm4, xmm0
jbe 0x1016327e
addss xmm0, xmm1
comiss xmm4, xmm0
ja 0x10163264
movss dword [ebp - 0x18], xmm0
lea eax, [edi + 0x8c]
lea esi, [edi + 0x88]
comiss xmm0, xmm3
jbe 0x1016329d
subss xmm0, xmm1
comiss xmm0, xmm3
ja 0x10163283
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 0x101634cf
comiss xmm2, dword [edi + 0x9c]
jb 0x101634cf
movss xmm2, dword [edi + 0x8c]
movss dword [edi + 0x88], xmm2
mov esi, dword [ecx + 0x168]
cmp esi, 0xffffffff
je 0x101635d8
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + 4]
test eax, eax
je 0x10163310
mov eax, dword [0x102cbe90]
push esi
call eax
movss xmm2, dword [edi + 0x88]
movss xmm3, dword [0x10207ab0]
movss xmm4, dword [0x10207c1c]
jmp 0x10163328
mov ecx, dword [ecx]
cmp esi, dword [ecx + 0xbc]
jle 0x1016331e
xor eax, eax
jmp 0x10163328
mov eax, dword [ecx + 0xc0]
add eax, ecx
add eax, esi
cmp dword [eax + 0xc4], 0
jle 0x101635d8
movss xmm1, dword [0x10207afc]
movaps xmm0, xmm2
subss xmm0, xmm3
comiss xmm4, xmm0
jbe 0x1016334f
addss xmm0, xmm1
jmp 0x10163358
comiss xmm0, xmm3
jbe 0x10163358
subss xmm0, xmm1
call fcn.1000d5e0
movss xmm5, dword [0x10207988]
comiss xmm5, xmm0
jb 0x10163371
push 1
jmp 0x101634b5
movaps xmm0, xmm2
subss xmm0, dword [0x10207a88]
comiss xmm4, xmm0
jbe 0x10163387
addss xmm0, xmm1
jmp 0x10163390
comiss xmm0, xmm3
jbe 0x10163390
subss xmm0, xmm1
call fcn.1000d5e0
comiss xmm5, xmm0
jb 0x101633a1
push 2
jmp 0x101634b5
movaps xmm0, xmm2
subss xmm0, dword [0x10207a4c]
comiss xmm4, xmm0
jbe 0x101633b7
addss xmm0, xmm1
jmp 0x101633c0
comiss xmm0, xmm3
jbe 0x101633c0
subss xmm0, xmm1
call fcn.1000d5e0
comiss xmm5, xmm0
jb 0x101633d1
push 3
jmp 0x101634b5
movaps xmm0, xmm2
subss xmm0, dword [0x102079dc]
comiss xmm4, xmm0
jbe 0x101633e7
addss xmm0, xmm1
jmp 0x101633f0
comiss xmm0, xmm3
jbe 0x101633f0
subss xmm0, xmm1
call fcn.1000d5e0
comiss xmm5, xmm0
jb 0x10163401
push 4
jmp 0x101634b5
comiss xmm4, xmm2
movaps xmm0, xmm2
jbe 0x1016340f
addss xmm0, xmm1
jmp 0x1016341b
comiss xmm2, xmm3
jbe 0x1016341b
movaps xmm0, xmm2
subss xmm0, xmm1
call fcn.1000d5e0
comiss xmm5, xmm0
jb 0x1016342c
push 5
jmp 0x101634b5
movaps xmm0, xmm2
subss xmm0, dword [0x10207bfc]
comiss xmm4, xmm0
jbe 0x10163442
addss xmm0, xmm1
jmp 0x1016344b
comiss xmm0, xmm3
jbe 0x1016344b
subss xmm0, xmm1
call fcn.1000d5e0
comiss xmm5, xmm0
jb 0x10163459
push 6
jmp 0x101634b5
movaps xmm0, xmm2
subss xmm0, dword [0x10207c10]
comiss xmm4, xmm0
jbe 0x1016346f
addss xmm0, xmm1
jmp 0x10163478
comiss xmm0, xmm3
jbe 0x10163478
subss xmm0, xmm1
call fcn.1000d5e0
comiss xmm5, xmm0
jb 0x10163486
push 7
jmp 0x101634b5
subss xmm2, dword [0x10207c18]
comiss xmm4, xmm2
jbe 0x10163499
addss xmm2, xmm1
jmp 0x101634a2
comiss xmm2, xmm3
jbe 0x101634a2
subss xmm2, xmm1
movaps xmm0, xmm2
call fcn.1000d5e0
comiss xmm5, xmm0
jb 0x101635d8
push 8
mov ecx, dword [ebp - 0x20]
mov edx, esi
call fcn.10161b10
add esp, 4
movss dword [edi + 0x98], xmm0
jmp 0x101635d8
movss xmm0, dword [ecx + 0x1a8]
comiss xmm0, xmm5
jb 0x101634e5
mov eax, dword [eax]
mov dword [esi], eax
jmp 0x101635d8
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 [0x10207790]
lahf
test ah, 0x44
jnp 0x10163578
mov dword [edi + 0x34c], 0x401e5507
movss xmm1, dword [edi + 0x34c]
movaps xmm0, xmm2
call fcn.1002d520
movss xmm2, dword [0x10207c1c]
movaps xmm1, xmm0
addss xmm1, dword [0x10207764]
movss xmm0, dword [0x10207afc]
mulss xmm1, dword [ebp - 0x18]
addss xmm1, dword [esi]
comiss xmm2, xmm1
jbe 0x101635ba
addss xmm1, xmm0
comiss xmm2, xmm1
ja 0x101635b1
movss xmm2, dword [0x10207ab0]
comiss xmm1, xmm2
jbe 0x101635d0
subss xmm1, xmm0
comiss xmm1, xmm2
ja 0x101635c7
movss dword [edi + 0x88], xmm1
mov esi, dword [ebp - 0x1c]
lea ecx, [edi + 0x1e0]
movss xmm2, dword [edi + 0x88]
push esi
call fcn.10160480
movss xmm2, dword [edi + 0x78]
subss xmm2, dword [edi + 0x80]
movss xmm0, dword [0x10207c1c]
comiss xmm0, xmm2
jbe 0x10163613
addss xmm2, dword [0x10207afc]
jmp 0x10163624
comiss xmm2, dword [0x10207ab0]
jbe 0x10163624
subss xmm2, dword [0x10207afc]
xorps xmm0, xmm0
comiss xmm2, xmm0
jb 0x1016364b
movss xmm1, dword [edi + 0x338]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1016364b
divss xmm2, xmm1
mulss xmm2, dword [0x10207a14]
jmp 0x10163668
movss xmm1, dword [edi + 0x334]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10163668
divss xmm2, xmm1
mulss xmm2, dword [0x10207c08]
push esi
lea ecx, [edi + 0x1f8]
call fcn.10160480
movss xmm2, dword [edi + 0x7c]
movss xmm0, dword [0x10207c1c]
comiss xmm0, xmm2
jbe 0x10163690
addss xmm2, dword [0x10207afc]
jmp 0x101636a1
comiss xmm2, dword [0x10207ab0]
jbe 0x101636a1
subss xmm2, dword [0x10207afc]
comiss xmm2, dword [0x102076b4]
jbe 0x101636bc
divss xmm2, dword [edi + 0x340]
mulss xmm2, dword [0x10207a4c]
jmp 0x101636cc
divss xmm2, dword [edi + 0x33c]
mulss xmm2, dword [0x10207c10]
push esi
lea ecx, [edi + 0x204]
call fcn.10160480
movss xmm2, dword [edi + 0xf8]
lea ecx, [edi + 0x1bc]
push esi
call fcn.10160480
movss xmm0, dword [edi + 0x124]
lea ecx, [edi + 0x21c]
mulss xmm0, dword [edi + 0xa4]
push esi
movss xmm2, dword [0x1020785c]
subss xmm2, xmm0
call fcn.10160480
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