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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1022f6a5
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x102d2084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov ebx, dword [ebp + 8]
mov dword [esi + 0x24], ebx
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp ebx, dword [eax + 0x134]
jne 0x1016b406
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x28]
jmp 0x1016b53d
mov eax, dword [0x10370f48]
test al, 1
jne 0x1016b536
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016b474
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1016b469
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b443
xor edx, edx
test ecx, ecx
je 0x1016b469
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b450
cmp edi, 0x1eee87cc
je 0x1016b48d
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016b430
xor eax, eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov dword [0x10370f8c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b53b
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 4], esi
jle 0x1016b524
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016b4d7
cmp dword [ecx + 4], 0
jle 0x1016b4d7
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016b4d4
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b4e0
xor edx, edx
test ecx, ecx
je 0x1016b50c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b4f0
cmp edi, 0x559d81af
je 0x1016b52b
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1016b4a6
mov eax, esi
jmp 0x1016b476
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1016b476
mov eax, dword [0x10370f8c]
add eax, ebx
movq xmm0, qword [eax]
mov ecx, ebx
movq qword [esi + 0x28], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x30], eax
mov eax, dword [ebx + 0x2990]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x1c], eax
mov dword [esi + 8], 0xd
mov eax, dword [ebx]
call dword [eax + 0x2c]
movq xmm0, qword [eax]
movq qword [esi + 0x34], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x18], eax
mov dword [esi + 4], 0x7ff00
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp ebx, dword [eax + 0x134]
jne 0x1016b5a6
movss xmm0, dword [eax + 0x40]
jmp 0x1016b6e0
mov eax, dword [0x10370f78]
test al, 1
jne 0x1016b6d6
or eax, 1
mov dword [0x10370f78], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016b614
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1016b609
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b5e3
xor edx, edx
test ecx, ecx
je 0x1016b609
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b5f0
cmp edi, 0x1eee87cc
je 0x1016b62d
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016b5d0
xor eax, eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov dword [0x10370f30], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b6db
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1016b6c4
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016b677
cmp dword [ecx + 4], 0
jle 0x1016b677
push 0
mov edx, 0x7fcb378d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016b674
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b680
xor edx, edx
test ecx, ecx
je 0x1016b6ac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b690
cmp edi, 0x7fcb378d
je 0x1016b6cb
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1016b646
mov eax, esi
jmp 0x1016b616
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
jmp 0x1016b616
mov eax, dword [0x10370f30]
movss xmm0, dword [eax + ebx]
mov eax, dword [ebp + 0x18]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x10], eax
mov eax, dword [0x10370f90]
movss dword [esi + 0x14], xmm0
mov word [esi + 1], 0
mov byte [esi + 3], 1
test al, 1
jne 0x1016b83e
or eax, 1
mov dword [0x10370f90], eax
mov dword [ebp - 4], 2
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016b769
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1016b75e
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b738
xor edx, edx
test ecx, ecx
je 0x1016b75e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b745
cmp edi, 0x54aff69
je 0x1016b77f
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016b725
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [0x10370fa4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b843
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x1016b814
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016b7c9
cmp dword [ecx + 4], 0
jle 0x1016b7c9
push 0
mov edx, 0xa3316f9
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016b7c6
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b7d2
xor edx, edx
test ecx, ecx
je 0x1016b7fc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b7e0
cmp edi, 0xa3316f9
je 0x1016b827
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
inc edx
mov esi, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1016b798
mov ebx, dword [ebp + 8]
mov eax, esi
mov dword [0x10370fa4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b843
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [0x10370fa4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b843
mov eax, dword [0x10370fa4]
mov edi, dword [ebp - 0x10]
lea esi, [eax + ebx]
mov eax, dword [0x1036f668]
add edi, 0x4c
mov ecx, 0x60
rep movsb byte es:[edi], byte [esi]
test al, 1
jne 0x1016b9a2
or eax, 1
mov dword [0x1036f668], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016b8c4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1016b8b9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b893
xor edx, edx
test ecx, ecx
je 0x1016b8b9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b8a0
cmp edi, 0x72e242a1
je 0x1016b8da
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016b880
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [0x1036f700], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b9a7
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x1016b978
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016b924
cmp dword [ecx + 4], 0
jle 0x1016b924
push 0
mov edx, 0xf3c2c786
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016b921
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016b930
xor edx, edx
test ecx, ecx
je 0x1016b95c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016b940
cmp edi, 0xf3c2c786
je 0x1016b98b
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
inc edx
mov esi, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1016b8f3
mov ebx, dword [ebp + 8]
mov eax, esi
mov dword [0x1036f700], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b9a7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [0x1036f700], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016b9a7
mov eax, dword [0x1036f700]
movq xmm0, qword [eax + ebx]
mov ecx, dword [ebp - 0x10]
movq qword [ecx + 0x40], xmm0
mov eax, dword [eax + ebx + 8]
mov dword [ecx + 0x48], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10370f2c]
test al, 1
jne 0x1016bb1e
or eax, 1
mov dword [0x10370f2c], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016ba49
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1016ba3e
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016ba18
xor edx, edx
test ecx, ecx
je 0x1016ba3e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016ba25
cmp edi, 0x4e9f1122
je 0x1016ba5f
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016ba05
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [0x1036f688], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016bb23
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x1016baf4
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016baa9
cmp dword [ecx + 4], 0
jle 0x1016baa9
push 0
mov edx, 0x940131c5
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016baa6
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016bab2
xor edx, edx
test ecx, ecx
je 0x1016badc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016bac0
cmp edi, 0x940131c5
je 0x1016bb07
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
inc edx
mov esi, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1016ba78
mov ebx, dword [ebp + 8]
mov eax, esi
mov dword [0x1036f688], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016bb23
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [0x1036f688], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016bb23
mov eax, dword [0x1036f688]
push dword [eax + ebx]
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1016be27
mov ecx, dword [0x10bbb620]
add ecx, 0x91761abb
xor ecx, 0xfd410b50
mov eax, dword [ecx + 0xb0]
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1037438c]
test al, 1
jne 0x1016bcac
or eax, 1
mov dword [0x1037438c], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016bbd4
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1016bbc9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016bba0
xor edx, edx
test ecx, ecx
je 0x1016bbc9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016bbb0
cmp edi, 0xf2f193b3
je 0x1016bbe7
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016bb88
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10374390], eax
jmp 0x1016bcb1
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x1016bc88
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016bc31
cmp dword [ecx + 4], 0
jle 0x1016bc31
push 0
mov edx, 0xa822535a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016bc2e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016bc40
xor edx, edx
test ecx, ecx
je 0x1016bc6c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016bc50
cmp edi, 0xa822535a
je 0x1016bc98
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
inc edx
mov esi, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1016bc00
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10374390], eax
jmp 0x1016bcb1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov dword [0x10374390], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1016bcb1
mov eax, dword [0x10374390]
mov ecx, dword [ebp - 0x20]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x1c]
call dword [ebp - 0x18]
mov dword [ebp + 0x1c], eax
test eax, eax
je 0x1016be27
mov ecx, dword [0x10370f90]
test cl, 1
jne 0x1016be1a
or ecx, 1
mov dword [0x10370f90], ecx
mov dword [ebp - 4], 6
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016bd44
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp + 8], eax
test eax, eax
je 0x1016bd39
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016bd13
xor edx, edx
test ecx, ecx
je 0x1016bd39
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016bd20
cmp edi, 0x54aff69
je 0x1016bd53
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016bd00
mov esi, dword [ebp + 0x1c]
xor eax, eax
mov dword [0x10370fa4], eax
jmp 0x1016bf66
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp + 0x14], esi
mov dword [ebp + 0xc], esi
cmp dword [eax + 4], esi
jle 0x1016bdf8
xor ecx, ecx
mov dword [ebp + 0x18], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016bda1
cmp dword [ecx + 4], 0
jle 0x1016bda1
push 0
mov edx, 0xa3316f9
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016bd9e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp + 0x14], esi
mov eax, dword [ebp + 8]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016bdb0
xor edx, edx
test ecx, ecx
je 0x1016bddc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016bdc0
cmp edi, 0xa3316f9
je 0x1016be07
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
inc edx
mov esi, dword [ebp + 0x14]
add ecx, 0x3c
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x18], ecx
cmp edx, dword [eax + 4]
jl 0x1016bd70
mov eax, esi
mov esi, dword [ebp + 0x1c]
mov dword [0x10370fa4], eax
jmp 0x1016bf66
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x1c]
mov dword [0x10370fa4], eax
jmp 0x1016bf66
mov eax, dword [0x10370fa4]
mov esi, dword [ebp + 0x1c]
jmp 0x1016bf66
mov eax, dword [0x10370f90]
test al, 1
jne 0x1016bf5e
or eax, 1
mov dword [0x10370f90], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1016be95
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1016be8a
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016be64
xor edx, edx
test ecx, ecx
je 0x1016be8a
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016be71
cmp edi, 0x54aff69
je 0x1016bea1
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1016be51
xor eax, eax
mov dword [0x10370fa4], eax
jmp 0x1016bf63
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x1016bf48
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
nop word [eax + eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1016bef1
cmp dword [ecx + 4], 0
jle 0x1016bef1
push 0
mov edx, 0xa3316f9
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1016beee
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1016bf00
xor edx, edx
test ecx, ecx
je 0x1016bf2c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1016bf10
cmp edi, 0xa3316f9
je 0x1016bf51
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
inc edx
mov esi, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1016bec0
mov eax, esi
mov dword [0x10370fa4], eax
jmp 0x1016bf63
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov dword [0x10370fa4], eax
jmp 0x1016bf63
mov eax, dword [0x10370fa4]
mov esi, dword [ebp + 8]
add esi, eax
mov ecx, 0x60
mov eax, dword [ebp - 0x10]
lea edi, [eax + 0xac]
rep movsb byte es:[edi], byte [esi]
mov byte [eax], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18