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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e6a67
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push esi
push edi
mov eax, dword [0x10285040]
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 [0x10b33e60]
add edx, 0x7a4232c8
xor edx, 0xfcb4fca8
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 [0x10320248]
test al, 1
jne 0x10061635
or eax, 1
mov dword [0x10320248], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x1006154e
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10061540
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061517
xor edx, edx
test ecx, ecx
je 0x10061540
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061524
cmp edi, 0x4e9f1122
je 0x10061564
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x10061504
mov esi, dword [ebp - 0x30]
xor eax, eax
mov dword [0x1031e94c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006163a
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10061608
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 0x100615b4
cmp dword [ecx + 4], 0
jle 0x100615b4
push 0
mov edx, 0xcc0d385b
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100615b1
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 0x100615c0
xor edx, edx
test ecx, ecx
je 0x100615ec
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100615d0
cmp edi, 0xcc0d385b
je 0x1006161b
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 0x10061580
mov esi, dword [ebp - 0x30]
mov eax, edi
mov dword [0x1031e94c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006163a
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x1031e94c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006163a
mov eax, dword [0x1031e94c]
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 0x10062a6a
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 [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
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 [0x10323384]
test al, 1
jne 0x100617db
or eax, 1
mov dword [0x10323384], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x1006170a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100616fc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100616d3
xor edx, edx
test ecx, ecx
je 0x100616fc
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100616e0
cmp edi, 0x22961f03
je 0x1006171d
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x100616c0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10323324], eax
jmp 0x100617e0
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x100617b4
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 0x1006176a
cmp dword [ecx + 4], 0
jle 0x1006176a
push 0
mov edx, 0xf6d89572
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10061767
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 0x10061773
xor edx, edx
test ecx, ecx
je 0x1006179c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061780
cmp edi, 0xf6d89572
je 0x100617c4
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 0x10061736
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10323324], eax
jmp 0x100617e0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [0x10323324], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100617e0
mov eax, dword [0x10323324]
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 0x10061af9
mov ecx, dword [0x1032359c]
test cl, 1
jne 0x1006194b
or ecx, 1
mov dword [0x1032359c], ecx
mov dword [ebp - 4], 2
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x1006187a
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1006186c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061840
xor edx, edx
test ecx, ecx
je 0x1006186c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061850
cmp edi, 0x72e242a1
je 0x1006188d
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x10061826
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10323340], eax
jmp 0x10061950
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10061924
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 0x100618da
cmp dword [ecx + 4], 0
jle 0x100618da
push 0
mov edx, 0x23393cbf
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100618d7
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 0x100618e3
xor edx, edx
test ecx, ecx
je 0x1006190c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100618f0
cmp edi, 0x23393cbf
je 0x10061934
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 0x100618a6
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10323340], eax
jmp 0x10061950
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x10323340], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061950
mov eax, dword [0x10323340]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
mov al, byte [ecx + eax]
mov byte [esi], al
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
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 [0x103201ac]
test al, 1
jne 0x10061ae5
or eax, 1
mov dword [0x103201ac], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
je 0x100619fa
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x100619ec
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100619c0
xor edx, edx
test ecx, ecx
je 0x100619ec
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100619d0
cmp edi, 0x4e9f1122
je 0x10061a10
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1031cd84]
jne 0x100619a7
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [0x1031e910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061aea
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10061ab8
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 0x10061a64
cmp dword [ecx + 4], 0
jle 0x10061a64
push 0
mov edx, 0x940131c5
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10061a61
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 0x10061a70
xor edx, edx
test ecx, ecx
je 0x10061a9c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061a80
cmp edi, 0x940131c5
je 0x10061acb
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 0x10061a30
mov ecx, dword [ebp - 0x28]
mov eax, edi
mov dword [0x1031e910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061aea
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x1031e910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061aea
mov eax, dword [0x1031e910]
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 [0x103235d8]
test al, 1
jne 0x10061c4f
or eax, 1
mov dword [0x103235d8], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
je 0x10061b6f
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10061b61
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061b38
xor edx, edx
test ecx, ecx
je 0x10061b61
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061b45
cmp edi, 0x54aff69
je 0x10061b82
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
jne 0x10061b25
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103235b8], eax
jmp 0x10061c54
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10061c28
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 0x10061bd4
cmp dword [ecx + 4], 0
jle 0x10061bd4
push 0
mov edx, 0x3775d33c
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10061bd1
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 0x10061be0
xor edx, edx
test ecx, ecx
je 0x10061c0c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061bf0
cmp edi, 0x3775d33c
je 0x10061c38
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 0x10061ba0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103235b8], eax
jmp 0x10061c54
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x103235b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061c54
mov eax, dword [0x103235b8]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 8], eax
mov eax, dword [0x103235f0]
test al, 1
jne 0x10061dc5
or eax, 1
mov dword [0x103235f0], eax
mov dword [ebp - 4], 5
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
je 0x10061cda
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10061ccc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061ca3
xor edx, edx
test ecx, ecx
je 0x10061ccc
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061cb0
cmp edi, 0x22961f03
je 0x10061cf0
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
jne 0x10061c90
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x103235ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061dca
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10061d98
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 0x10061d44
cmp dword [ecx + 4], 0
jle 0x10061d44
push 0
mov edx, 0x6930d720
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10061d41
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 0x10061d50
xor edx, edx
test ecx, ecx
je 0x10061d7c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061d60
cmp edi, 0x6930d720
je 0x10061dab
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 0x10061d10
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x103235ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061dca
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x103235ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061dca
mov eax, dword [0x103235ec]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0xc], eax
mov eax, dword [0x103235d4]
test al, 1
jne 0x10061f20
or eax, 1
mov dword [0x103235d4], eax
mov dword [ebp - 4], 6
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
je 0x10061e4a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10061e3c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061e13
xor edx, edx
test ecx, ecx
je 0x10061e3c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061e20
cmp edi, 0x22961f03
je 0x10061e66
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
jne 0x10061e00
xor eax, eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x103235c4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10061f28
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10061f08
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 0x10061eb4
cmp dword [ecx + 4], 0
jle 0x10061eb4
push 0
mov edx, 0x3222175
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10061eb1
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 0x10061ec0
xor edx, edx
test ecx, ecx
je 0x10061eec
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061ed0
cmp edi, 0x3222175
je 0x10061f12
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 0x10061e80
mov eax, edi
mov dword [ebp - 0x24], edi
jmp 0x10061e4f
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10061e4c
mov eax, dword [0x103235c4]
mov dword [ebp - 0x24], eax
mov eax, dword [eax + edx]
mov edx, dword [0x103235c8]
mov dword [ecx + 0x10], eax
test dl, 1
jne 0x10062080
or edx, 1
mov dword [0x103235c8], edx
mov dword [ebp - 4], 7
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
je 0x10061faa
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10061f9c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10061f73
xor edx, edx
test ecx, ecx
je 0x10061f9c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10061f80
cmp edi, 0x1eee87cc
je 0x10061fc7
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
jne 0x10061f60
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x103235c8]
mov dword [0x103235e4], ecx
jmp 0x10062089
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10062068
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 0x10062014
cmp dword [ecx + 4], 0
jle 0x10062014
push 0
mov edx, 0x996ac90a
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10062011
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 0x10062020
xor edx, edx
test ecx, ecx
je 0x1006204c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062030
cmp edi, 0x996ac90a
je 0x10062072
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 0x10061fe0
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x10061faf
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x10061fac
mov ecx, dword [0x103235e4]
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 0x10062120
or edx, 1
mov dword [0x103235c8], edx
mov dword [ebp - 4], 8
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
je 0x1006210e
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10062100
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100620d3
xor edx, edx
test ecx, ecx
je 0x10062100
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100620e0
cmp edi, 0x1eee87cc
je 0x100621c4
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
jne 0x100620c0
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [0x103235e4], 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 [0x103235d0]
test al, 1
jne 0x10062355
or eax, 1
mov dword [0x103235d0], eax
mov dword [ebp - 4], 9
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
je 0x100621ae
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x100621a0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10062170
xor edx, edx
test ecx, ecx
je 0x100621a0
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062180
cmp edi, 0x1eee87cc
je 0x10062280
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1031cd84]
jne 0x10062158
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x103235dc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006235a
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10062268
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 0x10062214
cmp dword [ecx + 4], 0
jle 0x10062214
push 0
mov edx, 0x996ac90a
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10062211
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 0x10062220
xor edx, edx
test ecx, ecx
je 0x1006224c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062230
cmp edi, 0x996ac90a
je 0x10062272
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 0x100621e0
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x10062113
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x10062110
mov ecx, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], edi
cmp dword [ecx + 4], edi
jle 0x10062328
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 0x100622d5
cmp dword [ecx + 4], 0
jle 0x100622d5
push 0
mov edx, 0x82735d4f
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100622d2
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 0x100622e0
xor edx, edx
test ecx, ecx
je 0x1006230c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100622f0
cmp edi, 0x82735d4f
je 0x1006233b
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 0x100622a0
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x103235dc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006235a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x20]
mov dword [0x103235dc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1006235a
mov eax, dword [0x103235dc]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0x18], eax
mov eax, dword [0x103235b4]
test al, 1
jne 0x100624ad
or eax, 1
mov dword [0x103235b4], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1031cd84]
je 0x100623da
nop
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x100623cc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100623a3
xor edx, edx
test ecx, ecx
je 0x100623cc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100623b0
cmp edi, 0x1eee87cc
je 0x100623f6
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1031cd84]
jne 0x10062390
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 4
mov edx, dword [ebp - 0x14]
mov dword [0x103235e8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100624b2
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x10062498
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 0x10062445
cmp dword [ecx + 4], 0
jle 0x10062445
push 0
mov edx, 0x82735d4f
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10062442
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 0x10062450
xor edx, edx
test ecx, ecx
je 0x1006247c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062460
cmp edi, 0x82735d4f
je 0x1006249f
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 0x10062410
mov eax, edi
jmp 0x100623dc
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x100623dc
mov eax, dword [0x103235e8]
mov eax, dword [eax + edx]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x103235bc]
test al, 1
jne 0x100625fd
or eax, 1
mov dword [0x103235bc], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1031cd84]
je 0x1006252e
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10062520
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100624f7
xor edx, edx
test ecx, ecx
je 0x10062520
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062504
cmp edi, 0x54aff69
je 0x10062547
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1031cd84]
jne 0x100624e4
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x103235c0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10062602
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x100625e8
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 0x10062594
cmp dword [ecx + 4], 0
jle 0x10062594
push 0
mov edx, 0xc77829f
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10062591
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 0x100625a0
xor edx, edx
test ecx, ecx
je 0x100625cc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100625b0
cmp edi, 0xc77829f
je 0x100625ef
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 0x10062560
mov eax, edi
jmp 0x10062530
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10062530
mov eax, dword [0x103235c0]
mov eax, dword [eax + edx]
mov dword [ecx + 0x20], eax
mov eax, dword [0x103235e0]
test al, 1
jne 0x1006274d
or eax, 1
mov dword [0x103235e0], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1031cd84]
je 0x1006267e
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10062670
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10062647
xor edx, edx
test ecx, ecx
je 0x10062670
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062654
cmp edi, 0x54aff69
je 0x1006269a
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1031cd84]
jne 0x10062634
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 0x30
mov edx, dword [ebp - 0x14]
mov dword [0x103235cc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10062752
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10062738
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 0x100626e7
cmp dword [ecx + 4], 0
jle 0x100626e7
push 0
mov edx, 0x3775d33c
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100626e4
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 0x100626f0
xor edx, edx
test ecx, ecx
je 0x1006271c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062700
cmp edi, 0x3775d33c
je 0x1006273f
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 0x100626b3
mov eax, edi
jmp 0x10062680
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x10062680
mov eax, dword [0x103235cc]
mov eax, dword [eax + edx]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x38], 0
je 0x10062a6a
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 0x10062a6a
mov eax, dword [0x103235c8]
test al, 1
jne 0x100628f5
or eax, 1
mov dword [0x103235c8], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1031cd84]
je 0x1006282c
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x1006281e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100627f5
xor edx, edx
test ecx, ecx
je 0x1006281e
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062802
cmp edi, 0x1eee87cc
je 0x10062840
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1031cd84]
jne 0x100627e2
xor edi, edi
mov dword [0x103235e4], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x100628f8
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1006282e
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 0x10062889
cmp dword [ecx + 4], 0
jle 0x10062889
push 0
mov edx, 0x996ac90a
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10062886
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 0x10062892
xor edx, edx
test ecx, ecx
je 0x100628bc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100628a0
cmp edi, 0x996ac90a
je 0x100628dd
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 0x1006282e
jmp 0x10062855
mov eax, dword [ebp - 0x38]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x103235e4], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x100628f8
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
cmp eax, dword [edi + ecx]
je 0x10062a6a
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 0x10062a6a
mov eax, dword [0x103235d4]
mov dword [edx + 0x10], ecx
test al, 1
jne 0x10062a61
or eax, 1
mov dword [0x103235d4], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1031cd84]
je 0x1006299c
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x1006298e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10062965
xor edx, edx
test ecx, ecx
je 0x1006298e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062972
cmp edi, 0x22961f03
je 0x100629ac
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1031cd84]
jne 0x10062952
xor edi, edi
mov ecx, dword [ebp - 0x34]
mov dword [0x103235c4], edi
jmp 0x10062a64
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1006299e
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 0x100629f5
cmp dword [ecx + 4], 0
jle 0x100629f5
push 0
mov edx, 0x3222175
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100629f2
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 0x10062a00
xor edx, edx
test ecx, ecx
je 0x10062a2c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10062a10
cmp edi, 0x3222175
je 0x10062a4d
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 0x1006299e
jmp 0x100629c1
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x103235c4], edi
jmp 0x10062a64
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