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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [0x10371278]
push esi
push edi
mov dword [ebp - 4], ecx
cmp ebx, dword [0x1037127c]
je 0x10142f58
nop word [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 8], eax
test eax, eax
je 0x10142f4d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10142f23
xor edx, edx
test ecx, ecx
je 0x10142f4d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10142f30
cmp edi, 0x29daf1bd
je 0x10143149
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10142f10
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], eax
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10142fb8
nop
mov eax, dword [ebx]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10142fad
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10142f83
xor edx, edx
test ecx, ecx
je 0x10142fad
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10142f90
cmp edi, 0x29daf1bd
je 0x101431fa
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10142f70
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10143018
nop
mov eax, dword [ebx]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1014300d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10142fe3
xor edx, edx
test ecx, ecx
je 0x1014300d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10142ff0
cmp edi, 0x29daf1bd
je 0x101432aa
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10142fd0
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10143078
nop
mov eax, dword [ebx]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1014306d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10143043
xor edx, edx
test ecx, ecx
je 0x1014306d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10143050
cmp edi, 0x29daf1bd
je 0x1014335a
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10143030
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x10], eax
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x101430d8
nop
mov eax, dword [ebx]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x101430cd
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101430a3
xor edx, edx
test ecx, ecx
je 0x101430cd
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101430b0
cmp edi, 0x29daf1bd
je 0x1014340a
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10143090
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x14], eax
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10143138
nop
mov eax, dword [ebx]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1014312d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10143103
xor edx, edx
test ecx, ecx
je 0x1014312d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10143110
cmp edi, 0x29daf1bd
je 0x101434ba
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x101430f0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov dword [eax + 0x18], 0
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
cmp dword [eax + 4], ebx
jle 0x101431e8
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x10143193
cmp dword [ecx + 4], 0
jle 0x10143193
push 0
mov edx, 0x860dd40b
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10143190
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 8]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101431a0
xor edx, edx
test ecx, ecx
je 0x101431cc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x101431b0
cmp ebx, 0x860dd40b
je 0x101431ef
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
inc edx
mov ebx, dword [ebp - 0xc]
add ecx, 0x3c
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
cmp edx, dword [eax + 4]
jl 0x10143162
mov eax, ebx
jmp 0x10142f5a
mov eax, dword [edi + 0x2c]
add eax, dword [ebp - 0xc]
jmp 0x10142f5a
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
cmp dword [eax + 4], ebx
jle 0x10143298
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x10143244
cmp dword [ecx + 4], 0
jle 0x10143244
push 0
mov edx, 0x9bfa6ef5
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10143241
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0xc]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10143250
xor edx, edx
test ecx, ecx
je 0x1014327c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x10143260
cmp ebx, 0x9bfa6ef5
je 0x1014329f
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
inc edx
mov ebx, dword [ebp - 8]
add ecx, 0x3c
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
cmp edx, dword [eax + 4]
jl 0x10143213
mov eax, ebx
jmp 0x10142fba
mov eax, dword [edi + 0x2c]
add eax, dword [ebp - 8]
jmp 0x10142fba
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
cmp dword [eax + 4], ebx
jle 0x10143348
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x101432f4
cmp dword [ecx + 4], 0
jle 0x101432f4
push 0
mov edx, 0x8034136e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101432f1
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0xc]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10143300
xor edx, edx
test ecx, ecx
je 0x1014332c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x10143310
cmp ebx, 0x8034136e
je 0x1014334f
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
inc edx
mov ebx, dword [ebp - 8]
add ecx, 0x3c
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
cmp edx, dword [eax + 4]
jl 0x101432c3
mov eax, ebx
jmp 0x1014301a
mov eax, dword [edi + 0x2c]
add eax, dword [ebp - 8]
jmp 0x1014301a
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
cmp dword [eax + 4], ebx
jle 0x101433f8
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x101433a4
cmp dword [ecx + 4], 0
jle 0x101433a4
push 0
mov edx, 0x722075ac
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101433a1
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0xc]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101433b0
xor edx, edx
test ecx, ecx
je 0x101433dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x101433c0
cmp ebx, 0x722075ac
je 0x101433ff
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
inc edx
mov ebx, dword [ebp - 8]
add ecx, 0x3c
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
cmp edx, dword [eax + 4]
jl 0x10143373
mov eax, ebx
jmp 0x1014307a
mov eax, dword [edi + 0x2c]
add eax, dword [ebp - 8]
jmp 0x1014307a
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
cmp dword [eax + 4], ebx
jle 0x101434a8
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x10143454
cmp dword [ecx + 4], 0
jle 0x10143454
push 0
mov edx, 0xe77b3ed4
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10143451
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0xc]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10143460
xor edx, edx
test ecx, ecx
je 0x1014348c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x10143470
cmp ebx, 0xe77b3ed4
je 0x101434af
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
inc edx
mov ebx, dword [ebp - 8]
add ecx, 0x3c
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
cmp edx, dword [eax + 4]
jl 0x10143423
mov eax, ebx
jmp 0x101430da
mov eax, dword [edi + 0x2c]
add eax, dword [ebp - 8]
jmp 0x101430da
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
cmp dword [eax + 4], ebx
jle 0x10143558
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x10143504
cmp dword [ecx + 4], 0
jle 0x10143504
push 0
mov edx, 0xebb267ff
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10143501
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0xc]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10143510
xor edx, edx
test ecx, ecx
je 0x1014353c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x10143520
cmp ebx, 0xebb267ff
je 0x10143565
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
inc edx
mov ebx, dword [ebp - 8]
add ecx, 0x3c
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
cmp edx, dword [eax + 4]
jl 0x101434d3
mov eax, dword [ebp - 4]
pop edi
pop esi
mov dword [eax + 0x18], ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2c]
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 8]
pop edi
pop esi
mov dword [ecx + 0x18], eax
pop ebx
mov esp, ebp
pop ebp
ret