Function at 0x1370030
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xdb903f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2e8
push ebx
push esi
push edi
mov dword [ebp - 4], 0
lea esi, [ebp + 8]
cmp dword [ebp + 0x1c], 0x10
mov dword [ebp - 0x194], 0
jb 0x137006e
mov esi, dword [ebp + 8]
push 0xde54a0
call fcn.01402a32
add esp, 4
test eax, eax
jne 0x1371cf3
test esi, esi
je 0x13700ad
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370090
sub ecx, edx
je 0x13700ad
push esi
call dword [0xdbd098]
cmp eax, 0xffffffff
jne 0x13700ad
call dword [0xdbd094]
push 0xde54a0
call fcn.01402a43
add esp, 4
cmp byte [0xde53a8], 2
jne 0x1371cb2
lea eax, [ebp - 0x190]
mov ecx, 0xde53a8
push eax
call fcn.0138c2a0
mov edx, ecx
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x180], edx
movzx eax, byte [edx]
mov ecx, eax
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0x80000000
sub ecx, 1
je 0x1370159
sub ecx, 1
je 0x137014b
mov dword [ebp - 0x174], 0x80000000
sub eax, 1
je 0x1370159
sub eax, 1
je 0x137014b
mov dword [ebp - 0x174], 1
jmp 0x1370164
mov eax, dword [edx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x178], eax
jmp 0x1370164
mov eax, dword [edx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x190]
call fcn.0138b700
test al, al
je 0x1371cb2
mov ebx, dword [0xdbd310]
lea ecx, [ebp - 0x190]
call fcn.0138b810
mov esi, eax
mov dword [ebp - 0x25], 0x878d95ad
mov dword [ebp - 0x21], 0x859d81bc
xor ecx, ecx
mov dword [ebp - 0x1d], 0x839d9882
mov dword [ebp - 0x19], 0x9e8284
mov byte [ebp - 0x15], 1
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x25], al
inc ecx
cmp ecx, 0xf
jb 0x13701b3
lea eax, [ebp - 0x25]
mov byte [ebp - 0x15], 0
push eax
mov ecx, esi
call fcn.01392840
lea ecx, [ebp - 0x1d0]
push ecx
mov ecx, eax
call fcn.01392970
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x100], 0x878d95ad
mov dword [ebp - 0xfc], 0x8a8c82bc
mov dword [ebp - 0xf8], 0x1009b82
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x100], al
inc ecx
cmp ecx, 0xa
jb 0x1370202
lea eax, [ebp - 0x100]
mov byte [ebp - 0xf5], 0
push eax
mov ecx, esi
call fcn.01392840
lea ecx, [ebp - 0x1ac]
push ecx
mov ecx, eax
call fcn.01392970
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x14b], 0x878d95ad
mov dword [ebp - 0x147], 0x8a8a82bc
mov dword [ebp - 0x143], 0x9b8d83
mov byte [ebp - 0x13f], 1
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0xb
jb 0x1370261
lea eax, [ebp - 0x14b]
mov byte [ebp - 0x13f], 0
push eax
mov ecx, esi
call fcn.01392840
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.01392970
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x159], 0x878d95ad
mov dword [ebp - 0x155], 0x9c8c97bc
mov dword [ebp - 0x151], 0x8882b782
mov word [ebp - 0x14d], 0x100
nop
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x159], al
inc ecx
cmp ecx, 0xc
jb 0x13702c0
lea eax, [ebp - 0x159]
mov byte [ebp - 0x14c], 0
push eax
mov ecx, esi
call fcn.01392840
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.01392970
cmp dword [eax + 0x14], 0x10
jb 0x13702f9
mov eax, dword [eax]
push eax
call fcn.01411018
mov ecx, dword [ebp - 0x38]
add esp, 4
mov dword [ebp - 0x160], eax
cmp ecx, 0x10
jb 0x137033c
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1370332
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 0x2a], 0x878d95ad
xor ecx, ecx
mov dword [ebp - 0x26], 0x8a8a87bc
mov dword [ebp - 0x22], 0x9e8a8d8b
mov dword [ebp - 0x1e], 0x8d889eb4
mov dword [ebp - 0x1a], 0x8482829a
mov word [ebp - 0x16], 0x100
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x2a], al
inc ecx
cmp ecx, 0x14
jb 0x1370367
lea eax, [ebp - 0x2a]
mov byte [ebp - 0x15], 0
push eax
mov ecx, esi
call fcn.01392840
cmp byte [eax], 4
jne 0x1371cf9
mov al, byte [eax + 8]
lea ecx, [ebp - 0x97]
sub esp, 0x18
mov byte [ebp - 0x71], al
mov edx, esp
mov word [ebp - 0x97], 0x3a
xor eax, eax
mov byte [ebp - 0x95], 0
mov dword [ebp - 0x78], esp
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13703c7
sub ecx, esi
lea eax, [ebp - 0x97]
push ecx
push eax
mov ecx, edx
call fcn.013282e0
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1d0]
mov ecx, esp
push eax
call fcn.0138e990
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 3
call fcn.013302a0
add esp, 0x30
mov byte [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x70], 0x100c0f3
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 2
jb 0x1370413
sub esp, 0x18
mov byte [ebp - 0x6d], 0
mov edx, esp
mov dword [ebp - 0x78], esp
xor eax, eax
lea ecx, [ebp - 0x70]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370446
sub ecx, esi
lea eax, [ebp - 0x70]
push ecx
push eax
mov ecx, edx
call fcn.013282e0
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1ac]
mov ecx, esp
push eax
call fcn.0138e990
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 7
call fcn.013302a0
add esp, 0x30
mov byte [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0xb9], 0xb1a4a4fa
mov dword [ebp - 0xb5], 0xb6aab0a8
mov word [ebp - 0xb1], 0xc2
mov byte [ebp - 0xaf], 1
lea esp, [esp]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xb9], al
inc ecx
cmp ecx, 9
jb 0x13704b0
lea ecx, [ebp - 0xb9]
mov byte [ebp - 0xaf], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13704d1
sub ecx, edx
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
jb 0x13704e6
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0xb9]
push ecx
push 0
mov ecx, eax
call fcn.01393fe0
add esp, 0xc
test eax, eax
jne 0x1370769
push 0x104
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.01405710
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
push 0
push 0
push 0
push 0
call ebx
xor eax, eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370548
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0xc4], 0xb1a4a4fa
mov dword [ebp - 0xc0], 0xb6aab0a8
mov word [ebp - 0xbc], 0xc2
mov byte [ebp - 0xba], 1
jmp 0x1370590
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xc4], al
inc ecx
cmp ecx, 9
jb 0x1370590
xor eax, eax
mov byte [ebp - 0xba], 0
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13705c5
sub ecx, edx
lea eax, [ebp - 0xc4]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0xb
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
cmp edi, 0x10
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], esi
setae byte [ebp - 0xd]
mov dword [ebp - 0x14], edx
jb 0x13705ff
mov esi, edx
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x34], ecx
jb 0x1370611
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
cmp ebx, eax
ja 0x13706f6
sub eax, ebx
test ebx, ebx
jne 0x137062c
xor edi, edi
jmp 0x13706d6
movsx edx, byte [esi]
inc eax
add eax, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x13706f0
nop
mov edx, esi
mov ecx, edi
mov esi, ebx
sub esi, 4
jb 0x1370671
jmp 0x1370660
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1370676
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1370660
cmp esi, 0xfffffffc
je 0x13706aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x13706a3
cmp esi, 0xfffffffd
je 0x13706aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x13706a3
cmp esi, 0xfffffffe
je 0x13706aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x13706a3
cmp esi, 0xffffffff
je 0x13706aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x13706aa
sbb eax, eax
or eax, 1
jmp 0x13706ac
xor eax, eax
test eax, eax
je 0x13706ce
mov eax, dword [ebp - 0x54]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x50]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x30]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1370650
jmp 0x13706f0
sub edi, dword [ebp - 0x34]
cmp edi, 0xffffffff
je 0x13706f0
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
jb 0x13706e2
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
push eax
push ebx
push edi
call fcn.01391000
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0xa
je 0x137072b
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1370721
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1370763
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1370759
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov ebx, dword [0xdbd310]
mov dword [ebp - 0xe7], 0xa1aea4fa
xor ecx, ecx
mov dword [ebp - 0xe3], 0xa8a0a9b6
mov dword [ebp - 0xdf], 0xccbbb3
mov byte [ebp - 0xdb], 1
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xe7], al
inc ecx
cmp ecx, 0xb
jb 0x1370790
lea ecx, [ebp - 0xe7]
mov byte [ebp - 0xdb], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13707b1
sub ecx, edx
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
jb 0x13707c6
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0xe7]
push ecx
push 0
mov ecx, eax
call fcn.01393fe0
add esp, 0xc
test eax, eax
jne 0x1370a43
push 0x104
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.01405710
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
push 0
push 0
push 5
push 0
call ebx
xor eax, eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370828
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0xc
xor ecx, ecx
mov dword [ebp - 0xf4], 0xa1aea4fa
mov dword [ebp - 0xf0], 0xa8a0a9b6
mov dword [ebp - 0xec], 0xccbbb3
mov byte [ebp - 0xe8], 1
lea esp, [esp]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xf4], al
inc ecx
cmp ecx, 0xb
jb 0x1370870
xor eax, eax
mov byte [ebp - 0xe8], 0
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13708a5
sub ecx, edx
lea eax, [ebp - 0xf4]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0xd
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
cmp edi, 0x10
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], esi
setae byte [ebp - 0xd]
mov dword [ebp - 0x14], edx
jb 0x13708df
mov esi, edx
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
jb 0x13708f1
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
cmp ebx, eax
ja 0x13709d6
sub eax, ebx
test ebx, ebx
jne 0x137090c
xor edi, edi
jmp 0x13709b6
movsx edx, byte [esi]
inc eax
add eax, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x13709d0
nop
mov edx, esi
mov ecx, edi
mov esi, ebx
sub esi, 4
jb 0x1370951
jmp 0x1370940
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1370956
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1370940
cmp esi, 0xfffffffc
je 0x137098a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1370983
cmp esi, 0xfffffffd
je 0x137098a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1370983
cmp esi, 0xfffffffe
je 0x137098a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1370983
cmp esi, 0xffffffff
je 0x137098a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x137098a
sbb eax, eax
or eax, 1
jmp 0x137098c
xor eax, eax
test eax, eax
je 0x13709ae
mov eax, dword [ebp - 0x54]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x50]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x34]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1370930
jmp 0x13709d0
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x13709d0
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
jb 0x13709c2
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
push eax
push ebx
push edi
call fcn.01391000
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0xc
je 0x1370a0b
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1370a01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1370a43
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1370a39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 0x10f], 0xa7b2b5fa
xor ecx, ecx
mov dword [ebp - 0x10b], 0xa9b7b4b1
mov dword [ebp - 0x107], 0xafa5a1a1
mov word [ebp - 0x103], 0xce
mov byte [ebp - 0x101], 1
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x10f], al
inc ecx
cmp ecx, 0xd
jb 0x1370a73
lea ecx, [ebp - 0x10f]
mov byte [ebp - 0x101], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370a94
sub ecx, edx
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
jb 0x1370aa9
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x10f]
push ecx
push 0
mov ecx, eax
call fcn.01393fe0
add esp, 0xc
test eax, eax
jne 0x1370c70
push 0x104
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.01405710
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
push 0
push 0
push 0x28
push 0
call dword [0xdbd310]
xor eax, eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370b10
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x11e], 0xa7b2b5fa
mov dword [ebp - 0x11a], 0xa9b7b4b1
mov dword [ebp - 0x116], 0xafa5a1a1
mov word [ebp - 0x112], 0xce
mov byte [ebp - 0x110], 1
lea ecx, [ecx]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x11e], al
inc ecx
cmp ecx, 0xd
jb 0x1370b60
xor eax, eax
mov byte [ebp - 0x110], 0
lea ecx, [ebp - 0x11e]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370b95
sub ecx, edx
lea eax, [ebp - 0x11e]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
cmp edi, 0x10
mov esi, dword [ebp - 0x2c]
setae byte [ebp - 0xd]
jb 0x1370bc6
mov eax, esi
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
jb 0x1370bd2
mov ecx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x5c]
push ebx
push eax
push 0
call fcn.01393fe0
add esp, 0xc
cmp eax, 0xffffffff
je 0x1370c03
cmp dword [ebp - 0x38], 0x10
lea ecx, [ebp - 0x4c]
jb 0x1370bf5
mov ecx, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
push ecx
push ebx
push eax
lea ecx, [ebp - 0x6c]
call fcn.01391000
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0xe
je 0x1370c38
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x1370c2e
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push esi
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1370c70
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1370c66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 0xcf], 0xb2b1a1fa
xor ecx, ecx
mov dword [ebp - 0xcb], 0xa7b1a5a7
mov word [ebp - 0xc7], 0xc2
mov byte [ebp - 0xc5], 1
jmp 0x1370ca0
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xcf], al
inc ecx
cmp ecx, 9
jb 0x1370ca0
lea ecx, [ebp - 0xcf]
mov byte [ebp - 0xc5], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370cc1
sub ecx, edx
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
jb 0x1370cd6
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0xcf]
push ecx
push 0
mov ecx, eax
call fcn.01393fe0
add esp, 0xc
test eax, eax
jne 0x1370f53
push 0x104
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.01405710
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
push 0
push 0
push 0x1a
push 0
call dword [0xdbd310]
xor eax, eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370d40
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0xda], 0xb2b1a1fa
mov dword [ebp - 0xd6], 0xa7b1a5a7
mov word [ebp - 0xd2], 0xc2
mov byte [ebp - 0xd0], 1
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xda], al
inc ecx
cmp ecx, 9
jb 0x1370d83
xor eax, eax
mov byte [ebp - 0xd0], 0
lea ecx, [ebp - 0xda]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370db8
sub ecx, edx
lea eax, [ebp - 0xda]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0x11
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
cmp edi, 0x10
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], esi
setae byte [ebp - 0xd]
mov dword [ebp - 0x14], edx
jb 0x1370df2
mov esi, edx
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
jb 0x1370e04
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
cmp ebx, eax
ja 0x1370ee6
sub eax, ebx
test ebx, ebx
jne 0x1370e1f
xor edi, edi
jmp 0x1370ec6
movsx edx, byte [esi]
inc eax
add eax, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1370ee0
mov edx, esi
mov ecx, edi
mov esi, ebx
sub esi, 4
jb 0x1370e61
lea ecx, [ecx]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1370e66
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1370e50
cmp esi, 0xfffffffc
je 0x1370e9a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1370e93
cmp esi, 0xfffffffd
je 0x1370e9a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1370e93
cmp esi, 0xfffffffe
je 0x1370e9a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1370e93
cmp esi, 0xffffffff
je 0x1370e9a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1370e9a
sbb eax, eax
or eax, 1
jmp 0x1370e9c
xor eax, eax
test eax, eax
je 0x1370ebe
mov eax, dword [ebp - 0x54]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x50]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x34]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1370e42
jmp 0x1370ee0
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x1370ee0
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
jb 0x1370ed2
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
push eax
push ebx
push edi
call fcn.01391000
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x10
je 0x1370f1b
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1370f11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1370f53
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1370f49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 0x13e], 0xa1aeacfa
xor ecx, ecx
mov dword [ebp - 0x13a], 0xb6a4a8a2
mov dword [ebp - 0x136], 0xbea8acb7
mov dword [ebp - 0x132], 0x100c9aa
lea ecx, [ecx]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x13e], al
inc ecx
cmp ecx, 0xe
jb 0x1370f80
lea ecx, [ebp - 0x13e]
mov byte [ebp - 0x12f], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1370fa1
sub ecx, edx
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
jb 0x1370fb6
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x13e]
push ecx
push 0
mov ecx, eax
call fcn.01393fe0
add esp, 0xc
test eax, eax
jne 0x1371243
push 0x104
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.01405710
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
push 0
push 0
push 0x1c
push 0
call dword [0xdbd310]
xor eax, eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371020
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0x12
xor ecx, ecx
mov dword [ebp - 0x12e], 0xa1aeacfa
mov dword [ebp - 0x12a], 0xb6a4a8a2
mov dword [ebp - 0x126], 0xbea8acb7
mov dword [ebp - 0x122], 0x100c9aa
jmp 0x1371070
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x12e], al
inc ecx
cmp ecx, 0xe
jb 0x1371070
xor eax, eax
mov byte [ebp - 0x11f], 0
lea ecx, [ebp - 0x12e]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13710a5
sub ecx, edx
lea eax, [ebp - 0x12e]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0x13
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
cmp edi, 0x10
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], esi
setae byte [ebp - 0xd]
mov dword [ebp - 0x14], edx
jb 0x13710df
mov esi, edx
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
jb 0x13710f1
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
cmp ebx, eax
ja 0x13711d6
sub eax, ebx
test ebx, ebx
jne 0x137110c
xor edi, edi
jmp 0x13711b6
movsx edx, byte [esi]
inc eax
add eax, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x13711d0
nop
mov edx, esi
mov ecx, edi
mov esi, ebx
sub esi, 4
jb 0x1371151
jmp 0x1371140
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1371156
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1371140
cmp esi, 0xfffffffc
je 0x137118a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1371183
cmp esi, 0xfffffffd
je 0x137118a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1371183
cmp esi, 0xfffffffe
je 0x137118a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1371183
cmp esi, 0xffffffff
je 0x137118a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x137118a
sbb eax, eax
or eax, 1
jmp 0x137118c
xor eax, eax
test eax, eax
je 0x13711ae
mov eax, dword [ebp - 0x54]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x50]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x34]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1371130
jmp 0x13711d0
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x13711d0
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
jb 0x13711c2
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
push eax
push ebx
push edi
call fcn.01391000
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x12
je 0x137120b
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1371201
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1371243
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1371239
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 0xa4], 0xa1a4b2fa
xor ecx, ecx
mov dword [ebp - 0xa0], 0xc3b1aaa6
mov word [ebp - 0x9c], 0x100
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xa4], al
inc ecx
cmp ecx, 8
jb 0x1371262
lea ecx, [ebp - 0xa4]
mov byte [ebp - 0x9b], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371283
sub ecx, edx
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
jb 0x1371298
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0xa4]
push ecx
push 0
mov ecx, eax
call fcn.01393fe0
add esp, 0xc
test eax, eax
jne 0x1371513
push 0x104
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.01405710
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
push 0
push 0
push 8
push 0
call dword [0xdbd310]
xor eax, eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371300
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0xae], 0xa1a4b2fa
mov dword [ebp - 0xaa], 0xc3b1aaa6
mov word [ebp - 0xa6], 0x100
lea esp, [esp]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xae], al
inc ecx
cmp ecx, 8
jb 0x1371340
xor eax, eax
mov byte [ebp - 0xa5], 0
lea ecx, [ebp - 0xae]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371375
sub ecx, edx
lea eax, [ebp - 0xae]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0x15
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
cmp edi, 0x10
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], esi
setae byte [ebp - 0xd]
mov dword [ebp - 0x14], edx
jb 0x13713af
mov esi, edx
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
jb 0x13713c1
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x30], ecx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
cmp ebx, eax
ja 0x13714a6
sub eax, ebx
test ebx, ebx
jne 0x13713dc
xor edi, edi
jmp 0x1371486
movsx edx, byte [esi]
inc eax
add eax, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x13714a0
nop
mov edx, esi
mov ecx, edi
mov esi, ebx
sub esi, 4
jb 0x1371421
jmp 0x1371410
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1371426
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1371410
cmp esi, 0xfffffffc
je 0x137145a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1371453
cmp esi, 0xfffffffd
je 0x137145a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1371453
cmp esi, 0xfffffffe
je 0x137145a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1371453
cmp esi, 0xffffffff
je 0x137145a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x137145a
sbb eax, eax
or eax, 1
jmp 0x137145c
xor eax, eax
test eax, eax
je 0x137147e
mov eax, dword [ebp - 0x54]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x50]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x34]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1371400
jmp 0x13714a0
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x13714a0
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
jb 0x1371492
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
push eax
push ebx
push edi
call fcn.01391000
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x14
je 0x13714db
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x13714d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1371513
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1371509
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp - 0x16c]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x170]
imul ecx
mov dword [ebp - 0x54], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1371af8
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov esi, dword [ebp - 0x170]
add esi, ebx
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
jb 0x1371555
mov esi, dword [esi]
test eax, eax
je 0x13717d0
push eax
push 0x2a
push esi
call fcn.01406f00
add esp, 0xc
test eax, eax
je 0x13717d0
sub eax, esi
cmp eax, 0xffffffff
je 0x13717d0
mov dword [ebp - 0x7e], 0xcbcccef7
xor ecx, ecx
mov word [ebp - 0x7a], 0x100
jmp 0x1371590
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x7e], al
inc ecx
cmp ecx, 4
jb 0x1371590
xor eax, eax
mov byte [ebp - 0x79], 0
lea ecx, [ebp - 0x7e]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13715c0
sub ecx, edx
lea eax, [ebp - 0x7e]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x9a]
xor eax, eax
mov word [ebp - 0x9a], 0x2a
mov byte [ebp - 0x98], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371607
sub ecx, edx
lea eax, [ebp - 0x9a]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0x17
lea esi, [ebp - 0x2c]
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x2c]
add ecx, ebx
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x34], esi
setae byte [ebp - 0xd]
mov dword [ebp - 0x30], edx
jb 0x137164a
mov esi, edx
mov dword [ebp - 0x34], edx
cmp dword [ecx + 0x14], 0x10
mov edi, ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x50], ecx
jb 0x137165d
mov edi, dword [ecx]
mov dword [ebp - 0x50], edi
mov ebx, dword [ebp - 0x1c]
cmp ebx, eax
ja 0x137174d
sub eax, ebx
test ebx, ebx
jne 0x1371675
xor edi, edi
jmp 0x1371733
movsx ecx, byte [esi]
inc eax
add eax, edi
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x164], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x137174a
mov edi, edi
mov edx, esi
mov ecx, edi
mov esi, ebx
sub esi, 4
jb 0x13716c1
jmp 0x13716b0
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x13716c6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x13716b0
cmp esi, 0xfffffffc
je 0x13716fa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x13716f3
cmp esi, 0xfffffffd
je 0x13716fa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x13716f3
cmp esi, 0xfffffffe
je 0x13716fa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x13716f3
cmp esi, 0xffffffff
je 0x13716fa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x13716fa
sbb eax, eax
or eax, 1
jmp 0x13716fc
xor eax, eax
test eax, eax
je 0x1371728
mov eax, dword [ebp - 0x164]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x94]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x34]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x13716a0
jmp 0x137174a
sub edi, dword [ebp - 0x50]
cmp edi, 0xffffffff
je 0x137174a
mov ecx, dword [ebp - 0x78]
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
jb 0x137173f
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
push eax
push ebx
push edi
call fcn.01391000
mov edx, dword [ebp - 0x30]
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x16
je 0x1371783
mov ecx, dword [ebp - 0x18]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x1371779
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1371542
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13717b8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
mov ebx, dword [ebp - 0x14]
add esp, 8
jmp 0x1371542
mov esi, dword [ebp - 0x170]
add esi, ebx
mov dword [ebp - 0x84], 0xcbcccef7
mov word [ebp - 0x80], 0x100
xor ecx, ecx
lea ebx, [ebx]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x84], al
inc ecx
cmp ecx, 4
jb 0x13717f0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x7f], 0
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371810
sub ecx, edx
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x1371824
mov esi, dword [esi]
push ecx
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
push 0
call fcn.01393fe0
add esp, 0xc
cmp eax, 0xffffffff
je 0x1371ac6
mov dword [ebp - 0x8a], 0xcbcbcef7
xor ecx, ecx
mov word [ebp - 0x86], 0x100
jmp 0x1371860
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x8a], al
inc ecx
cmp ecx, 4
jb 0x1371860
xor eax, eax
mov byte [ebp - 0x85], 0
lea ecx, [ebp - 0x8a]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371895
sub ecx, edx
lea eax, [ebp - 0x8a]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.013282e0
mov byte [ebp - 4], 0x18
xor ecx, ecx
mov dword [ebp - 0x90], 0xcbcccef7
mov word [ebp - 0x8c], 0x100
jmp 0x13718d0
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x90], al
inc ecx
cmp ecx, 4
jb 0x13718d0
xor eax, eax
mov byte [ebp - 0x8b], 0
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1371905
sub ecx, edx
lea eax, [ebp - 0x90]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.013282e0
mov byte [ebp - 4], 0x19
lea esi, [ebp - 0x2c]
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x2c]
add ecx, ebx
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x50], esi
setae byte [ebp - 0xd]
mov dword [ebp - 0x30], edx
jb 0x137194b
mov esi, edx
mov dword [ebp - 0x50], edx
cmp dword [ecx + 0x14], 0x10
mov edi, ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x34], ecx
jb 0x137195e
mov edi, dword [ecx]
mov dword [ebp - 0x34], edi
mov ebx, dword [ebp - 0x1c]
cmp ebx, eax
ja 0x1371a49
sub eax, ebx
test ebx, ebx
jne 0x1371976
xor edi, edi
jmp 0x1371a2f
movsx ecx, byte [esi]
inc eax
add eax, edi
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x78], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1371a46
lea esp, [esp]
mov ecx, esi
mov edx, edi
mov esi, ebx
sub esi, 4
jb 0x13719c1
jmp 0x13719b0
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x13719c6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x13719b0
cmp esi, 0xfffffffc
je 0x13719fa
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x13719f3
cmp esi, 0xfffffffd
je 0x13719fa
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x13719f3
cmp esi, 0xfffffffe
je 0x13719fa
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x13719f3
cmp esi, 0xffffffff
je 0x13719fa
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x13719fa
sbb eax, eax
or eax, 1
jmp 0x13719fc
xor eax, eax
test eax, eax
je 0x1371a21
mov eax, dword [ebp - 0x78]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x94]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x50]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x13719a0
jmp 0x1371a46
sub edi, dword [ebp - 0x34]
cmp edi, 0xffffffff
je 0x1371a46
mov ecx, dword [ebp - 0x164]
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
jb 0x1371a3b
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x3c]
push eax
push ebx
push edi
call fcn.01391000
mov edx, dword [ebp - 0x30]
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x18
je 0x1371a7f
mov ecx, dword [ebp - 0x18]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x1371a75
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x13717d0
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1371ab4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
mov ebx, dword [ebp - 0x14]
add esp, 8
jmp 0x13717d0
mov ecx, dword [ebp - 0x16c]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x170]
add ebx, 0x18
mov edi, dword [ebp - 0x54]
imul ecx
inc edi
mov dword [ebp - 0x14], ebx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x54], edi
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x1371542
sub esp, 0xc
lea eax, [ebp - 0x170]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.0138d900
sub esp, 0xc
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x94], esp
mov ecx, esp
push eax
call fcn.0138d900
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x1b
mov ebx, dword [ebp - 0x160]
push eax
sub esp, 0x18
shl ebx, 0xa
lea eax, [ebp + 8]
mov dword [ebp - 0x160], esp
mov ecx, esp
push eax
call fcn.0138e990
sub esp, 0x18
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.0138e990
mov cl, byte [ebp - 0x71]
mov edx, ebx
mov byte [ebp - 4], 9
call fcn.0136ec80
add esp, 0x4c
lea ecx, [ebp - 0x170]
call fcn.01390a80
lea ecx, [ebp - 0x1b8]
call fcn.01390a80
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x1371bc0
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1371bb6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
cmp ecx, 0x10
jb 0x1371c10
mov edx, dword [ebp - 0x1ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1371c06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0xf
mov byte [ebp - 0x1ac], 0
cmp ecx, 0x10
jb 0x1371c69
mov edx, dword [ebp - 0x1d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1371c5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov eax, dword [ebp - 0x190]
movzx eax, byte [eax]
sub eax, 1
je 0x1371c93
sub eax, 1
je 0x1371c87
inc dword [ebp - 0x184]
jmp 0x1370164
add dword [ebp - 0x188], 0x10
jmp 0x1370164
mov eax, dword [ebp - 0x18c]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], eax
call fcn.0138fd00
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x18c], eax
jmp 0x1370164
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x1371ce2
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1371cd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1371d47
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.014026db
mov ecx, eax
call fcn.01390560
push eax
lea ecx, [ebp - 0x4c]
call fcn.01328180
push eax
mov edx, 0xdd1c5c
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.01392660
add esp, 4
push eax
mov edx, 0x12e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2f4]
call fcn.0132cf80
add esp, 4
lea eax, [ebp - 0x2f4]
push 0xddf5d0
push eax
call fcn.0140511b
call fcn.014089d0
int3