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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101d60a7
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push esi
push edi
mov eax, dword [0x1021b380]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x30], esi
mov edx, dword [0x107001f0]
add edx, 0xd5bd03c9
xor edx, 0xde9a561b
mov eax, dword [edx + 0xc8]
mov dword [ebp - 0x1c], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 0x14c]
mov dword [ebp - 0x28], eax
mov eax, dword [0x102b7098]
test al, 1
jne 0x10060a65
or eax, 1
mov dword [0x102b7098], eax
mov dword [ebp - 4], 0
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x1006097e
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10060970
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10060947
xor edx, edx
test ecx, ecx
je 0x10060970
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060954
cmp edi, 0x4e9f1122
je 0x10060994
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10060934
mov esi, dword [ebp - 0x30]
xor eax, eax
mov dword [0x102b579c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060a6a
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10060a38
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100609e4
cmp dword [ecx + 4], 0
jle 0x100609e4
push 0
mov edx, 0xcc0d385b
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100609e1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100609f0
xor edx, edx
test ecx, ecx
je 0x10060a1c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060a00
cmp edi, 0xcc0d385b
je 0x10060a4b
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x100609b0
mov esi, dword [ebp - 0x30]
mov eax, edi
mov dword [0x102b579c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060a6a
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x102b579c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060a6a
mov eax, dword [0x102b579c]
mov ecx, dword [ebp - 0x28]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x1c]
call dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10061e9a
mov ecx, dword [ebp + 8]
mov edi, 0x96
mov ecx, dword [ecx + 4]
mov eax, ecx
cdq
idiv edi
add edx, 0x560
imul eax, edx, 0x2c
add eax, esi
mov dword [ebp - 0x10], eax
mov dword [eax + 4], ecx
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [0x102ba1d4]
test al, 1
jne 0x10060c0b
or eax, 1
mov dword [0x102ba1d4], eax
mov dword [ebp - 4], 1
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x10060b3a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10060b2c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10060b03
xor edx, edx
test ecx, ecx
je 0x10060b2c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060b10
cmp edi, 0x22961f03
je 0x10060b4d
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10060af0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba174], eax
jmp 0x10060c10
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10060be4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10060b9a
cmp dword [ecx + 4], 0
jle 0x10060b9a
push 0
mov edx, 0xf6d89572
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10060b97
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10060ba3
xor edx, edx
test ecx, ecx
je 0x10060bcc
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060bb0
cmp edi, 0xf6d89572
je 0x10060bf4
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10060b66
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba174], eax
jmp 0x10060c10
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [0x102ba174], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060c10
mov eax, dword [0x102ba174]
mov ecx, dword [ebp - 0x14]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x10060f29
mov ecx, dword [0x102ba3ec]
test cl, 1
jne 0x10060d7b
or ecx, 1
mov dword [0x102ba3ec], ecx
mov dword [ebp - 4], 2
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x10060caa
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10060c9c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10060c70
xor edx, edx
test ecx, ecx
je 0x10060c9c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060c80
cmp edi, 0x72e242a1
je 0x10060cbd
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10060c56
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba190], eax
jmp 0x10060d80
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10060d54
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10060d0a
cmp dword [ecx + 4], 0
jle 0x10060d0a
push 0
mov edx, 0x23393cbf
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10060d07
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10060d13
xor edx, edx
test ecx, ecx
je 0x10060d3c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060d20
cmp edi, 0x23393cbf
je 0x10060d64
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10060cd6
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba190], eax
jmp 0x10060d80
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102ba190], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060d80
mov eax, dword [0x102ba190]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
mov al, byte [ecx + eax]
mov byte [esi], al
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x2c], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x38], eax
mov eax, dword [0x102b6ffc]
test al, 1
jne 0x10060f15
or eax, 1
mov dword [0x102b6ffc], eax
mov dword [ebp - 4], 3
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
je 0x10060e2a
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10060e1c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10060df0
xor edx, edx
test ecx, ecx
je 0x10060e1c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060e00
cmp edi, 0x4e9f1122
je 0x10060e40
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x102b3e8c]
jne 0x10060dd7
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [0x102b5760], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060f1a
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10060ee8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10060e94
cmp dword [ecx + 4], 0
jle 0x10060e94
push 0
mov edx, 0x940131c5
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10060e91
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10060ea0
xor edx, edx
test ecx, ecx
je 0x10060ecc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060eb0
cmp edi, 0x940131c5
je 0x10060efb
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10060e60
mov ecx, dword [ebp - 0x28]
mov eax, edi
mov dword [0x102b5760], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060f1a
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102b5760], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10060f1a
mov eax, dword [0x102b5760]
push dword [ecx + eax]
mov ecx, dword [ebp - 0x2c]
call dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [0x102ba428]
test al, 1
jne 0x1006107f
or eax, 1
mov dword [0x102ba428], eax
mov dword [ebp - 4], 4
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
je 0x10060f9f
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10060f91
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10060f68
xor edx, edx
test ecx, ecx
je 0x10060f91
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10060f75
cmp edi, 0x54aff69
je 0x10060fb2
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
jne 0x10060f55
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba408], eax
jmp 0x10061084
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10061058
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10061004
cmp dword [ecx + 4], 0
jle 0x10061004
push 0
mov edx, 0x3775d33c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061001
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061010
xor edx, edx
test ecx, ecx
je 0x1006103c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061020
cmp edi, 0x3775d33c
je 0x10061068
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x10060fd0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba408], eax
jmp 0x10061084
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102ba408], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061084
mov eax, dword [0x102ba408]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 8], eax
mov eax, dword [0x102ba440]
test al, 1
jne 0x100611f5
or eax, 1
mov dword [0x102ba440], eax
mov dword [ebp - 4], 5
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
je 0x1006110a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x100610fc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100610d3
xor edx, edx
test ecx, ecx
je 0x100610fc
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100610e0
cmp edi, 0x22961f03
je 0x10061120
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
jne 0x100610c0
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x102ba43c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100611fa
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x100611c8
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10061174
cmp dword [ecx + 4], 0
jle 0x10061174
push 0
mov edx, 0x6930d720
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061171
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061180
xor edx, edx
test ecx, ecx
je 0x100611ac
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061190
cmp edi, 0x6930d720
je 0x100611db
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x10061140
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x102ba43c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100611fa
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102ba43c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100611fa
mov eax, dword [0x102ba43c]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0xc], eax
mov eax, dword [0x102ba424]
test al, 1
jne 0x10061350
or eax, 1
mov dword [0x102ba424], eax
mov dword [ebp - 4], 6
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
je 0x1006127a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1006126c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061243
xor edx, edx
test ecx, ecx
je 0x1006126c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061250
cmp edi, 0x22961f03
je 0x10061296
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
jne 0x10061230
xor eax, eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x102ba414], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061358
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10061338
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100612e4
cmp dword [ecx + 4], 0
jle 0x100612e4
push 0
mov edx, 0x3222175
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100612e1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100612f0
xor edx, edx
test ecx, ecx
je 0x1006131c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061300
cmp edi, 0x3222175
je 0x10061342
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x100612b0
mov eax, edi
mov dword [ebp - 0x24], edi
jmp 0x1006127f
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1006127c
mov eax, dword [0x102ba414]
mov dword [ebp - 0x24], eax
mov eax, dword [eax + edx]
mov edx, dword [0x102ba418]
mov dword [ecx + 0x10], eax
test dl, 1
jne 0x100614b0
or edx, 1
mov dword [0x102ba418], edx
mov dword [ebp - 4], 7
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
je 0x100613da
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x100613cc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100613a3
xor edx, edx
test ecx, ecx
je 0x100613cc
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100613b0
cmp edi, 0x1eee87cc
je 0x100613f7
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
jne 0x10061390
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x102ba418]
mov dword [0x102ba434], ecx
jmp 0x100614b9
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10061498
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10061444
cmp dword [ecx + 4], 0
jle 0x10061444
push 0
mov edx, 0x996ac90a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061441
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061450
xor edx, edx
test ecx, ecx
je 0x1006147c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061460
cmp edi, 0x996ac90a
je 0x100614a2
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10061410
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x100613df
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x100613dc
mov ecx, dword [0x102ba434]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov eax, dword [ecx + eax]
mov dword [esi + 0x14], eax
test dl, 1
jne 0x10061550
or edx, 1
mov dword [0x102ba418], edx
mov dword [ebp - 4], 8
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
je 0x1006153e
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10061530
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061503
xor edx, edx
test ecx, ecx
je 0x10061530
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061510
cmp edi, 0x1eee87cc
je 0x100615f4
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
jne 0x100614f0
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [0x102ba434], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ecx + eax]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [0x102ba420]
test al, 1
jne 0x10061785
or eax, 1
mov dword [0x102ba420], eax
mov dword [ebp - 4], 9
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
je 0x100615de
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x100615d0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100615a0
xor edx, edx
test ecx, ecx
je 0x100615d0
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100615b0
cmp edi, 0x1eee87cc
je 0x100616b0
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x102b3e8c]
jne 0x10061588
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x102ba42c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006178a
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10061698
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10061644
cmp dword [ecx + 4], 0
jle 0x10061644
push 0
mov edx, 0x996ac90a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061641
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061650
xor edx, edx
test ecx, ecx
je 0x1006167c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061660
cmp edi, 0x996ac90a
je 0x100616a2
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10061610
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x10061543
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x10061540
mov ecx, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], edi
cmp dword [ecx + 4], edi
jle 0x10061758
xor eax, eax
mov dword [ebp - 0x1c], eax
nop dword [eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x10061705
cmp dword [ecx + 4], 0
jle 0x10061705
push 0
mov edx, 0x82735d4f
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061702
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061710
xor edx, edx
test ecx, ecx
je 0x1006173c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061720
cmp edi, 0x82735d4f
je 0x1006176b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x1c], eax
cmp edx, dword [ecx + 4]
jl 0x100616d0
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x102ba42c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006178a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x20]
mov dword [0x102ba42c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006178a
mov eax, dword [0x102ba42c]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0x18], eax
mov eax, dword [0x102ba404]
test al, 1
jne 0x100618dd
or eax, 1
mov dword [0x102ba404], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x102b3e8c]
je 0x1006180a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x100617fc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100617d3
xor edx, edx
test ecx, ecx
je 0x100617fc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100617e0
cmp edi, 0x1eee87cc
je 0x10061826
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x102b3e8c]
jne 0x100617c0
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 4
mov edx, dword [ebp - 0x14]
mov dword [0x102ba438], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100618e2
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x100618c8
xor eax, eax
mov dword [ebp - 0x20], eax
nop
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x10061875
cmp dword [ecx + 4], 0
jle 0x10061875
push 0
mov edx, 0x82735d4f
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061872
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061880
xor edx, edx
test ecx, ecx
je 0x100618ac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061890
cmp edi, 0x82735d4f
je 0x100618cf
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
add eax, 0x3c
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], eax
cmp edx, dword [ecx + 4]
jl 0x10061840
mov eax, edi
jmp 0x1006180c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1006180c
mov eax, dword [0x102ba438]
mov eax, dword [eax + edx]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x102ba40c]
test al, 1
jne 0x10061a2d
or eax, 1
mov dword [0x102ba40c], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x102b3e8c]
je 0x1006195e
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10061950
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061927
xor edx, edx
test ecx, ecx
je 0x10061950
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061934
cmp edi, 0x54aff69
je 0x10061977
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x102b3e8c]
jne 0x10061914
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x102ba410], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061a32
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10061a18
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100619c4
cmp dword [ecx + 4], 0
jle 0x100619c4
push 0
mov edx, 0xc77829f
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100619c1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100619d0
xor edx, edx
test ecx, ecx
je 0x100619fc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100619e0
cmp edi, 0xc77829f
je 0x10061a1f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x10061990
mov eax, edi
jmp 0x10061960
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10061960
mov eax, dword [0x102ba410]
mov eax, dword [eax + edx]
mov dword [ecx + 0x20], eax
mov eax, dword [0x102ba430]
test al, 1
jne 0x10061b7d
or eax, 1
mov dword [0x102ba430], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x102b3e8c]
je 0x10061aae
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10061aa0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061a77
xor edx, edx
test ecx, ecx
je 0x10061aa0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061a84
cmp edi, 0x54aff69
je 0x10061aca
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x102b3e8c]
jne 0x10061a64
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 0x30
mov edx, dword [ebp - 0x14]
mov dword [0x102ba41c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061b82
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10061b68
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10061b17
cmp dword [ecx + 4], 0
jle 0x10061b17
push 0
mov edx, 0x3775d33c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061b14
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061b20
xor edx, edx
test ecx, ecx
je 0x10061b4c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061b30
cmp edi, 0x3775d33c
je 0x10061b6f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x10061ae3
mov eax, edi
jmp 0x10061ab0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10061ab0
mov eax, dword [0x102ba41c]
mov eax, dword [eax + edx]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x38], 0
je 0x10061e9a
mov esi, dword [eax + 4]
mov eax, 0x1b4e81b5
dec esi
imul esi
mov ecx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x96
sub ecx, eax
add ecx, 0x560
imul eax, ecx, 0x2c
add eax, dword [ebp - 0x30]
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [eax]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [eax + 0x20]
psrldq xmm1, 4
movd eax, xmm1
movq qword [ebp - 0x44], xmm0
cmp eax, esi
jne 0x10061e9a
mov eax, dword [0x102ba418]
test al, 1
jne 0x10061d25
or eax, 1
mov dword [0x102ba418], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x10061c5c
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x10061c4e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061c25
xor edx, edx
test ecx, ecx
je 0x10061c4e
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061c32
cmp edi, 0x1eee87cc
je 0x10061c70
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10061c12
xor edi, edi
mov dword [0x102ba434], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x10061d28
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10061c5e
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10061cb9
cmp dword [ecx + 4], 0
jle 0x10061cb9
push 0
mov edx, 0x996ac90a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061cb6
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp + 8]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061cc2
xor edx, edx
test ecx, ecx
je 0x10061cec
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061cd0
cmp edi, 0x996ac90a
je 0x10061d0d
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jge 0x10061c5e
jmp 0x10061c85
mov eax, dword [ebp - 0x38]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x102ba434], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x10061d28
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
cmp eax, dword [edi + ecx]
je 0x10061e9a
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x10]
inc ecx
and ecx, 7
mov dword [ebp - 0x34], ecx
lea eax, [ecx + 1]
and eax, 7
cmp eax, dword [edx + 0x10]
jne 0x10061e9a
mov eax, dword [0x102ba424]
mov dword [edx + 0x10], ecx
test al, 1
jne 0x10061e91
or eax, 1
mov dword [0x102ba424], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
je 0x10061dcc
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x10061dbe
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061d95
xor edx, edx
test ecx, ecx
je 0x10061dbe
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061da2
cmp edi, 0x22961f03
je 0x10061ddc
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x102b3e8c]
jne 0x10061d82
xor edi, edi
mov ecx, dword [ebp - 0x34]
mov dword [0x102ba414], edi
jmp 0x10061e94
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10061dce
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10061e25
cmp dword [ecx + 4], 0
jle 0x10061e25
push 0
mov edx, 0x3222175
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10061e22
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp + 8]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10061e30
xor edx, edx
test ecx, ecx
je 0x10061e5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061e40
cmp edi, 0x3222175
je 0x10061e7d
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jge 0x10061dce
jmp 0x10061df1
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x102ba414], edi
jmp 0x10061e94
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [edi + eax], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4