Function at 0x10276ae0
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 0x103a9d31
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x58
mov eax, dword [0x1049b0c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x50], eax
mov eax, dword [eax]
mov esi, dword [eax + 0x24]
mov dword [ebp - 0x5c], esi
cmp byte [esi + 0x9b14], 0
je 0x102771dc
cmp dword [esi + 0x9960], 0
je 0x102771dc
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x60], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x64], eax
mov eax, dword [0x10544694]
test al, 1
jne 0x10276cc5
or eax, 1
mov dword [0x10544694], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x44], eax
cmp eax, dword [0x1053ebbc]
je 0x10276bdb
mov ecx, dword [eax]
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x10276bcd
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10276ba4
xor edx, edx
test ecx, ecx
je 0x10276bcd
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10276bb1
cmp esi, 0x4e9f1122
je 0x10276bf1
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x44], eax
cmp eax, dword [0x1053ebbc]
jne 0x10276b91
mov esi, dword [ebp - 0x5c]
xor eax, eax
mov dword [0x1054162c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10276cca
mov eax, dword [ebp - 0x4c]
xor edi, edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
cmp dword [eax + 4], edi
jle 0x10276c98
xor ecx, ecx
mov dword [ebp - 0x54], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x58], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10276c44
cmp dword [ecx + 4], 0
jle 0x10276c44
push 0
mov edx, 0x940131c5
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10276c41
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x4c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10276c50
xor edx, edx
test ecx, ecx
je 0x10276c7c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10276c60
cmp edi, 0x940131c5
je 0x10276cab
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x54]
inc edx
mov edi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x54], ecx
cmp edx, dword [eax + 4]
jl 0x10276c10
mov esi, dword [ebp - 0x5c]
mov eax, edi
mov dword [0x1054162c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10276cca
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x1054162c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10276cca
mov eax, dword [0x1054162c]
push dword [eax + esi]
mov ecx, dword [ebp - 0x60]
call dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
test eax, eax
je 0x102771dc
mov ecx, dword [0x11b92250]
add ecx, 0xc6c19814
xor ecx, 0x26996288
mov eax, dword [ecx + 0xc8]
mov dword [ebp - 0x58], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x68], eax
mov eax, dword [0x1054ab64]
test al, 1
jne 0x10276e65
or eax, 1
mov dword [0x1054ab64], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x44], eax
cmp eax, dword [0x1053ebbc]
je 0x10276d7a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
test ecx, ecx
je 0x10276d6c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10276d43
xor edx, edx
test ecx, ecx
je 0x10276d6c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10276d50
cmp esi, 0xf2f193b3
je 0x10276d90
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x44], eax
cmp eax, dword [0x1053ebbc]
jne 0x10276d30
mov esi, dword [ebp - 0x5c]
xor eax, eax
mov dword [0x1054ab68], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10276e6a
mov eax, dword [ebp - 0x48]
xor edi, edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
cmp dword [eax + 4], edi
jle 0x10276e38
xor ecx, ecx
mov dword [ebp - 0x54], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x64], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10276de4
cmp dword [ecx + 4], 0
jle 0x10276de4
push 0
mov edx, 0xa822535a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10276de1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x4c], edi
mov eax, dword [ebp - 0x48]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10276df0
xor edx, edx
test ecx, ecx
je 0x10276e1c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10276e00
cmp edi, 0xa822535a
je 0x10276e4b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x54]
inc edx
mov edi, dword [ebp - 0x4c]
add ecx, 0x3c
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x54], ecx
cmp edx, dword [eax + 4]
jl 0x10276db0
mov esi, dword [ebp - 0x5c]
mov eax, edi
mov dword [0x1054ab68], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10276e6a
mov eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x4c]
mov dword [0x1054ab68], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10276e6a
mov eax, dword [0x1054ab68]
mov ecx, dword [ebp - 0x60]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x58]
call dword [ebp - 0x68]
test eax, eax
je 0x10276e84
cmp word [eax + 0x26e], 0xffff
jne 0x10276e9f
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
cmp esi, dword [eax + 0x154]
jne 0x102771dc
mov edx, dword [ebp - 0x50]
mov esi, dword [edx + 4]
mov ecx, dword [esi]
test ecx, ecx
je 0x102771dc
mov eax, dword [0x1055cf4c]
mov eax, dword [eax]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x102771dc
mov edi, dword [edx]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x54], edi
lea eax, [edi + 0x4c]
push eax
lea edx, [edi + 0xac]
call fcn.102738e0
mov eax, dword [0x11b92260]
add esp, 4
mov ecx, dword [esi]
test eax, eax
je 0x10276eec
add eax, 2
mov eax, dword [eax]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 8]
mov eax, dword [0x1054c470]
test al, 1
jne 0x10276f18
or eax, 1
mov dword [0x1054c470], eax
mov eax, dword [0x1055cfb0]
mov dword [0x1054c44c], eax
jmp 0x10276f1d
mov eax, dword [0x1054c44c]
mov ecx, dword [ecx]
call eax
movss xmm0, dword [edi + 0x14]
lea edx, [edi + 0x28]
mov esi, dword [0x1062618c]
lea eax, [edi + 0x34]
push 0x40000
push 0
push ecx
mov ecx, dword [ebp - 0x50]
movss dword [esp], xmm0
push edx
push eax
mov eax, dword [ecx + 8]
push dword [ebp - 0x48]
mov ecx, dword [eax]
call esi
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0xac]
mov dword [ebp - 0x38], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x50]
push ecx
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x40]
movlpd qword [ebp - 0x30], xmm0
push dword [eax + 0x10]
movlpd qword [ebp - 0x28], xmm0
push dword [eax + 0xc]
mov dword [ebp - 0x3c], 0x40000
mov dword [ebp - 0x34], 0
call fcn.10272e70
cmp dword [edi + 8], 0
mov dword [ebp - 0x58], 0
jle 0x102771a8
xor eax, eax
xorps xmm1, xmm1
mov dword [ebp - 0x44], eax
mov esi, dword [edi + 0x20]
add esi, eax
mov dword [ebp - 0x5c], esi
je 0x10277192
mov edx, dword [esi + 0x18]
cmp edx, 1
jbe 0x10277192
movss xmm0, dword [esi + 0x20]
comiss xmm0, xmm1
jbe 0x10277192
cmp byte [edi + 3], 0
je 0x10277139
mov eax, dword [0x11b92250]
mov ecx, dword [edi + 0x24]
add eax, 0xc6c19814
xor eax, 0x26996288
cmp ecx, dword [eax + 0x154]
jne 0x10276ffe
mov eax, dword [ecx]
push edx
push dword [ebp - 0x48]
mov eax, dword [eax + 0x3dc]
push esi
call eax
cmp byte [edi + 3], 0
je 0x10277139
mov ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x10277139
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
cmp ecx, dword [eax + 0xbc]
jge 0x10277139
mov ecx, dword [0x120772e4]
test cl, 1
jne 0x10277046
or ecx, 1
mov dword [0x120772e4], ecx
mov edx, dword [0x110e5810]
mov dword [0x120772e0], edx
jmp 0x1027704c
mov edx, dword [0x120772e0]
test cl, 2
jne 0x10277064
or ecx, 2
mov dword [0x120772e4], ecx
mov eax, dword [0x110e5820]
mov dword [0x120772e8], eax
test cl, 4
jne 0x1027707c
or ecx, 4
mov dword [0x120772e4], ecx
mov eax, dword [0x1055cf9c]
mov dword [0x120772d0], eax
mov edi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
push dword [edi + 0x10]
mov eax, dword [ecx + 0x1c]
push dword [edi + 0xc]
mov ecx, dword [ecx + 0x18]
push 0x40000
push dword [eax]
push dword [ecx]
mov ecx, dword [ebp - 0x4c]
call edx
mov edx, edi
mov edi, dword [ebp - 0x54]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
test ecx, ecx
je 0x102770dc
movss xmm0, dword [esi + 0x20]
lea eax, [edi + 0x4c]
push ecx
movss dword [esp], xmm0
push eax
cvttss2si eax, dword [esi + 0x2c]
push eax
mov eax, dword [edi + 0x24]
push dword [esi + 0x18]
push ecx
movss xmm0, dword [eax + 0xa14]
movss dword [esp], xmm0
call dword [0x120772e8]
mov edx, dword [ebp - 0x50]
mov ecx, dword [edx + 8]
movss xmm1, dword [esi + 0x20]
movss xmm0, dword [edi + 0x14]
movss xmm2, dword [esi + 0x2c]
push dword [ecx]
mov eax, dword [0x1055d17c]
lea ecx, [ebp - 0x40]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
push dword [esi + 0x10]
mov esi, dword [edx + 0xc]
push dword [edx + 0x10]
push esi
call eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x1c]
push dword [eax]
mov eax, dword [ecx + 0x18]
push dword [eax]
push 0x40000
push dword [ecx + 0x10]
mov ecx, dword [ebp - 0x4c]
push esi
call dword [0x120772d0]
jmp 0x1027718c
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax]
mov eax, dword [edx + 0x18]
mov edi, dword [eax]
mov eax, dword [edx + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
movss xmm2, dword [eax + 0x2c]
movss xmm1, dword [eax + 0x20]
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0x14]
mov eax, dword [edx + 0x20]
mov edx, dword [0x1055d17c]
push dword [eax]
mov eax, dword [ebp - 0x5c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
push dword [eax + 0x18]
push esi
push edi
call edx
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
xorps xmm1, xmm1
mov esi, dword [ebp - 0x58]
add eax, 0x38
inc esi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x58], esi
cmp esi, dword [edi + 8]
jl 0x10276fa3
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov eax, dword [0x1054c43c]
test al, 1
jne 0x102771d1
or eax, 1
mov dword [0x1054c43c], eax
mov eax, dword [0x10626184]
mov dword [0x1054c450], eax
call eax
xor al, al
jmp 0x102771de
mov eax, dword [0x1054c450]
call eax
xor al, al
jmp 0x102771de
mov al, 1
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.102fe398
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret