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

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
sub esp, 0x10
mov eax, dword [0x1009c364]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100d6ca4]
add eax, 0xffffffca
push esi
mov esi, dword [0x1009c438]
xor eax, 0x18b2ca99
push edi
mov eax, dword [eax + esi]
cmp eax, 8
je 0x1006a587
cmp eax, 9
je 0x1006a587
test dword [0x1009c524], 0x20000
jne 0x1006a587
test byte [0x1009c524], 2
je 0x1006a587
test byte [0x1009c440], 1
jne 0x1006a587
mov eax, dword [0x100d6c68]
add eax, 0xffffffd9
xor eax, 0x18b2ca8a
movss xmm1, dword [eax + esi]
movss xmm0, dword [eax + esi + 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10010c80
movss xmm1, dword [0x10093738]
movaps xmm2, xmm0
movss xmm4, dword [0x10093718]
xorps xmm3, xmm3
comiss xmm2, xmm3
movss dword [0x100a9d00], xmm2
jbe 0x1006a24f
movss xmm0, dword [0x100936d4]
divss xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_asinf
mulss xmm0, dword [0x10093718]
movss dword [ebp - 8], xmm0
movss dword [0x100a9d04], xmm0
movss xmm0, dword [0x100936f4]
divss xmm0, dword [0x100a9d00]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_asinf
movss xmm4, dword [0x10093718]
movaps xmm2, xmm0
movss xmm1, dword [0x10093738]
xorps xmm3, xmm3
movss xmm0, dword [ebp - 8]
mulss xmm2, xmm4
jmp 0x1006a25d
movaps xmm0, xmm1
movaps xmm2, xmm1
movss dword [0x100a9d04], xmm0
mov eax, dword [0x100d6c6c]
minss xmm0, xmm1
add eax, 0xffffffd8
minss xmm2, xmm1
xor eax, 0x18b2ca8b
maxss xmm0, xmm3
maxss xmm2, xmm3
movss dword [0x100a9d04], xmm0
movss dword [0x100a9d08], xmm2
movss xmm0, dword [eax + esi]
movss dword [0x100a9d0c], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [0x100a9d10], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x100d6c70]
add eax, 0xffffffd7
movss dword [0x100a9d14], xmm0
xor eax, 0x18b2ca8c
movss xmm0, dword [eax + esi]
movss dword [0x100a9d18], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [0x100a9d1c], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x100d6c60]
add eax, 0xffffffdb
movss dword [0x100a9d20], xmm0
xor eax, 0x18b2ca88
movss xmm0, dword [eax + esi]
movss dword [0x100a9d24], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [0x100a9d28], xmm0
movss xmm0, dword [eax + esi + 8]
inc dword [0x100a9d34]
cmp byte [0x100a8188], 0
movss dword [0x100a9d2c], xmm0
movss xmm0, dword [0x100a9d30]
xorps xmm0, xmmword [0x10093910]
movss dword [0x100a9d30], xmm0
je 0x1006a587
movss xmm0, dword [0x1009c53c]
mov eax, dword [0x100dc1e0]
movss dword [0x100a9d38], xmm0
movss dword [0x100a9d3c], xmm0
test al, 1
jne 0x1006a3db
or eax, 1
mov dword [0x100dc1e0], eax
mov eax, dword [0x100d6aa0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 8], eax
test eax, eax
je 0x1006a3c6
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1006a390
xor edx, edx
test ecx, ecx
je 0x1006a3bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1006a3a0
cmp edi, 0xda6a172f
je 0x1006a3d0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
test eax, eax
jne 0x1006a381
xor esi, esi
mov dword [0x100dc1ec], esi
jmp 0x1006a3e1
mov esi, dword [ebp - 8]
mov dword [0x100dc1ec], esi
jmp 0x1006a3e1
mov esi, dword [0x100dc1ec]
mov edi, dword [0x1009c518]
mov eax, dword [edi + 0x30]
mov ecx, eax
shr ecx, 3
mov edx, eax
and ecx, 0xffffff01
shr edx, 0xa
mov dword [ebp - 8], ecx
and dl, 1
mov ecx, eax
shr eax, 4
shr ecx, 9
and cl, 1
test al, 1
je 0x1006a458
movss xmm1, dword [0x10093824]
mov dword [0x100dbda0], 0xc3340000
test cl, cl
je 0x1006a43c
movss xmm1, dword [0x1009382c]
mov dword [0x100dbda0], 0xc3610000
jmp 0x1006a4bd
test dl, dl
je 0x1006a4bd
movss xmm1, dword [0x10093820]
mov dword [0x100dbda0], 0xc3070000
jmp 0x1006a4bd
test cl, cl
je 0x1006a480
cmp byte [ebp - 8], 0
mov dword [0x100dbda0], 0x42b40000
je 0x1006a4bd
movss xmm1, dword [0x10093708]
mov dword [0x100dbda0], 0x42340000
jmp 0x1006a4bd
test dl, dl
je 0x1006a4b0
cmp byte [ebp - 8], 0
movss xmm1, dword [0x10093818]
mov dword [0x100dbda0], 0xc2b40000
je 0x1006a4bd
movss xmm1, dword [0x10093808]
mov dword [0x100dbda0], 0xc2340000
jmp 0x1006a4bd
mov dword [0x100dbda0], 0
movaps xmm1, xmm3
addss xmm1, xmm0
movss dword [0x1009c53c], xmm1
mov dword [edi + 0x24], 0
mov eax, dword [0x1009c518]
mov dword [eax + 0x28], 0
mov ecx, dword [0x100d6c68]
mov eax, dword [0x1009c438]
add ecx, 0xffffffd9
xor ecx, 0x18b2ca8a
movss xmm1, dword [ecx + eax]
movss xmm0, dword [ecx + eax + 4]
call fcn.10010c30
movss xmm1, dword [0x1009c53c]
lea ecx, [ebp - 8]
mulss xmm0, xmm4
subss xmm1, xmm0
movss dword [ebp - 8], xmm1
call fcn.100695d0
mov eax, dword [esi]
xorps xmm1, xmm1
movss xmm0, dword [ebp - 8]
mov ecx, esi
comiss xmm0, xmm1
mov eax, dword [eax + 0x30]
jbe 0x1006a548
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
xorps xmm0, xmmword [0x10093910]
jmp 0x1006a556
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
mov eax, dword [0x1009c518]
lea ecx, [ebp - 8]
movss dword [eax + 0x28], xmm0
movss xmm0, dword [0x1009c53c]
subss xmm0, dword [ebp - 8]
movss dword [ebp - 8], xmm0
call fcn.100695d0
movss xmm0, dword [ebp - 8]
movss dword [0x1009c53c], xmm0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10081803
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret