Function at 0x10082b30
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1038eb0e
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x1049b0c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movss xmm1, dword [0x1046f3bc]
movss xmm0, dword [0x10520c2c]
mov eax, dword [ebp + 0xc]
mulss xmm0, xmm1
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x68], ecx
cvttss2si eax, xmm0
movss xmm0, dword [0x10520c28]
mulss xmm0, xmm1
mov dword [ebp - 0x8c], eax
cvttss2si eax, xmm0
movss xmm0, dword [0x10520c24]
mulss xmm0, xmm1
mov dword [ebp - 0x90], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [0x1054abac]
test al, 1
jne 0x10082d15
or eax, 1
mov dword [0x1054abac], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x44], eax
cmp eax, dword [0x1053ebbc]
je 0x10082c2a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
test ecx, ecx
je 0x10082c1c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10082bf3
xor edx, edx
test ecx, ecx
je 0x10082c1c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10082c00
cmp esi, 0x46ff3e75
je 0x10082c40
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x44], eax
cmp eax, dword [0x1053ebbc]
jne 0x10082be0
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov dword [0x1054abdc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082d1a
mov eax, dword [ebp - 0x48]
xor edi, edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x5c], edi
cmp dword [eax + 4], edi
jle 0x10082ce8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x58], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10082c94
cmp dword [ecx + 4], 0
jle 0x10082c94
push 0
mov edx, 0xe5cd906c
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10082c91
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x44], edi
mov eax, dword [ebp - 0x48]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10082ca0
xor edx, edx
test ecx, ecx
je 0x10082ccc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10082cb0
cmp esi, 0xe5cd906c
je 0x10082cfb
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
inc edx
mov edi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x10082c60
mov ecx, dword [ebp - 0x68]
mov eax, edi
mov dword [0x1054abdc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082d1a
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x68]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x44]
mov dword [0x1054abdc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082d1a
mov eax, dword [0x1054abdc]
add eax, ecx
mov dword [ebp - 0x64], eax
mov eax, dword [0x1054abe4]
test al, 1
jne 0x10082e85
or eax, 1
mov dword [0x1054abe4], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
je 0x10082d9a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x10082d8c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10082d63
xor edx, edx
test ecx, ecx
je 0x10082d8c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10082d70
cmp esi, 0x46ff3e75
je 0x10082db0
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
jne 0x10082d50
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov dword [0x1054abc8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082e8a
mov eax, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], edi
cmp dword [eax + 4], edi
jle 0x10082e58
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x58], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10082e04
cmp dword [ecx + 4], 0
jle 0x10082e04
push 0
mov edx, 0x4591beb3
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10082e01
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x44]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10082e10
xor edx, edx
test ecx, ecx
je 0x10082e3c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10082e20
cmp esi, 0x4591beb3
je 0x10082e6b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
inc edx
mov edi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x5c], ecx
cmp edx, dword [eax + 4]
jl 0x10082dd0
mov ecx, dword [ebp - 0x68]
mov eax, edi
mov dword [0x1054abc8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082e8a
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x68]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x1054abc8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082e8a
mov eax, dword [0x1054abc8]
add eax, ecx
mov dword [ebp - 0x78], eax
mov eax, dword [0x1054abd8]
test al, 1
jne 0x10082ff5
or eax, 1
mov dword [0x1054abd8], eax
mov dword [ebp - 4], 2
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
je 0x10082f0a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x10082efc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10082ed3
xor edx, edx
test ecx, ecx
je 0x10082efc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10082ee0
cmp esi, 0x46ff3e75
je 0x10082f20
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
jne 0x10082ec0
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov dword [0x1054abe8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082ffa
mov eax, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], edi
cmp dword [eax + 4], edi
jle 0x10082fc8
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x58], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10082f74
cmp dword [ecx + 4], 0
jle 0x10082f74
push 0
mov edx, 0xb69663a6
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10082f71
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x44]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10082f80
xor edx, edx
test ecx, ecx
je 0x10082fac
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10082f90
cmp esi, 0xb69663a6
je 0x10082fdb
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
inc edx
mov edi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x5c], ecx
cmp edx, dword [eax + 4]
jl 0x10082f40
mov ecx, dword [ebp - 0x68]
mov eax, edi
mov dword [0x1054abe8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082ffa
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x68]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x1054abe8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10082ffa
mov eax, dword [0x1054abe8]
add eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [0x1054ac04]
test al, 1
jne 0x10083165
or eax, 1
mov dword [0x1054ac04], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
je 0x1008307a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x1008306c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10083043
xor edx, edx
test ecx, ecx
je 0x1008306c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10083050
cmp esi, 0x46ff3e75
je 0x10083090
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
jne 0x10083030
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov dword [0x1054abf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008316a
mov eax, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], edi
cmp dword [eax + 4], edi
jle 0x10083138
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x58], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100830e4
cmp dword [ecx + 4], 0
jle 0x100830e4
push 0
mov edx, 0xf329170d
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100830e1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x44]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100830f0
xor edx, edx
test ecx, ecx
je 0x1008311c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10083100
cmp esi, 0xf329170d
je 0x1008314b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
inc edx
mov edi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x5c], ecx
cmp edx, dword [eax + 4]
jl 0x100830b0
mov ecx, dword [ebp - 0x68]
mov eax, edi
mov dword [0x1054abf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008316a
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x68]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x1054abf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008316a
mov eax, dword [0x1054abf8]
lea esi, [ecx + eax]
mov eax, dword [0x1054abb4]
mov dword [ebp - 0x84], esi
test al, 1
jne 0x100832bd
or eax, 1
mov dword [0x1054abb4], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
je 0x100831ea
nop
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
test ecx, ecx
je 0x100831dc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100831b3
xor edx, edx
test ecx, ecx
je 0x100831dc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100831c0
cmp esi, 0x46ff3e75
je 0x10083206
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x4c], eax
cmp eax, dword [0x1053ebbc]
jne 0x100831a0
xor eax, eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x84]
mov dword [0x1054ab88], eax
jmp 0x100832c2
mov eax, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], edi
cmp dword [eax + 4], edi
jle 0x100832a8
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x58], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10083254
cmp dword [ecx + 4], 0
jle 0x10083254
push 0
mov edx, 0x820942a0
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10083251
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x44]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10083260
xor edx, edx
test ecx, ecx
je 0x1008328c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10083270
cmp edi, 0x820942a0
je 0x100832af
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
inc edx
mov edi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x5c], ecx
cmp edx, dword [eax + 4]
jl 0x10083220
mov eax, edi
jmp 0x100831ec
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x48]
jmp 0x100831ec
mov eax, dword [0x1054ab88]
mov edx, dword [ecx + eax]
xorps xmm5, xmm5
movss xmm0, dword [0x1046f4c0]
xor eax, eax
mov dword [ebp - 0x84], edx
xorps xmm6, xmm6
movss dword [ebp - 0x44], xmm0
xorps xmm7, xmm7
test edx, edx
js 0x1008335a
mov ecx, dword [ebp - 0x74]
sub esi, ecx
mov edi, dword [ebp - 0x78]
sub edi, ecx
mov edx, dword [ebp - 0x64]
cmp byte [edx + eax], 0
mov edx, dword [ebp - 0x84]
je 0x1008334f
xorps xmm3, xmm3
xorps xmm2, xmm2
cvtsi2ss xmm3, dword [ecx]
cvtsi2ss xmm2, dword [edi + ecx]
movaps xmm1, xmm3
xorps xmm4, xmm4
movaps xmm0, xmm2
mulss xmm1, xmm3
mulss xmm0, xmm2
cvtsi2ss xmm4, dword [esi + ecx]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
addss xmm0, dword [0x1046f228]
comiss xmm0, dword [ebp - 0x44]
jbe 0x10083343
movss dword [ebp - 0x44], xmm0
addss xmm5, xmm2
addss xmm6, xmm3
addss xmm7, xmm4
inc eax
add ecx, 4
cmp eax, edx
jle 0x100832f1
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
cmp edx, 1
jg 0x10083377
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x54], xmm0
mov dword [ebp - 0x4c], eax
jmp 0x100833d3
movss xmm1, dword [0x1046f104]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm5, xmm1
mulss xmm6, xmm1
mulss xmm7, xmm1
movss dword [ebp - 0x64], xmm5
movss dword [ebp - 0x78], xmm6
movss dword [ebp - 0x74], xmm7
call eax
movss xmm0, dword [ebp - 0x64]
movss xmm1, dword [ebp - 0x78]
movss xmm2, dword [ebp - 0x74]
addss xmm0, dword [eax]
addss xmm1, dword [eax + 4]
addss xmm2, dword [eax + 8]
movss dword [ebp - 0x54], xmm0
movss dword [ebp - 0x50], xmm1
movss dword [ebp - 0x4c], xmm2
mov edi, dword [ebp - 0x6c]
movss xmm0, dword [0x1046f32c]
movss xmm1, dword [ebp - 0x44]
comiss xmm1, xmm0
lea esi, [edi + 0xc]
ja 0x100833f1
movss xmm2, xmm0
jmp 0x100833f5
movss xmm2, xmm1
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x9c]
mulss xmm2, dword [esi]
call fcn.10082400
mov dword [ebp - 4], 5
mov eax, dword [0x1055d084]
movss xmm0, dword [edi + 8]
add eax, 0x8227453d
mulss xmm0, dword [0x1046f020]
xor eax, 0xb5eaaa9f
movss xmm2, dword [eax + 4]
xor eax, eax
comiss xmm0, dword [0x1046f00c]
mulss xmm2, dword [0x1046f11c]
movss xmm0, dword [esi]
seta al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10049560
xorps xmm1, xmm1
movss dword [esi], xmm0
comiss xmm1, xmm0
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], 0x3f800000
push 0
seta al
test al, al
cmove edx, esi
comiss xmm0, dword [0x1046f104]
seta al
test al, al
lea eax, [ebp - 0x70]
push eax
cmove ecx, edx
lea eax, [ebp - 0x54]
push eax
movss xmm7, dword [ecx]
movss dword [esi], xmm7
mov ecx, dword [0x1055d084]
add ecx, 0x8227453d
mov dword [ebp - 0x70], 0
xor ecx, 0xb5eaaa9f
mov dword [ebp - 0x6c], 0
call fcn.102708d0
test al, al
je 0x1008398e
movss xmm0, dword [0x1045fe5c]
mulss xmm0, dword [0x1046f094]
mov esi, dword [ebp + 8]
movss xmm1, dword [ebp - 0x70]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x1045fe60]
mulss xmm7, dword [esi]
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x44], xmm7
movss dword [ebp - 0x58], xmm0
call fcn.1034ff15
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1046ef90]
addss xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1046f170]
call fcn.103890f5
mulsd xmm0, qword [0x1046f188]
movss xmm7, dword [0x1046f3bc]
movss xmm1, dword [esi]
comiss xmm1, dword [0x1046f0c8]
movss xmm5, dword [0x1046efa4]
movsd qword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x44]
mulss xmm0, xmm7
movss dword [ebp - 0x44], xmm0
jbe 0x100836ce
mov eax, dword [0x1055d084]
add eax, 0x8227453d
xor eax, 0xb5eaaa9f
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x74], eax
lea edi, [eax + 0x24]
mov eax, dword [edi]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x4c], eax
or eax, 3
mov byte [ebp - 4], 6
cvttss2si edx, xmm0
mov dword [edi], eax
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x78], 0xff
mov dword [ebp - 0x6c], 0
xorps xmm0, xmm0
mov eax, edx
mov dword [ebp - 0x64], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x78]
cmove ecx, esi
cmp edx, 0xff
mov edx, dword [ebp - 0x7c]
cmovle eax, ecx
movzx edx, dl
mov eax, dword [eax]
movzx esi, al
mov eax, dword [ebp - 0x8c]
movzx ecx, al
mov eax, dword [ebp - 0x90]
movzx eax, al
movd xmm4, edx
cvtdq2ps xmm4, xmm4
movd xmm2, eax
movd xmm1, ecx
movd xmm3, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm3, xmm3
mulss xmm4, xmm5
mulss xmm2, xmm5
comiss xmm0, xmm4
mulss xmm1, xmm5
mulss xmm3, xmm5
movss xmm5, dword [0x1046f104]
jbe 0x10083625
xorps xmm4, xmm4
jmp 0x10083629
minss xmm4, xmm5
movss xmm6, dword [0x1046f094]
mulss xmm4, xmm7
addss xmm4, xmm6
cvttss2si ecx, xmm4
shl ecx, 0x10
comiss xmm0, xmm2
jbe 0x1008364a
xorps xmm2, xmm2
jmp 0x1008364e
minss xmm2, xmm5
mulss xmm2, xmm7
addss xmm2, xmm6
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm0, xmm1
jbe 0x10083669
xorps xmm1, xmm1
jmp 0x1008366d
minss xmm1, xmm5
mulss xmm1, xmm7
addss xmm1, xmm6
cvttss2si eax, xmm1
or ecx, eax
comiss xmm0, xmm3
jbe 0x10083685
xorps xmm3, xmm3
jmp 0x10083689
minss xmm3, xmm5
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x9c]
sub edx, eax
mulss xmm3, xmm7
push ecx
mov dword [esp], 0x40000000
push 0
addss xmm3, xmm6
sar edx, 3
cvttss2si esi, xmm3
shl esi, 0x18
or esi, ecx
mov ecx, dword [ebp - 0x74]
push esi
push edx
push eax
call fcn.100eada0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x84]
mov dword [edi], eax
jmp 0x100836d3
movss dword [ebp - 0x44], xmm0
mov esi, dword [0x1055d084]
lea eax, [ebp - 0x40]
add esi, 0x8227453d
mov ecx, 0x105274d0
xor esi, 0xb5eaaa9f
push eax
mov dword [ebp - 0x6c], esi
call fcn.100627f0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0xf
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
cmova edx, dword [ebp - 0x40]
mov ecx, edx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10083720
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.10037550
movss xmm0, dword [ebp - 0x58]
cvttss2si eax, dword [ebp - 0x44]
mov byte [ebp - 4], 8
mov edi, dword [0x1055d084]
mov esi, dword [esi + 0xc]
add edi, 0x8227453d
xor edi, 0xb5eaaa9f
cmp dword [ebp - 0x14], 0xf
subss xmm0, dword [0x1046f280]
mov ecx, dword [edi + 0xb8]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 0x38]
cvtps2pd xmm0, xmm0
mov eax, dword [eax + 8]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7c]
push eax
subsd xmm0, qword [ebp - 0x60]
mov dword [ebp - 0x5c], ecx
lea ecx, [esi + 0x4c]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x8c], xmm0
movss xmm0, dword [edi + 0xbc]
movss dword [ebp - 0x44], xmm0
call fcn.100e1f30
mov ecx, esi
call fcn.100ea8c0
cmp dword [ebp - 0x18], 0
je 0x10083819
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
movss xmm3, dword [0x1046f470]
cmova eax, dword [ebp - 0x28]
movss xmm2, dword [edi + 0xbc]
push 0
push 0
push eax
push ecx
mov ecx, dword [edi + 0xb8]
lea eax, [ebp - 0x80]
mov dword [esp], 0xbf800000
push eax
call fcn.100f07f0
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [0x1046f100]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x7c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jmp 0x1008381c
xorps xmm1, xmm1
mov eax, dword [ebp - 0x90]
movss xmm2, dword [0x1046f094]
movzx esi, al
movss xmm3, dword [ebp - 0x48]
movss xmm4, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x6c]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
mulss xmm0, dword [0x1046f058]
subss xmm3, xmm1
movss dword [ebp - 0x84], xmm4
cvttss2si eax, xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x88], xmm3
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1046efa4]
comiss xmm0, xmm1
movss xmm0, dword [0x1046f104]
jbe 0x1008388f
xorps xmm1, xmm1
jmp 0x10083893
minss xmm1, xmm0
mulss xmm1, dword [0x1046f3bc]
addss xmm3, xmm0
push 0
push ecx
mov ecx, dword [edi + 0xc]
addss xmm4, xmm0
addss xmm1, xmm2
mov dword [esp], 0
movss xmm2, dword [ebp - 0x44]
push 0
push dword [ebp - 0x4c]
movss dword [ebp - 0x80], xmm3
cvttss2si eax, xmm1
movss dword [ebp - 0x7c], xmm4
shl eax, 0x18
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x5c]
call fcn.100ed390
movd xmm2, esi
xorps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x1046efa4]
comiss xmm0, xmm2
ja 0x100838fe
minss xmm2, dword [0x1046f104]
movaps xmm0, xmm2
mulss xmm0, dword [0x1046f3bc]
push 0
movss xmm2, dword [ebp - 0x44]
push ecx
addss xmm0, dword [0x1046f094]
mov ecx, dword [edi + 0xc]
mov dword [esp], 0
push 0
push dword [ebp - 0x4c]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xffffff
push eax
lea eax, [ebp - 0x88]
push eax
push dword [ebp - 0x5c]
call fcn.100ed390
mov ecx, dword [edi + 0xc]
dec dword [ecx + 0x4c]
call fcn.100ea8c0
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10083964
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp eax, 0xf
jbe 0x1008398e
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.10034640
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x100839aa
mov eax, dword [ebp - 0x94]
sub eax, ecx
sar eax, 3
push eax
push ecx
call fcn.10034540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.102fe398
mov esp, ebp
pop ebp
ret 0xc