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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1834
call fcn.100ed110
mov eax, dword [0x101453b8]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [0x10290d3c]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1834], eax
push esi
mov eax, dword [ecx]
push edi
mov edi, dword [ebp + 8]
push edi
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x1002f4d1
mov ecx, dword [esi]
mov edx, dword [ecx + 0x260]
mov ecx, esi
call edx
test al, al
je 0x1002f4d1
mov eax, dword [0x10290f64]
add eax, 0xffffffd0
xor eax, 0x6de5416b
cmp dword [eax + esi], 0
jne 0x1002f4d1
mov eax, dword [0x10290eec]
cmp byte [eax + esi], 0
jne 0x1002f4d1
mov edx, dword [0x10290f3c]
mov eax, dword [0x10295df8]
add edx, 0xffffffda
xor edx, 0x6de54161
mov ecx, dword [edx + esi]
cmp ecx, dword [edx + eax]
jne 0x1002efc8
mov ecx, dword [0x10290e24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x1002f4d1
imul eax, edi, 0x34ec
lea eax, [eax + 0x10142a00]
mov dword [ebp - 0x1830], eax
test eax, eax
je 0x1002f4d1
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1002f4d1
cmp eax, 2
jb 0x1002f4d1
mov ecx, dword [0x10290d38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
test eax, eax
je 0x1002f4d1
mov eax, dword [0x10297954]
test al, 1
jne 0x1002f094
or eax, 1
mov dword [0x10297954], eax
mov eax, dword [0x10290d34]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1824], eax
test eax, eax
je 0x1002f07c
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x1002f040
xor edx, edx
test ecx, ecx
je 0x1002f06f
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1002f050
cmp esi, 0x8c8dc452
je 0x1002f086
mov eax, dword [ebp - 0x1824]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1824], eax
test eax, eax
jne 0x1002f035
xor ecx, ecx
mov dword [0x1029794c], ecx
jmp 0x1002f09a
mov ecx, dword [ebp - 0x1824]
mov dword [0x1029794c], ecx
jmp 0x1002f09a
mov ecx, dword [0x1029794c]
test ecx, ecx
je 0x1002f0a7
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
fstp st(0)
mov ecx, dword [ebp - 0x1830]
mov edi, dword [ecx + 0x18]
mov esi, dword [ecx + 8]
add edi, 0xfffffffe
add edi, dword [ecx + 0x14]
nop dword [eax]
mov ecx, dword [ecx + 0x14]
lea eax, [edi + 2]
mov dword [ebp - 0x182c], ecx
cmp ecx, eax
jae 0x1002f4d1
test esi, esi
je 0x1002f0dc
mov ecx, dword [esi]
jmp 0x1002f0de
xor ecx, ecx
mov edx, dword [ecx + 8]
lea eax, [edi + 1]
shr eax, 1
dec edx
and edx, eax
mov eax, dword [ecx + 4]
lea ecx, [edi + 1]
and ecx, 1
mov eax, dword [eax + edx*4]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x1824], eax
test eax, eax
je 0x1002f2c7
mov ecx, dword [0x10290d38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
test eax, eax
je 0x1002f2c7
cmp dword [0x10295df8], 0
je 0x1002f2c7
mov eax, dword [ebp - 0x1824]
cmp byte [eax + 0x41c], 0
je 0x1002f2c7
mov ecx, dword [0x10290d38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
mov dword [ebp - 0x1820], eax
test eax, eax
je 0x1002f264
cmp dword [0x10295df8], 0
je 0x1002f264
mov ecx, dword [eax]
push 0
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x1828], ecx
mov ecx, eax
call dword [ebp - 0x1828]
mov ecx, dword [ebp - 0x1820]
fstp dword [ebp - 0x1828]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1820], eax
call dword [ebp - 0x1820]
mov ecx, dword [0x10290ddc]
fstp dword [ebp - 0x1820]
movss xmm0, dword [ebp - 0x1820]
addss xmm0, dword [ebp - 0x1828]
mov eax, dword [ecx]
addss xmm0, dword [0x1029771c]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1820], eax
movss dword [ebp - 0x1828], xmm0
call dword [ebp - 0x1820]
movss xmm0, dword [ebp - 0x1828]
fstp dword [ebp - 0x1820]
movss xmm1, dword [ebp - 0x1820]
comiss xmm0, xmm1
ja 0x1002f200
movaps xmm1, xmm0
maxss xmm1, dword [0x10135a9c]
mov eax, dword [0x10290f64]
mov ecx, dword [0x10295df8]
add eax, 0xffffffd0
xor eax, 0x6de5416b
cmp dword [eax + ecx], 0
jne 0x1002f23a
mov eax, dword [0x10290f8c]
add eax, 0xffffffc6
xor eax, 0x6de54175
movd xmm0, dword [eax + ecx]
mov eax, dword [0x10290d94]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
jmp 0x1002f244
mov eax, dword [0x10290d94]
movss xmm0, dword [eax + 0x10]
mov eax, dword [ebp - 0x1824]
subss xmm0, dword [eax + 0x5c]
subss xmm1, xmm0
movaps xmm0, xmm1
call fcn.1002e3b0
comiss xmm0, dword [0x10135b20]
ja 0x1002f2c7
lea eax, [edi + 1]
cmp eax, dword [ebp - 0x182c]
je 0x1002f2c7
test esi, esi
je 0x1002f277
mov ecx, dword [esi]
jmp 0x1002f279
xor ecx, ecx
mov dword [ebp - 0x1828], ecx
mov eax, edi
mov ecx, dword [ecx + 8]
mov edx, edi
shr eax, 1
dec ecx
and ecx, eax
mov dword [ebp - 0x182c], eax
mov eax, dword [ebp - 0x1828]
and edx, 1
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp dword [eax + edx*8], 0
je 0x1002f2c7
test esi, esi
je 0x1002f2ae
mov eax, dword [esi]
jmp 0x1002f2b0
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [ebp - 0x182c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
test ecx, ecx
jne 0x1002f2d3
mov ecx, dword [ebp - 0x1830]
dec edi
jmp 0x1002f0c0
mov esi, dword [ebp - 0x1824]
xorps xmm7, xmm7
movss xmm3, dword [0x1028e948]
movss xmm4, dword [ecx + 0x5c]
movaps xmm1, xmm3
movss xmm6, dword [ecx + 0x3454]
movaps xmm0, xmm4
movss xmm5, dword [esi + 0x5c]
subss xmm1, xmm6
subss xmm0, xmm5
movss xmm2, dword [0x10135bb4]
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm0, xmm1
comiss xmm7, xmm0
ja 0x1002f321
comiss xmm0, xmm2
jbe 0x1002f331
movss dword [ecx + 0x3454], xmm3
movaps xmm6, xmm3
movss xmm5, dword [esi + 0x5c]
subss xmm3, xmm6
movaps xmm1, xmm2
subss xmm4, xmm5
divss xmm3, xmm4
subss xmm1, xmm3
comiss xmm1, xmm2
jbe 0x1002f34e
movaps xmm1, xmm2
jmp 0x1002f352
maxss xmm1, xmm7
movq xmm0, qword [esi + 0x68]
subss xmm2, xmm1
movq qword [ebp - 0x181c], xmm0
lea edi, [ebp - 0x1804]
movq xmm0, qword [ecx + 0x68]
mov eax, dword [esi + 0x70]
mov esi, 0x80
movq qword [ebp - 0x1810], xmm0
movss xmm3, dword [ebp - 0x1810]
movss xmm0, dword [ebp - 0x181c]
mulss xmm3, xmm2
mov dword [ebp - 0x1814], eax
mov eax, dword [ecx + 0x70]
mulss xmm0, xmm1
mov dword [ebp - 0x1808], eax
addss xmm3, xmm0
movss xmm0, dword [ebp - 0x1818]
mulss xmm0, xmm1
movss dword [ebp - 0x182c], xmm3
movss xmm3, dword [ebp - 0x180c]
mulss xmm3, xmm2
addss xmm3, xmm0
movss xmm0, dword [ebp - 0x1814]
mulss xmm0, xmm1
movss dword [ebp - 0x1820], xmm3
movss xmm3, dword [ebp - 0x1808]
mulss xmm3, xmm2
addss xmm3, xmm0
movss dword [ebp - 0x1830], xmm3
nop dword [eax]
mov ecx, edi
call fcn.1001da40
add edi, 0x30
sub esi, 1
jne 0x1002f400
mov esi, dword [ebp - 0x1824]
push 0x1800
lea eax, [esi + 0x420]
push eax
lea eax, [ebp - 0x1804]
push eax
call fcn.100edb00
movss xmm6, dword [esi + 0x68]
lea eax, [ebp - 0x17e8]
movss xmm7, dword [esi + 0x6c]
lea ecx, [esi + 0x43c]
movss xmm3, dword [ebp - 0x182c]
add esp, 0xc
movss xmm4, dword [ebp - 0x1820]
mov edx, 0x80
movss xmm5, dword [ebp - 0x1830]
movss xmm2, dword [ecx - 0x10]
movss xmm1, dword [ecx]
subss xmm2, xmm6
movss xmm0, dword [ecx + 0x10]
subss xmm1, xmm7
subss xmm0, dword [esi + 0x70]
add ecx, 0x30
addss xmm2, xmm3
addss xmm1, xmm4
addss xmm0, xmm5
movss dword [eax - 0x10], xmm2
movss dword [eax], xmm1
movss dword [eax + 0x10], xmm0
add eax, 0x30
sub edx, 1
jne 0x1002f463
push 0x1800
lea eax, [ebp - 0x1804]
push eax
push dword [ebp - 0x1834]
call fcn.100edb00
add esp, 0xc
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100eb51f
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
xor al, al
pop edi
xor ecx, ebp
pop esi
call fcn.100eb51f
mov esp, ebp
pop ebp
ret 8