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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101db9ab
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x128
mov eax, dword [0x1026b040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x84], ecx
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
cmp byte [eax + 7], 0
je 0x1014e282
mov ecx, dword [eax + 0x14c]
mov dword [ebp - 0x7c], ecx
test ecx, ecx
je 0x1014e282
mov eax, dword [0x10304c84]
test al, 1
jne 0x1014d8d4
or eax, 1
mov dword [0x10304c84], eax
mov dword [ebp - 4], 0
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x74], eax
cmp eax, ecx
je 0x1014d7fc
nop
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x1014d7ef
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014d7c3
xor edx, edx
test ecx, ecx
je 0x1014d7e9
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d7d0
cmp esi, 0x4e9f1122
je 0x1014d813
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, ecx
jne 0x1014d7b0
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x7c]
mov dword [0x10304c88], edi
jmp 0x1014d8da
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x8c], edi
cmp dword [eax + 4], edi
jle 0x1014d7fe
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x88], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014d867
cmp dword [ecx + 4], 0
jle 0x1014d867
push 0
mov edx, 0x1c93bcf0
call fcn.10115470
add esp, 4
test eax, eax
je 0x1014d864
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x74], edi
mov eax, dword [ebp - 0x78]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014d870
xor edx, edx
test ecx, ecx
je 0x1014d89c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d880
cmp esi, 0x1c93bcf0
je 0x1014d8c3
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x80]
inc edx
mov edi, dword [ebp - 0x74]
add ecx, 0x3c
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x80], ecx
cmp edx, dword [eax + 4]
jge 0x1014d7fe
jmp 0x1014d830
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x74]
jmp 0x1014d7fe
mov edi, dword [0x10304c88]
mov eax, dword [ecx + edi]
mov dword [ebp - 0x90], eax
mov eax, dword [0x10306544]
test al, 1
jne 0x1014da34
or eax, 1
mov dword [0x10306544], eax
mov dword [ebp - 4], 1
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x80], eax
cmp eax, ecx
je 0x1014d95d
mov eax, dword [eax]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x1014d950
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014d924
xor edx, edx
test ecx, ecx
je 0x1014d94a
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d931
cmp esi, 0x72e242a1
je 0x1014d974
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, ecx
jne 0x1014d911
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x7c]
mov dword [0x1030650c], edi
jmp 0x1014da3a
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1014d95f
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x88], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014d9c7
cmp dword [ecx + 4], 0
jle 0x1014d9c7
push 0
mov edx, 0x84cdad2
call fcn.10115470
add esp, 4
test eax, eax
je 0x1014d9c4
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014d9d0
xor edx, edx
test ecx, ecx
je 0x1014d9fc
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d9e0
cmp esi, 0x84cdad2
je 0x1014da23
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x8c]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x8c], ecx
cmp edx, dword [eax + 4]
jge 0x1014d95f
jmp 0x1014d990
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x78]
jmp 0x1014d95f
mov edi, dword [0x1030650c]
cmp dword [ebp - 0x90], 2
je 0x1014da4d
cmp dword [ecx + edi], 0
jle 0x1014da4d
mov al, 1
jmp 0x1014da4f
xor al, al
cmp byte [0x102ef8b8], 0
je 0x1014dde0
test al, al
mov eax, dword [0x10633ee0]
je 0x1014da97
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0xf0]
cmp byte [eax + 0xa5], 0
jne 0x1014dd18
mov ecx, dword [ebp - 0x84]
mov byte [eax + 0xa5], 1
mov byte [ecx], 1
jmp 0x1014de32
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0xf0]
cmp byte [eax + 0xa5], 0
je 0x1014dad6
mov byte [eax + 0xa5], 0
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0xf0]
mov dword [eax + 0xb0], 0
cmp byte [0x102ece74], 0
je 0x1014dd18
mov eax, dword [0x10633ee0]
mov edx, dword [0x10309628]
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x88], eax
test dl, 1
jne 0x1014dc52
or edx, 1
mov dword [0x10309628], edx
mov dword [ebp - 4], 2
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x1014db7c
nop
mov eax, dword [eax]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x1014db6f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014db43
xor edx, edx
test ecx, ecx
je 0x1014db69
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014db50
cmp esi, 0x72e242a1
je 0x1014db9c
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, ecx
jne 0x1014db30
xor ecx, ecx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10309628]
mov dword [0x1030961c], ecx
jmp 0x1014dc58
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1014dc3a
xor ecx, ecx
mov dword [ebp - 0x80], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x90], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014dbec
cmp dword [ecx + 4], 0
jle 0x1014dbec
push 0
mov edx, 0xdab57b35
call fcn.10115470
add esp, 4
test eax, eax
je 0x1014dbe9
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014dbf5
xor edx, edx
test ecx, ecx
je 0x1014dc1e
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014dc02
cmp esi, 0xdab57b35
je 0x1014dc41
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x80], ecx
cmp edx, dword [eax + 4]
jl 0x1014dbb5
mov ecx, edi
jmp 0x1014db7e
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
jmp 0x1014db7e
mov ecx, dword [0x1030961c]
cmp dword [eax + ecx], 4
jne 0x1014dd18
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x88], eax
test dl, 1
jne 0x1014dd11
or edx, 1
mov dword [0x10309628], edx
mov dword [ebp - 4], 3
mov eax, dword [0x103030f8]
mov ecx, dword [0x103030fc]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x1014dcfc
mov eax, dword [eax]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x1014dcef
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1014dcc0
xor edx, edx
test ecx, ecx
je 0x1014dce9
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014dcd0
cmp esi, 0x72e242a1
je 0x1014dd26
mov ecx, dword [0x103030fc]
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, ecx
jne 0x1014dca8
xor ecx, ecx
mov eax, dword [ebp - 0x88]
mov dword [0x1030961c], ecx
mov dword [ebp - 4], 0xffffffff
mov dword [eax + ecx], 5
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 1
jmp 0x1014de32
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1014ddc8
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x90], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014dd77
cmp dword [ecx + 4], 0
jle 0x1014dd77
push 0
mov edx, 0xdab57b35
call fcn.10115470
add esp, 4
test eax, eax
je 0x1014dd74
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014dd80
xor edx, edx
test ecx, ecx
je 0x1014ddac
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014dd90
cmp esi, 0xdab57b35
je 0x1014ddcf
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x80], ecx
cmp edx, dword [eax + 4]
jl 0x1014dd40
mov ecx, edi
jmp 0x1014dcfe
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
jmp 0x1014dcfe
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0xf0]
cmp byte [eax + 0xa5], 0
je 0x1014de32
mov ecx, dword [ebp - 0x84]
cmp byte [ecx], 0
je 0x1014de32
mov byte [eax + 0xa5], 0
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0xf0]
mov dword [eax + 0xb0], 0
mov byte [ecx], 0
mov ecx, dword [0x10633ee0]
add ecx, 0xfab78433
xor ecx, 0xc85d879a
mov eax, dword [ecx + 0xf0]
cmp byte [eax + 0xa5], 0
je 0x1014e282
mov dword [ebp - 0x9c], 0
lea edx, [ebp - 0x9c]
mov dword [ebp - 0x98], 0
xor eax, eax
mov dword [ebp - 0x94], 0
mov ecx, dword [ecx + 0xc4]
test ecx, ecx
push edx
cmovne eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
call eax
movss xmm2, dword [ebp - 0x98]
lea edx, [ebp - 0x84]
mulss xmm2, dword [0x10257f30]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x84], 0
call fcn.10110600
movss xmm2, dword [ebp - 0x9c]
lea edx, [ebp - 0x7c]
mulss xmm2, dword [0x10257f30]
lea ecx, [ebp - 0x8c]
call fcn.10110600
movss xmm0, dword [ebp - 0x7c]
movss xmm1, dword [ebp - 0x84]
mov eax, dword [0x10633ee0]
mulss xmm1, xmm0
add eax, 0xfab78433
xor eax, 0xc85d879a
mulss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0xa0], xmm1
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x8c]
xorps xmm0, xmmword [0x10258b00]
movss dword [ebp - 0x8c], xmm0
movd xmm0, dword [0x102ece70]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x94], xmm0
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x10306500]
mov dword [ebp - 0x88], ecx
test al, 1
jne 0x1014e0b4
or eax, 1
mov dword [0x10306500], eax
mov dword [ebp - 4], 4
mov eax, dword [0x103030f8]
mov dword [ebp - 0x84], eax
cmp eax, dword [0x103030fc]
je 0x1014dfd5
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014dfc4
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014df98
xor edx, edx
test ecx, ecx
je 0x1014dfc4
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014dfa5
cmp esi, 0x4e9f1122
je 0x1014dfef
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x103030fc]
jne 0x1014df85
xor edi, edi
mov ecx, dword [ebp - 0x88]
mov dword [0x103064d4], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1014e0ba
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1014dfd7
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x90], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014e047
cmp dword [ecx + 4], 0
jle 0x1014e047
push 0
mov edx, 0x4cdd3467
call fcn.10115470
add esp, 4
test eax, eax
je 0x1014e044
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014e050
xor edx, edx
test ecx, ecx
je 0x1014e07c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e060
cmp esi, 0x4cdd3467
je 0x1014e0a3
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x7c]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jge 0x1014dfd7
jmp 0x1014e010
mov eax, dword [ebp - 0x90]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x78]
jmp 0x1014dfd7
mov edi, dword [0x103064d4]
movss xmm0, dword [ecx + edi + 4]
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ecx + edi + 8]
xor eax, 0xc85d879a
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ecx + edi]
movss dword [ebp - 0x90], xmm0
mov ecx, dword [eax + 0x14c]
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
call eax
movss xmm1, dword [ebp - 0x90]
lea ecx, [ebp - 0x130]
movss xmm2, dword [ebp - 0x88]
xorps xmm0, xmm0
movss xmm3, dword [ebp - 0x84]
addss xmm1, dword [eax]
addss xmm2, dword [eax + 4]
addss xmm3, dword [eax + 8]
movss xmm4, dword [ebp - 0xa0]
mov eax, dword [0x10633ee0]
movups xmmword [ebp - 0x70], xmm0
add eax, 0xfab78433
mov dword [ebp - 0xa4], 0x10257d70
movups xmmword [ebp - 0x60], xmm0
xor eax, 0xc85d879a
mov dword [ebp - 0x50], 0
movss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0xd4], xmm1
mulss xmm4, xmm0
mov edi, dword [eax + 0x110]
movss dword [ebp - 0xd0], xmm2
movss dword [ebp - 0xcc], xmm3
subss xmm1, xmm4
mov dword [ebp - 0xb0], 0x41800000
mov eax, dword [edi]
mov dword [ebp - 0xac], 0x41800000
mov dword [ebp - 0xa8], 0x41800000
mov dword [ebp - 0xbc], 0xc1800000
mov esi, dword [eax + 0x14]
lea eax, [ebp - 0xb0]
movss dword [ebp - 0xc8], xmm1
movss xmm1, dword [ebp - 0x80]
mulss xmm1, xmm0
push eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xb8], 0xc1800000
push eax
subss xmm2, xmm1
mov dword [ebp - 0xb4], 0xc1800000
movss xmm1, dword [ebp - 0x8c]
lea eax, [ebp - 0xc8]
mulss xmm1, xmm0
push eax
lea eax, [ebp - 0xd4]
push eax
subss xmm3, xmm1
movss dword [ebp - 0xc4], xmm2
movss dword [ebp - 0xc0], xmm3
call fcn.1003ad00
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xa4]
push ecx
push 0x2000b
push eax
mov ecx, edi
call esi
movss xmm0, dword [ebp - 0x44]
mov eax, dword [0x10633ee0]
mulss xmm0, dword [ebp - 0x94]
add eax, 0xfab78433
xor eax, 0xc85d879a
movss dword [ebp - 0x94], xmm0
mov eax, dword [eax + 0xf0]
movq xmm0, qword [ebp - 0x9c]
mov ecx, dword [ebp - 0x94]
movq qword [eax + 0xa8], xmm0
mov dword [eax + 0xb0], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101c8fef
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret