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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102305e1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x78
mov eax, dword [0x102d5080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10136478
mov eax, dword [0x10373c4c]
test al, 1
jne 0x10135605
or eax, 1
mov dword [0x10373c4c], eax
mov dword [ebp - 4], 0
mov eax, dword [0x10371278]
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1037127c]
je 0x1013551a
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x1013550c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101354e3
xor edx, edx
test ecx, ecx
je 0x1013550c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101354f0
cmp edi, 0x4e9f1122
je 0x10135530
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1037127c]
jne 0x101354d0
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov dword [0x10373c50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013560a
mov eax, dword [ebp - 0x28]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
cmp dword [eax + 4], edi
jle 0x101355d8
xor ecx, ecx
mov dword [ebp - 0x2c], 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 0x10135584
cmp dword [ecx + 4], 0
jle 0x10135584
push 0
mov edx, 0x1c93bcf0
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10135581
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x28]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135590
xor edx, edx
test ecx, ecx
je 0x101355bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101355a0
cmp edi, 0x1c93bcf0
je 0x101355eb
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10135550
mov ecx, dword [ebp - 0x24]
mov eax, edi
mov dword [0x10373c50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013560a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x20]
mov dword [0x10373c50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013560a
mov eax, dword [0x10373c50]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x30], eax
mov eax, dword [0x1037556c]
test al, 1
jne 0x10135775
or eax, 1
mov dword [0x1037556c], eax
mov dword [ebp - 4], 1
mov eax, dword [0x10371278]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
je 0x1013568a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1013567c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135653
xor edx, edx
test ecx, ecx
je 0x1013567c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135660
cmp edi, 0x72e242a1
je 0x101356a0
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
jne 0x10135640
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov dword [0x1037552c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013577a
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10135748
xor ecx, ecx
mov dword [ebp - 0x1c], 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 0x101356f4
cmp dword [ecx + 4], 0
jle 0x101356f4
push 0
mov edx, 0x84cdad2
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101356f1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], 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 0x10135700
xor edx, edx
test ecx, ecx
je 0x1013572c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135710
cmp edi, 0x84cdad2
je 0x1013575b
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x101356c0
mov ecx, dword [ebp - 0x24]
mov eax, edi
mov dword [0x1037552c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013577a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x28]
mov dword [0x1037552c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013577a
mov eax, dword [0x1037552c]
cmp dword [ebp - 0x30], 2
je 0x10136478
cmp dword [ecx + eax], 0
jle 0x10136478
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x10136478
mov edx, dword [0x10373c90]
test dl, 1
jne 0x101358fd
or edx, 1
mov dword [0x10373c90], edx
mov dword [ebp - 4], 2
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x1013582a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1013581c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101357f3
xor edx, edx
test ecx, ecx
je 0x1013581c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135800
cmp edi, 0xcd2ed041
je 0x10135847
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x101357e0
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10373c90]
mov dword [0x10375574], ecx
jmp 0x10135903
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x101358e8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10135894
cmp dword [ecx + 4], 0
jle 0x10135894
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10135891
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], 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 0x101358a0
xor edx, edx
test ecx, ecx
je 0x101358cc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101358b0
cmp edi, 0xa2ccb41a
je 0x101358ef
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10135860
mov ecx, edi
jmp 0x1013582c
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x28]
jmp 0x1013582c
mov ecx, dword [0x10375574]
movzx eax, word [eax + ecx]
cmp ax, 0xb
je 0x10135917
mov byte [ebp - 0x39], 0
cmp ax, 0x26
jne 0x1013591b
mov byte [ebp - 0x39], 1
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x38], eax
test dl, 1
jne 0x101359c6
or edx, 1
mov dword [0x10373c90], edx
mov dword [ebp - 4], 3
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x101359ae
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x101359a0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135973
xor edx, edx
test ecx, ecx
je 0x101359a0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135980
cmp edi, 0xcd2ed041
je 0x10135b47
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x10135960
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10373c90]
mov dword [0x10375574], ecx
movzx eax, word [eax + ecx]
cmp ax, 1
je 0x101359da
mov byte [ebp - 0x3a], 0
cmp ax, 0x40
jne 0x101359de
mov byte [ebp - 0x3a], 1
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x1c], eax
test dl, 1
jne 0x10135a80
or edx, 1
mov dword [0x10373c90], edx
mov dword [ebp - 4], 4
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x10135a6e
nop
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10135a60
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135a33
xor edx, edx
test ecx, ecx
je 0x10135a60
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135a40
cmp edi, 0xcd2ed041
je 0x10135bfd
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x10135a20
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [0x10375574], ecx
movzx esi, word [eax + ecx]
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x10135d90
cmp dword [eax + 0xc8], 1
jne 0x10135d90
mov eax, dword [0x10373c90]
test al, 1
jne 0x10135d71
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 5
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x10135b33
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10135b25
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135af8
xor edx, edx
test ecx, ecx
je 0x10135b25
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135b05
cmp edi, 0xcd2ed041
je 0x10135cad
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x10135ae5
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x10375574], ecx
jmp 0x10135d77
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10135be8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10135b94
cmp dword [ecx + 4], 0
jle 0x10135b94
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10135b91
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], 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 0x10135ba0
xor edx, edx
test ecx, ecx
je 0x10135bcc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135bb0
cmp edi, 0xa2ccb41a
je 0x10135bef
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10135b60
mov ecx, edi
jmp 0x101359b0
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x28]
jmp 0x101359b0
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10135c98
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10135c4a
cmp dword [ecx + 4], 0
jle 0x10135c4a
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10135c47
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135c53
xor edx, edx
test ecx, ecx
je 0x10135c7c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135c60
cmp edi, 0xa2ccb41a
je 0x10135c9f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10135c16
mov ecx, edi
jmp 0x10135a70
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x28]
jmp 0x10135a70
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10135d48
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10135cfa
cmp dword [ecx + 4], 0
jle 0x10135cfa
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10135cf7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135d03
xor edx, edx
test ecx, ecx
je 0x10135d2c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135d10
cmp edi, 0xa2ccb41a
je 0x10135d59
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10135cc6
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10375574], ecx
jmp 0x10135d77
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x28]
mov dword [0x10375574], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10135d77
mov ecx, dword [0x10375574]
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + ecx]
cmp ax, 1
je 0x10135d96
cmp ax, 0x40
je 0x10135d96
mov byte [ebp - 0x31], 1
jmp 0x10135d9a
mov ecx, dword [0x10375574]
mov byte [ebp - 0x31], 0
mov eax, dword [0x10bbf240]
mov edx, dword [0x10373c90]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x38], eax
test dl, 1
jne 0x10135e47
or edx, 1
mov dword [0x10373c90], edx
mov dword [ebp - 4], 6
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x10135e2f
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10135e21
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135df4
xor edx, edx
test ecx, ecx
je 0x10135e21
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135e01
cmp edi, 0xcd2ed041
je 0x10136091
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x10135de1
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10373c90]
mov dword [0x10375574], ecx
cmp word [eax + ecx], 0x28
mov eax, dword [0x10bbf240]
sete byte [ebp - 0x3b]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x38], eax
test dl, 1
jne 0x10135ef7
or edx, 1
mov dword [0x10373c90], edx
mov dword [ebp - 4], 7
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x10135edf
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10135ed1
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135ea4
xor edx, edx
test ecx, ecx
je 0x10135ed1
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135eb1
cmp edi, 0xcd2ed041
je 0x1013614d
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x10135e91
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10373c90]
mov dword [0x10375574], ecx
cmp word [eax + ecx], 9
mov eax, dword [0x10bbf240]
sete byte [ebp - 0x3c]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x38], eax
test dl, 1
jne 0x10135fa1
or edx, 1
mov dword [0x10373c90], edx
mov dword [ebp - 4], 8
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x10135f8f
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10135f81
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10135f54
xor edx, edx
test ecx, ecx
je 0x10135f81
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10135f61
cmp edi, 0xcd2ed041
je 0x101361fd
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x10135f41
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov dword [0x10375574], ecx
mov dword [ebp - 4], 0xffffffff
movzx esi, word [eax + ecx]
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
mov al, byte [ebp - 0x39]
mov byte [ebp - 0x1b], al
mov al, byte [ebp - 0x3a]
mov byte [ebp - 0x1a], al
mov al, byte [ebp - 0x31]
mov byte [ebp - 0x19], al
mov al, byte [ebp - 0x3b]
mov byte [ebp - 0x18], al
mov al, byte [ebp - 0x3c]
mov byte [ebp - 0x17], al
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
mov byte [ebp - 0x1c], 0
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10373c90]
test al, 1
jne 0x1013636f
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 9
mov eax, dword [0x10371278]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
je 0x1013607e
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10136070
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10136043
xor edx, edx
test ecx, ecx
je 0x10136070
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10136050
cmp edi, 0xcd2ed041
je 0x101362a9
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1037127c]
jne 0x10136030
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10375574], eax
jmp 0x10136374
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10136138
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101360e4
cmp dword [ecx + 4], 0
jle 0x101360e4
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101360e1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], 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 0x101360f0
xor edx, edx
test ecx, ecx
je 0x1013611c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10136100
cmp edi, 0xa2ccb41a
je 0x1013613f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x101360b0
mov ecx, edi
jmp 0x10135e31
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x28]
jmp 0x10135e31
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x101361e8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013619a
cmp dword [ecx + 4], 0
jle 0x1013619a
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10136197
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101361a3
xor edx, edx
test ecx, ecx
je 0x101361cc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101361b0
cmp edi, 0xa2ccb41a
je 0x101361ef
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10136166
mov ecx, edi
jmp 0x10135ee1
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x28]
jmp 0x10135ee1
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10136294
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013624a
cmp dword [ecx + 4], 0
jle 0x1013624a
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10136247
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10136253
xor edx, edx
test ecx, ecx
je 0x1013627c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10136260
cmp edi, 0xa2ccb41a
je 0x1013629b
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10136216
mov ecx, edi
jmp 0x10135f91
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x28]
jmp 0x10135f91
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10136348
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101362f6
cmp dword [ecx + 4], 0
jle 0x101362f6
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x101362f3
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x28], 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 0x10136300
xor edx, edx
test ecx, ecx
je 0x1013632c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10136310
cmp edi, 0xa2ccb41a
je 0x10136358
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x101362c2
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10375574], eax
jmp 0x10136374
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x28]
mov dword [0x10375574], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10136374
mov eax, dword [0x10375574]
mov ecx, dword [ebp - 0x38]
movzx eax, word [ecx + eax]
mov edi, eax
mov esi, eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x101363e9
cmp di, 0x1f
jne 0x101363e9
mov eax, dword [ebx + 8]
movups xmm0, xmmword [0x102bbcd8]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x102bbce8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x102bbcf8]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x102bbd08]
movups xmmword [eax + 0x30], xmm0
movq xmm0, qword [0x102bbd18]
movq qword [eax + 0x40], xmm0
jmp 0x101364d9
mov eax, 1
mov ecx, 0x10358a00
cmp byte [ebp + eax - 0x1c], 0
je 0x101363ff
cmp byte [ecx], 0
jne 0x1013644b
add ecx, 0x48
inc eax
cmp ecx, 0x10358b68
jl 0x101363f3
mov eax, dword [ebx + 8]
movups xmm0, xmmword [0x103589b8]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x103589c8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x103589d8]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x103589e8]
movups xmmword [eax + 0x30], xmm0
movq xmm0, qword [0x103589f8]
movq qword [eax + 0x40], xmm0
jmp 0x101364d9
mov eax, dword [ebx + 8]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax + 0x30], xmm0
movq xmm0, qword [ecx + 0x40]
movq qword [eax + 0x40], xmm0
jmp 0x101364d9
movaps xmm0, xmmword [0x102bdfe0]
xorps xmm1, xmm1
mov eax, dword [ebx + 8]
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x88], 0
movaps xmm0, xmmword [0x102bdc00]
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x64], 0
movups xmm0, xmmword [ebp - 0x88]
mov dword [ebp - 0x60], 3
mov dword [ebp - 0x5c], 0
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0x78]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x68]
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x30], xmm1
movq qword [eax + 0x40], xmm1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101f36c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret