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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101cb605
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x10203360]
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 [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
cmp ebx, dword [eax + 0x14c]
jne 0x10146cd6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x28]
jmp 0x10146e0d
mov eax, dword [0x1029e3c0]
test al, 1
jne 0x10146e06
or eax, 1
mov dword [0x1029e3c0], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x10146d44
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10146d39
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10146d13
xor edx, edx
test ecx, ecx
je 0x10146d39
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10146d20
cmp edi, 0x1eee87cc
je 0x10146d5d
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x10146d00
xor eax, eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov dword [0x1029e3f4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10146e0b
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 4], esi
jle 0x10146df4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10146da7
cmp dword [ecx + 4], 0
jle 0x10146da7
push 0
mov edx, 0x559d81af
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10146da4
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 0x10146db0
xor edx, edx
test ecx, ecx
je 0x10146ddc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10146dc0
cmp edi, 0x559d81af
je 0x10146dfb
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 0x10146d76
mov eax, esi
jmp 0x10146d46
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10146d46
mov eax, dword [0x1029e3f4]
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 + 0x2970]
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 eax, dword [0x1029e3e4]
mov dword [esi + 4], 0x7ff00
test al, 1
jne 0x10146f86
or eax, 1
mov dword [0x1029e3e4], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x10146ec4
nop
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x10146eb9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10146e93
xor edx, edx
test ecx, ecx
je 0x10146eb9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10146ea0
cmp edi, 0x1eee87cc
je 0x10146edd
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x10146e80
xor eax, eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov dword [0x1029e3b0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10146f8b
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x10146f74
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10146f27
cmp dword [ecx + 4], 0
jle 0x10146f27
push 0
mov edx, 0x7fcb378d
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10146f24
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 0x10146f30
xor edx, edx
test ecx, ecx
je 0x10146f5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10146f40
cmp edi, 0x7fcb378d
je 0x10146f7b
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 0x10146ef6
mov eax, esi
jmp 0x10146ec6
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
jmp 0x10146ec6
mov eax, dword [0x1029e3b0]
mov eax, dword [eax + ebx]
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x10], eax
mov eax, dword [0x1029e3f8]
mov word [esi + 1], 0
mov byte [esi + 3], 1
test al, 1
jne 0x101470ee
or eax, 1
mov dword [0x1029e3f8], eax
mov dword [ebp - 4], 2
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x10147015
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1014700a
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10146fe4
xor edx, edx
test ecx, ecx
je 0x1014700a
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10146ff1
cmp esi, 0x54aff69
je 0x1014702b
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x10146fd1
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [0x1029e40c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101470f3
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x101470c4
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10147075
cmp dword [ecx + 4], 0
jle 0x10147075
push 0
mov edx, 0xa3316f9
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10147072
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
inc ecx
cmp byte [ecx + esi], 0
jne 0x10147080
xor edx, edx
test ecx, ecx
je 0x101470ac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10147090
cmp edi, 0xa3316f9
je 0x101470d7
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 0x10147044
mov ebx, dword [ebp + 8]
mov eax, esi
mov dword [0x1029e40c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101470f3
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [0x1029e40c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101470f3
mov eax, dword [0x1029e40c]
mov edi, dword [ebp - 0x10]
lea esi, [eax + ebx]
mov eax, dword [0x1029cb40]
add edi, 0x4c
mov ecx, 0x60
rep movsb byte es:[edi], byte [esi]
test al, 1
jne 0x10147252
or eax, 1
mov dword [0x1029cb40], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x10147174
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x10147169
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10147143
xor edx, edx
test ecx, ecx
je 0x10147169
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10147150
cmp edi, 0x72e242a1
je 0x1014718a
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x10147130
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [0x1029cb94], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10147257
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x10147228
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x101471d4
cmp dword [ecx + 4], 0
jle 0x101471d4
push 0
mov edx, 0xf3c2c786
call fcn.101146e0
add esp, 4
test eax, eax
je 0x101471d1
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 0x101471e0
xor edx, edx
test ecx, ecx
je 0x1014720c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101471f0
cmp edi, 0xf3c2c786
je 0x1014723b
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 0x101471a3
mov ebx, dword [ebp + 8]
mov eax, esi
mov dword [0x1029cb94], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10147257
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [0x1029cb94], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10147257
mov eax, dword [0x1029cb94]
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 [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1029e3ac]
test al, 1
jne 0x101473ce
or eax, 1
mov dword [0x1029e3ac], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x101472f9
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x101472ee
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101472c8
xor edx, edx
test ecx, ecx
je 0x101472ee
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101472d5
cmp edi, 0x4e9f1122
je 0x1014730f
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x101472b5
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101473d3
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x101473a4
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10147359
cmp dword [ecx + 4], 0
jle 0x10147359
push 0
mov edx, 0x940131c5
call fcn.101146e0
add esp, 4
test eax, eax
je 0x10147356
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 0x10147362
xor edx, edx
test ecx, ecx
je 0x1014738c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10147370
cmp edi, 0x940131c5
je 0x101473b7
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 0x10147328
mov ebx, dword [ebp + 8]
mov eax, esi
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101473d3
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101473d3
mov eax, dword [0x1029cb50]
push dword [eax + ebx]
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x101476d7
mov ecx, dword [0x105cbfb0]
add ecx, 0x4fd8cdb0
xor ecx, 0x91d5c6d7
mov eax, dword [ecx + 0xc8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [0x102a1814]
test al, 1
jne 0x1014755c
or eax, 1
mov dword [0x102a1814], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x10147484
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x10147479
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10147450
xor edx, edx
test ecx, ecx
je 0x10147479
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10147460
cmp edi, 0xf2f193b3
je 0x10147497
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x10147438
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a1818], eax
jmp 0x10147561
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x18], ebx
cmp dword [eax + 4], ebx
jle 0x10147538
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x101474e1
cmp dword [ecx + 4], 0
jle 0x101474e1
push 0
mov edx, 0xa822535a
call fcn.101146e0
add esp, 4
test eax, eax
je 0x101474de
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 0x14]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101474f0
xor edx, edx
test ecx, ecx
je 0x1014751c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x10147500
cmp ebx, 0xa822535a
je 0x10147548
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
inc edx
mov ebx, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x101474b0
mov eax, ebx
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a1818], eax
jmp 0x10147561
mov eax, dword [edi + 0x2c]
add eax, dword [ebp + 0xc]
mov dword [0x102a1818], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10147561
mov eax, dword [0x102a1818]
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 0x101476d7
mov ecx, dword [0x1029e3f8]
test cl, 1
jne 0x101476ca
or ecx, 1
mov dword [0x1029e3f8], ecx
mov dword [ebp - 4], 6
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x101475f4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp + 8], eax
test eax, eax
je 0x101475e9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101475c3
xor edx, edx
test ecx, ecx
je 0x101475e9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101475d0
cmp edi, 0x54aff69
je 0x10147603
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x101475b0
mov esi, dword [ebp + 0x1c]
xor eax, eax
mov dword [0x1029e40c], eax
jmp 0x10147816
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp + 0x14], esi
mov dword [ebp + 0xc], esi
cmp dword [eax + 4], esi
jle 0x101476a8
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 0x10147651
cmp dword [ecx + 4], 0
jle 0x10147651
push 0
mov edx, 0xa3316f9
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1014764e
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 0x10147660
xor edx, edx
test ecx, ecx
je 0x1014768c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10147670
cmp edi, 0xa3316f9
je 0x101476b7
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 0x10147620
mov eax, esi
mov esi, dword [ebp + 0x1c]
mov dword [0x1029e40c], eax
jmp 0x10147816
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x1c]
mov dword [0x1029e40c], eax
jmp 0x10147816
mov eax, dword [0x1029e40c]
mov esi, dword [ebp + 0x1c]
jmp 0x10147816
mov eax, dword [0x1029e3f8]
test al, 1
jne 0x1014780e
or eax, 1
mov dword [0x1029e3f8], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x10147745
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x1014773a
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10147714
xor edx, edx
test ecx, ecx
je 0x1014773a
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10147721
cmp edi, 0x54aff69
je 0x10147751
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x10147701
xor eax, eax
mov dword [0x1029e40c], eax
jmp 0x10147813
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x18], esi
cmp dword [eax + 4], esi
jle 0x101477f8
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 0x101477a1
cmp dword [ecx + 4], 0
jle 0x101477a1
push 0
mov edx, 0xa3316f9
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1014779e
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 0x101477b0
xor edx, edx
test ecx, ecx
je 0x101477dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101477c0
cmp edi, 0xa3316f9
je 0x10147801
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 0x10147770
mov eax, esi
mov dword [0x1029e40c], eax
jmp 0x10147813
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp + 0xc]
mov dword [0x1029e40c], eax
jmp 0x10147813
mov eax, dword [0x1029e40c]
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