Function at 0x5d528e
Capabilities:
Check for software breakpoints
Check http status code
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x5d5297
mov eax, dword [ebp - 4]
add esp, 0xfffffbc4
push ebx
push esi
push edi
cmp dword [ebp + 8], 0
jne 0x5d52bb
or eax, 0xffffffff
jmp 0x5e0d0f
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0xe8], edx
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xdc], 0
je 0x5d52f7
cmp dword [ebp - 0xe8], 8
jae 0x5d52fe
xor eax, eax
jmp 0x5e0d0f
mov edx, dword [ebp - 0xe8]
push edx
push 0
call fcn.006050fa
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
jne 0x5d5337
mov ecx, dword [ebp - 0xe8]
push ecx
push 0x4c7924
call fcn.005aa026
add esp, 8
or eax, 0xffffffff
jmp 0x5e0d0f
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe0]
jae 0x5d5488
mov edx, dword [ebp - 0xd8]
push edx
call fcn.005b7a52
pop ecx
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
jne 0x5d53d9
mov dword [ebp - 0xf0], 0x1000
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xf0]
cmp ecx, dword [ebp - 0xe0]
jbe 0x5d53a6
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xf0]
push edx
push 0
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
push ecx
call fcn.005f95aa
add esp, 0xc
add dword [ebp - 0xd8], 0x1000
jmp 0x5d5476
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x194]
mov edx, dword [eax]
add edx, dword [ecx + 4]
sub edx, dword [ebp - 0xd8]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xec]
jae 0x5d541c
mov edx, dword [ebp - 0xe0]
sub edx, dword [ebp - 0xd8]
mov dword [ebp - 0xec], edx
push 1
mov ecx, dword [ebp - 0xec]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
sub edx, dword [ebp - 0xdc]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0xec]
je 0x5d5463
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.00605100
or eax, 0xffffffff
jmp 0x5e0d0f
mov edx, dword [ebp - 0xec]
add dword [ebp - 0xd8], edx
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe0]
jb 0x5d535a
cmp dword [ebp - 4], 0
jne 0x5d54b8
mov eax, dword [ebp + 8]
add eax, 0x48
push eax
push 8
push 0x4c794b
call fcn.005aa026
add esp, 0xc
mov edx, dword [ebp - 0x180]
push edx
call fcn.00605100
or eax, 0xffffffff
jmp 0x5e0d0f
push 0xc000
push 0
push 0
push 0
push 0
call fcn.00583622
add esp, 0x14
lea edx, [ebp - 0x5e8]
push 0x400
push 0
push edx
call fcn.005f95aa
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x5d5525
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
inc dword [ebp + eax*4 - 0x5e8]
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jb 0x5d54f9
mov ecx, dword [ebp - 0x3dc]
add ecx, dword [ebp - 0x3c4]
add ecx, dword [ebp - 0x3bc]
add ecx, dword [ebp - 0x248]
add ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x5e8]
sub eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0x2000
jb 0x5d5618
mov edx, dword [ebp - 0x148]
push edx
mov ecx, dword [ebp - 0x144]
push ecx
push 0x3e8
call fcn.0060515a
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x4b
jae 0x5d5618
mov eax, dword [ebp + 8]
add eax, 0x48
push eax
push 8
push 0x4c796e
lea edx, [ebp - 0x7e8]
push edx
call fcn.005fcc36
add esp, 0x10
lea ecx, [ebp - 0x7e8]
mov eax, dword [0x4d3b7c]
push 0x2124
push 0x4c7a63
push ecx
push eax
call fcn.00605520
mov ebx, eax
cmp ebx, 6
je 0x5d5618
mov eax, dword [ebp - 0x180]
push eax
call fcn.00605100
mov edx, dword [ebp + 8]
cmp dword [edx + 0x16c], 0
je 0x5d5610
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x16c]
push eax
call fcn.00605100
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [edx + 0x16c], ecx
or eax, 0xffffffff
jmp 0x5e0d0f
cmp dword [0x4d916c], 2
jne 0x5d58d0
push 0
lea edx, [ebp - 0xbec]
push edx
lea ecx, [ebp - 0xaec]
push ecx
lea eax, [ebp - 0x177]
push eax
mov edx, dword [ebp + 8]
add edx, 0x50
push edx
call fcn.005fb1c6
add esp, 0x14
lea ecx, [ebp - 0xbec]
lea eax, [ebp - 0xaec]
lea edx, [ebp - 0x177]
push 0x4c7a74
push ecx
push eax
push edx
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.005fb1a2
add esp, 0x14
push 0x4c7a79
lea eax, [ebp - 0x9ec]
push eax
call fcn.005fb37e
add esp, 8
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
je 0x5d58d0
push 0x34
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call fcn.005bafd2
add esp, 0xc
push 0x37
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
add edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
call fcn.005bafd2
add esp, 0xc
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0x180]
push edx
call fcn.005b72ee
add esp, 0xc
mov ecx, dword [ebp - 0x1b8]
lea eax, [ebp - 0x9ec]
push ecx
push 0x104
push eax
call fcn.005faff2
add esp, 0xc
test eax, eax
je 0x5d5874
lea edx, [ebp - 0x9ec]
push edx
call fcn.005f96de
pop ecx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
lea eax, [ebp + ecx - 0x9ed]
mov dword [ebp - 0x1c8], eax
jmp 0x5d5748
dec dword [ebp - 8]
dec dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1c8]
mov byte [edx + 1], 0
cmp dword [ebp - 8], 0
jle 0x5d576c
mov ecx, dword [ebp - 0x1c8]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0xa
je 0x5d5735
mov edx, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0xd
je 0x5d5735
xor ebx, ebx
lea eax, [ebp - 0x9ec]
mov dword [ebp - 0x1c8], eax
cmp ebx, dword [ebp - 8]
jge 0x5d57a9
mov edx, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x20
je 0x5d579d
mov eax, dword [ebp - 0x1c8]
xor edx, edx
mov dl, byte [eax]
cmp edx, 9
jne 0x5d57a9
inc ebx
inc dword [ebp - 0x1c8]
cmp ebx, dword [ebp - 8]
jl 0x5d577f
cmp ebx, dword [ebp - 8]
je 0x5d56f0
lea ecx, [ebp - 0xcec]
lea eax, [ebp - 0xbec]
push ecx
push eax
lea edx, [ebp - 0xaec]
lea eax, [ebp - 0x9ec]
push edx
lea ecx, [ebp - 0x177]
push ecx
add ebx, eax
push ebx
call fcn.005fb1c6
add esp, 0x14
cmp byte [ebp - 0x177], 0
jne 0x5d5812
cmp byte [ebp - 0xaec], 0
jne 0x5d5812
push 0
push 0
lea edx, [ebp - 0xaec]
push edx
lea ecx, [ebp - 0x177]
push ecx
mov eax, dword [ebp + 8]
add eax, 0x50
push eax
call fcn.005fb1c6
add esp, 0x14
cmp byte [ebp - 0xcec], 0
jne 0x5d582a
mov esi, 0x4c7a7c
lea edi, [ebp - 0xcec]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea edx, [ebp - 0xcec]
push edx
lea ecx, [ebp - 0xbec]
push ecx
lea eax, [ebp - 0xaec]
push eax
lea edx, [ebp - 0x177]
push edx
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.005fb1a2
add esp, 0x14
lea eax, [ebp - 0x7e8]
push eax
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.005bfffa
add esp, 0xc
jmp 0x5d56f0
push 0
push 0
push 0
call fcn.005b72ee
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x180], 0
je 0x5d58a6
push 0
push 0
push 0x477
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x180]
push ecx
call fcn.0060557a
cmp dword [0x4d74e8], 0
je 0x5d58c3
push 0
push 0
push 0x477
mov eax, dword [0x4d74e8]
push eax
call fcn.0060557a
mov edx, dword [ebp - 0x1b8]
push edx
call fcn.005faee2
pop ecx
mov dword [ebp - 0x24], 0x18000
mov dword [ebp - 0x28], 0x2000
push 4
push 0x1000
mov ecx, dword [ebp - 0x24]
shl ecx, 2
push ecx
push 0
call fcn.00605202
mov dword [ebp - 0x168], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x24]
shl eax, 2
push eax
push 0
call fcn.00605202
mov dword [ebp - 0x16c], eax
push 4
push 0x1000
mov edx, dword [ebp - 0x28]
shl edx, 2
push edx
push 0
call fcn.00605202
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x168], 0
je 0x5d594e
cmp dword [ebp - 0x16c], 0
je 0x5d594e
cmp dword [ebp - 0x174], 0
jne 0x5d59cf
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.00605100
cmp dword [ebp - 0x168], 0
je 0x5d5976
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call fcn.00605208
cmp dword [ebp - 0x16c], 0
je 0x5d5992
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call fcn.00605208
cmp dword [ebp - 0x174], 0
je 0x5d59ae
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.00605208
mov eax, dword [ebp - 0x24]
add eax, eax
add eax, dword [ebp - 0x28]
shl eax, 2
push eax
push 0x4c7924
call fcn.005aa026
add esp, 8
or eax, 0xffffffff
jmp 0x5e0d0f
mov edx, dword [ebp + 8]
cmp dword [edx + 0x16c], 0
jne 0x5d59f2
mov ecx, dword [ebp - 0xe8]
push ecx
push 0
call fcn.006050fa
mov edx, dword [ebp + 8]
mov dword [edx + 0x16c], eax
mov eax, dword [ebp - 0xe8]
push eax
push 0x40
call fcn.006050fa
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0xe8]
push ecx
push 0x40
call fcn.006050fa
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x16c], 0
je 0x5d5a3c
cmp dword [ebp - 0x188], 0
je 0x5d5a3c
cmp dword [ebp - 0x18c], 0
jne 0x5d5aef
mov edx, dword [ebp - 0x180]
push edx
call fcn.00605100
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x16c], 0
je 0x5d5a6e
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x16c]
push edx
call fcn.00605100
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x16c], eax
cmp dword [ebp - 0x188], 0
je 0x5d5a83
mov edx, dword [ebp - 0x188]
push edx
call fcn.00605100
cmp dword [ebp - 0x18c], 0
je 0x5d5a98
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.00605100
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call fcn.00605208
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call fcn.00605208
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.00605208
mov eax, dword [ebp - 0xe8]
add eax, eax
push eax
push 0x4c7924
call fcn.005aa026
add esp, 8
or eax, 0xffffffff
jmp 0x5e0d0f
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [edx + 0x170], ecx
mov eax, dword [0x4d54d8]
push eax
call fcn.00605592
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0xbc], 5
cmp dword [0x4d91c8], 2
jne 0x5d5b5f
mov dword [ebp - 0xc0], 0xb4
mov dword [ebp - 0xc4], 0x15e
mov edx, 0x226
cmp dword [0x4d9210], 0
jne 0x5d5b43
add edx, 0x64
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], 0x28a
mov dword [ebp - 0xd0], 0x302
jmp 0x5d5b9e
mov dword [ebp - 0xc0], 0xe6
mov dword [ebp - 0xc4], 0x19a
mov ecx, 0x226
cmp dword [0x4d9210], 0
jne 0x5d5b84
add ecx, 0x64
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xcc], 0x28a
mov dword [ebp - 0xd0], 0x302
mov dword [ebp - 0xd4], 0x3e6
mov eax, dword [ebp + 8]
add eax, 0x48
push eax
push 8
push 0x4c7a81
lea edx, [ebp - 0x8e8]
push edx
call fcn.005fcc36
add esp, 0x10
lea ecx, [ebp - 0x8e8]
push ecx
push 1
call fcn.0058782a
add esp, 8
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.005b72ee
add esp, 0xc
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x16c]
mov dword [ebp - 0x184], edx
mov ecx, dword [ebp - 0xe8]
push ecx
push 0
mov eax, dword [ebp - 0x184]
push eax
call fcn.005f95aa
add esp, 0xc
push 0x3a
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call fcn.005bafd2
add esp, 0xc
push 0x39
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
add edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
call fcn.005bafd2
add esp, 0xc
push 0x3e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
add eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
call fcn.005bafd2
add esp, 0xc
push 0x3f
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call fcn.005bafd2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
add esp, 0xc
mov edx, dword [eax]
add edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
push 0x4dc8cd
call fcn.005ab312
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, dword [ecx]
add eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
push 0x4dca05
call fcn.005ab312
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [edx]
add ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call fcn.005f1136
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.005d51da
pop ecx
mov edx, 0x4000
mov dword [0x4ed904], edx
mov ecx, dword [0x4ed904]
lea ecx, [ecx + ecx*8]
push ecx
push 0
call fcn.006050fa
mov edx, dword [ebp + 8]
mov dword [edx + 0x421], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
jne 0x5d5d25
xor ecx, ecx
mov dword [0x4ed904], ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax + 0x425], edx
mov ecx, dword [ebp - 0xe0]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
push 0x4d9034
call fcn.005ab5d2
add esp, 0xc
mov ebx, eax
test ebx, ebx
jl 0x5d5f89
mov eax, ebx
shl eax, 2
lea eax, [eax + eax*2]
add eax, dword [0x4d9150]
mov dword [ebp - 0x1b4], eax
jmp 0x5d5f6d
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b4]
mov edi, dword [eax]
mov eax, dword [ebp - 0x1b4]
sub edi, dword [ebp - 0xdc]
mov ecx, dword [edx + 8]
mov edx, dword [eax + 4]
add edx, edi
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe8]
jbe 0x5d5db0
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x13c], eax
cmp edi, dword [ebp - 0x13c]
jae 0x5d5f65
mov edx, dword [ebp - 0x1b4]
mov ecx, dword [edx + 8]
cmp ecx, 0xc
ja 0x5d5f53
mov cl, byte [ecx + 0x47fdd1]
jmp dword [ecx*4 + 0x47fdde]
mov edi, dword [ebp - 0x13c]
cmp edi, dword [ebp - 0x13c]
jb 0x5d5dbc
inc ebx
add dword [ebp - 0x1b4], 0xc
cmp ebx, dword [0x4d9138]
jge 0x5d5f89
mov eax, dword [ebp - 0x1b4]
mov edx, dword [eax]
cmp edx, dword [ebp - 0xe0]
jb 0x5d5d6e
mov ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005b3e8a
xor edx, edx
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x30], edx
add esp, 8
cmp dword [ebp - 0x19c], 0
je 0x5d6049
jmp 0x5d6027
mov ecx, dword [ebp - 0x19c]
cmp dword [ecx + 4], 4
jne 0x5d6020
mov eax, dword [ebp - 0x19c]
mov edx, dword [eax]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x18
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx + 1], 0x10
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx + 2], 0x10
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax + 3], 0x10
mov dword [ebp - 0x30], 1
add dword [ebp - 0x19c], 8
mov edx, dword [ebp - 0x19c]
cmp dword [edx], 0
je 0x5d6049
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ecx]
add eax, 4
cmp eax, dword [ebp - 0xe0]
jbe 0x5d5fb6
lea edx, [ebp - 0x8e8]
push edx
push 2
call fcn.0058782a
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x14], ecx
push 0
push 0x33
mov eax, dword [ebp - 0xdc]
push eax
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x5d6084
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
jmp 0x5d60bd
push 0
call fcn.005bae66
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x5d60bd
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xd8]
sub edx, dword [ebp - 0xdc]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
push 0
call fcn.005bae66
pop ecx
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xdc]
jb 0x5d60e4
mov eax, dword [ebp - 0xe0]
sub eax, 4
cmp eax, dword [ebp - 0xd8]
jb 0x5d60e4
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x24]
jl 0x5d6094
cmp dword [ebp - 0x14], 2
mov ecx, 0x80
jg 0x5d60f2
add ecx, 0xffffff80
mov dword [ebp - 0xc], ecx
xor ebx, ebx
jmp 0x5d612c
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
sub edx, dword [ecx + ebx*4]
mov dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 4
je 0x5d612b
cmp dword [ebp - 0x140], 8
je 0x5d612b
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x5d6134
inc ebx
mov edx, dword [ebp - 0x14]
dec edx
cmp ebx, edx
jl 0x5d60f9
xor ebx, ebx
cmp ebx, dword [ebp - 0x14]
jge 0x5d6254
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 4
mov byte [ecx + eax], dl
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 3
mov byte [ecx + eax + 1], dl
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 3
mov byte [ecx + eax + 2], dl
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc]
or dl, 3
mov byte [ecx + eax + 3], dl
mov ecx, dword [ebp - 0xe8]
sub ecx, 8
cmp ecx, dword [ebp - 0xd8]
jbe 0x5d624a
mov eax, dword [ebp - 0x14]
dec eax
cmp ebx, eax
jge 0x5d61d7
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
sub ecx, dword [ebp - 0xd8]
cmp ecx, 8
je 0x5d61f2
mov eax, dword [ebp - 0x14]
dec eax
cmp ebx, eax
jne 0x5d624a
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
cmp dword [edx + ecx + 4], 0
jne 0x5d624a
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 4
mov byte [eax + edx + 4], cl
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 3
mov byte [eax + edx + 5], cl
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 3
mov byte [eax + edx + 6], cl
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc]
or cl, 3
mov byte [eax + edx + 7], cl
inc ebx
cmp ebx, dword [ebp - 0x14]
jl 0x5d613f
lea eax, [ebp - 0x8e8]
push eax
push 3
call fcn.0058782a
add esp, 8
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0xdc]
jb 0x5d6598
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0xe0]
jae 0x5d6598
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x30]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
jmp 0x5d6583
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
mov dword [ebp - 0x1bc], edx
push 0x4c7aa9
push 0x3a
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005b9f06
add esp, 0xc
xor ebx, ebx
mov eax, dword [ebp - 0xf4]
add eax, ebx
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x84
inc ebx
mov ecx, dword [ebp - 0xf4]
add ecx, ebx
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x83
inc ebx
mov edx, dword [ebp - 0xf4]
add edx, ebx
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edx], 0x83
inc ebx
mov eax, dword [ebp - 0xf4]
add eax, ebx
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x83
inc ebx
cmp ebx, 0x14
jl 0x5d62d0
mov ecx, dword [ebp - 0x1bc]
cmp dword [ecx + 0xc], 0
je 0x5d6598
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0xc]
add edx, dword [ecx]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe8]
jae 0x5d6598
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x5d63b8
mov ecx, dword [ebp - 8]
and ecx, 0x8000000f
jns 0x5d6374
dec ecx
or ecx, 0xfffffff0
inc ecx
test ecx, ecx
jne 0x5d638d
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8b
jmp 0x5d63a0
mov ecx, dword [ebp - 0xe4]
add ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x83
mov edx, dword [ebp - 0xe4]
add edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edx], 0
je 0x5d63d2
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x104
jge 0x5d63d2
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xe8]
jb 0x5d6364
mov edx, dword [ebp - 0x1bc]
cmp dword [edx], 0
je 0x5d657c
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
add eax, dword [edx]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x5d6598
mov ebx, dword [ebp - 8]
cmp ebx, 0xe0
jle 0x5d641c
mov ebx, 0xe0
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xe4]
push eax
push ebx
push 0x4c7aca
lea edx, [ebp - 0x7e8]
push edx
call fcn.005fcc36
add esp, 0x10
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call fcn.005b9f06
add esp, 0xc
jmp 0x5d6567
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x84
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx + 1], 0x83
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax + 2], 0x83
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx + 3], 0x83
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov edi, dword [eax + edx]
test edi, edi
je 0x5d657c
test edi, 0x80000000
jne 0x5d6560
mov eax, dword [ebp + 8]
mov edx, dword [eax]
sub edx, dword [ebp - 0xdc]
add edi, edx
lea ecx, [edi + 4]
cmp ecx, dword [ebp - 0xe8]
jae 0x5d657c
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x82
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
inc edi
xor ebx, ebx
jmp 0x5d6536
mov eax, ebx
and eax, 0x8000000f
jns 0x5d650b
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
jne 0x5d651b
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x8b
jmp 0x5d6525
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x83
mov eax, dword [ebp - 0x180]
cmp byte [eax + edi], 0
jne 0x5d6534
inc edi
jmp 0x5d6546
inc ebx
inc edi
cmp ebx, 0x100
jge 0x5d6546
cmp edi, dword [ebp - 0xe8]
jb 0x5d64fd
cmp edi, dword [ebp - 0xe8]
jae 0x5d6560
test edi, 1
je 0x5d6560
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x81
add dword [ebp - 0xd8], 4
mov ecx, dword [ebp - 0xd8]
add ecx, 4
cmp ecx, dword [ebp - 0xe8]
jbe 0x5d6461
add dword [ebp - 0xf4], 0x14
mov eax, dword [ebp - 0xe8]
sub eax, 0x14
cmp eax, dword [ebp - 0xf4]
jae 0x5d62a0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [ebp - 0xdc]
jb 0x5d69d4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
add edx, 0x28
cmp edx, dword [ebp - 0xe0]
ja 0x5d69d4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
mov dword [ebp - 0x1c0], edx
push 0x4c7ae9
push 0x3a
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005b9f06
add esp, 0xc
xor ebx, ebx
cmp ebx, 8
je 0x5d660b
cmp ebx, 0xa
jne 0x5d6633
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x184]
add eax, ebx
inc ebx
mov byte [edx + eax], 0x82
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
add ecx, ebx
inc ebx
mov byte [eax + ecx], 0x83
jmp 0x5d667f
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x184]
add edx, ebx
inc ebx
mov byte [ecx + edx], 0x84
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x184]
add eax, ebx
inc ebx
mov byte [edx + eax], 0x83
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
add ecx, ebx
inc ebx
mov byte [eax + ecx], 0x83
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x184]
add edx, ebx
inc ebx
mov byte [ecx + edx], 0x83
cmp ebx, 0x28
jl 0x5d6601
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0xc]
add edx, dword [ecx]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe8]
jae 0x5d6725
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x5d670b
mov ecx, dword [ebp - 8]
and ecx, 0x8000000f
jns 0x5d66c7
dec ecx
or ecx, 0xfffffff0
inc ecx
test ecx, ecx
jne 0x5d66e0
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8b
jmp 0x5d66f3
mov ecx, dword [ebp - 0xe4]
add ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x83
mov edx, dword [ebp - 0xe4]
add edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edx], 0
je 0x5d6725
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x104
jge 0x5d6725
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xe8]
jb 0x5d66b7
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x1c]
add ecx, dword [eax]
sub ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x5d6769
push 0x4c7b09
push 0x3a
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005b9f06
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x140], eax
jmp 0x5d67e2
mov edx, dword [ebp - 0xd8]
add edx, 4
cmp edx, dword [ebp - 0xe8]
ja 0x5d67f3
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x84
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [edx + 0x14]
cmp ecx, dword [ebp - 0x140]
ja 0x5d6773
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x20]
add edx, dword [ecx]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x5d6837
push 0x4c7b1e
push 0x3a
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
call fcn.005b9f06
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x140], ecx
jmp 0x5d691d
mov eax, dword [ebp - 0xd8]
add eax, 4
cmp eax, dword [ebp - 0xe8]
ja 0x5d6932
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x84
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx + 1], 0x83
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax + 2], 0x83
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx + 3], 0x83
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov edi, dword [eax + edx]
mov eax, dword [ebp + 8]
add edi, dword [eax]
sub edi, dword [ebp - 0xdc]
cmp edi, dword [ebp - 0xe8]
jae 0x5d6932
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x5d68ff
mov ecx, dword [ebp - 8]
and ecx, 0x8000000f
jns 0x5d68d5
dec ecx
or ecx, 0xfffffff0
inc ecx
test ecx, ecx
jne 0x5d68e5
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x8b
jmp 0x5d68ef
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
mov ecx, dword [ebp - 0x180]
cmp byte [ecx + edi], 0
je 0x5d6910
inc dword [ebp - 8]
inc edi
cmp dword [ebp - 8], 0x100
jge 0x5d6910
cmp edi, dword [ebp - 0xe8]
jb 0x5d68c5
inc dword [ebp - 0x140]
add dword [ebp - 0xd8], 4
mov eax, dword [ebp - 0x1c0]
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0x140]
ja 0x5d6844
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
add eax, dword [edx]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x5d6976
push 0x4c7b38
push 0x3a
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call fcn.005b9f06
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x140], edx
jmp 0x5d69c3
mov ecx, dword [ebp - 0xd8]
add ecx, 2
cmp ecx, dword [ebp - 0xe8]
ja 0x5d69d4
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x82
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [ebp - 0x140]
ja 0x5d6980
lea eax, [ebp - 0x8e8]
push eax
push 4
call fcn.0058782a
add esp, 8
xor esi, esi
test esi, esi
jne 0x5d69f4
mov dword [ebp - 0x2c], 0x31
jmp 0x5d6a09
cmp esi, 1
jne 0x5d6a02
mov dword [ebp - 0x2c], 0x32
jmp 0x5d6a09
mov dword [ebp - 0x2c], 0x34
push 0
mov eax, dword [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0xdc]
push edx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x5d6a30
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
jmp 0x5d6a64
push 0
call fcn.005bae66
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x5d6a64
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x18c]
or byte [edx + eax], 0x80
push 0
call fcn.005bae66
pop ecx
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xdc]
jb 0x5d6a80
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe0]
jb 0x5d6a40
inc esi
cmp esi, 3
jl 0x5d69e7
mov edx, dword [0x4d7218]
xor ebx, ebx
mov dword [ebp - 0x198], edx
jmp 0x5d6ac2
push 8
push 0x4c7b4d
mov eax, dword [ebp - 0x198]
add eax, 0x48
push eax
call fcn.005f995e
add esp, 0xc
test eax, eax
je 0x5d6aca
inc ebx
add dword [ebp - 0x198], 0x465
cmp ebx, dword [0x4d7200]
jl 0x5d6a9a
xor edx, edx
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x160], edx
cmp ebx, dword [0x4d7200]
jge 0x5d6b58
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x198]
add ecx, dword [eax + 4]
lea eax, [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x198]
mov ecx, dword [edx]
push ecx
push eax
push 0x4c7b56
call fcn.005bb07e
add esp, 0x10
cmp eax, 0x32
je 0x5d6b1c
xor edx, edx
mov dword [ebp - 0x160], edx
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x198]
mov eax, dword [ecx]
add eax, dword [edx + 4]
lea edx, [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx]
push eax
push edx
push 0x4c7b61
call fcn.005bb07e
add esp, 0x10
cmp eax, 0x32
je 0x5d6b58
xor ecx, ecx
mov dword [ebp - 0x164], ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x5d741a
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x118]
jbe 0x5d6c13
jmp 0x5d6ba8
cmp dword [ebp - 0x2438], 0x20
je 0x5e0c3f
cmp dword [ebp - 0x2438], 0x1b
je 0x5e0c3f
push 1
push 0x100
push 0x100
mov edx, dword [0x4d3b7c]
push edx
lea ecx, [ebp - 0x2440]
push ecx
call fcn.00605538
test eax, eax
jne 0x5d6b8e
lea eax, [ebp - 0x8e8]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0xc0]
sub ecx, dword [ebp - 0xbc]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0060515a
add eax, dword [ebp - 0xbc]
push eax
call fcn.0058782a
add esp, 8
mov edx, dword [ebp - 0xd8]
add edx, 0x2710
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax], 0x80
jne 0x5d7402
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0x10
jne 0x5d7402
push 0
push 1
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xd8]
push eax
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x5d7402
cmp dword [ebp - 0x1314], 0
jne 0x5d7402
mov dword [ebp - 0x140], 1
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jae 0x5d6cdf
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x18c]
test byte [eax + ecx], 0x80
jne 0x5d6cdf
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jb 0x5d6cb3
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [ebp - 0x150]
jb 0x5d7402
cmp dword [ebp - 0x30], 0
je 0x5d6d9b
xor eax, eax
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jae 0x5d6d89
mov ecx, dword [ebp - 0x1324]
cmp ecx, dword [ebp - 0x140]
ja 0x5d6d5d
mov eax, dword [ebp - 0x1324]
add eax, dword [ebp - 0x1320]
cmp eax, dword [ebp - 0x140]
jbe 0x5d6d5d
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 8
je 0x5d6d75
mov eax, dword [ebp - 0x140]
sub eax, dword [ebp - 0x1324]
test al, 3
jne 0x5d6d89
jmp 0x5d6d75
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 0x10
jne 0x5d6d89
inc dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x150]
jb 0x5d6d11
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x150]
jb 0x5d7402
mov ecx, dword [ebp - 0x1348]
and ecx, 0xf0
mov dword [ebp - 0x154], ecx
cmp dword [ebp - 0x1344], 0
je 0x5d6e11
cmp dword [ebp - 0x133c], 0
jne 0x5d6e11
mov eax, dword [ebp - 0x1330]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
jne 0x5d6e11
xor ebx, ebx
jmp 0x5d6ded
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x180]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 0x64
je 0x5d6df5
inc ebx
cmp ebx, dword [ebp - 0x1340]
jl 0x5d6dd4
cmp ebx, dword [ebp - 0x1340]
jge 0x5d7402
cmp dword [ebp - 0x1330], 0x1000
jae 0x5d7402
cmp dword [ebp - 0x1344], 0
jne 0x5d6e6f
cmp dword [ebp - 0x154], 0x70
je 0x5d6e35
cmp dword [ebp - 0x154], 0x50
je 0x5d6e35
cmp dword [ebp - 0x154], 0x60
jne 0x5d6e6f
cmp dword [ebp - 0x1338], 0
je 0x5d6e6f
mov eax, dword [ebp - 0x1338]
cmp eax, dword [ebp - 0xdc]
jb 0x5d6e5a
mov edx, dword [ebp - 0x1338]
cmp edx, dword [ebp - 0xe0]
jb 0x5d6e6f
mov ecx, dword [ebp - 0x1338]
push ecx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5d7402
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x1340]
inc eax
cmp eax, dword [ebp - 0xe8]
jae 0x5d6f9a
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x1340]
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx + 1]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
and edx, 0xc0
cmp edx, 0xc0
je 0x5d6f9a
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x1330]
ja 0x5d6edc
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x1330]
ja 0x5d6f9a
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x1340]
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
mov dword [ebp - 0xc], eax
test byte [ebp - 0xc], 0xc5
je 0x5d6f17
cmp dword [ebp - 0xc], 0x84
je 0x5d6f17
cmp dword [ebp - 0xc], 0x86
je 0x5d6f17
cmp dword [ebp - 0xc], 0x88
jne 0x5d6f45
and dword [ebp - 4], 0x1f
cmp dword [ebp - 4], 0
je 0x5d6f33
cmp dword [ebp - 4], 9
je 0x5d6f33
cmp dword [ebp - 4], 0x12
je 0x5d6f33
cmp dword [ebp - 4], 0x1b
jne 0x5d6f9a
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x40
jmp 0x5d6f9a
mov eax, dword [ebp - 0xc]
and eax, 0xc7
dec eax
je 0x5d6f62
cmp dword [ebp - 0xc], 0x85
je 0x5d6f62
cmp dword [ebp - 0xc], 0x87
jne 0x5d6f9a
and dword [ebp - 4], 0x3f
cmp dword [ebp - 4], 0
je 0x5d6f8a
cmp dword [ebp - 4], 9
je 0x5d6f8a
cmp dword [ebp - 4], 0x12
je 0x5d6f8a
cmp dword [ebp - 4], 0x1b
je 0x5d6f8a
cmp dword [ebp - 4], 0x36
je 0x5d6f8a
cmp dword [ebp - 4], 0x3f
jne 0x5d6f9a
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x40
xor eax, eax
lea edx, [ebp - 0x12d0]
mov dword [ebp - 4], eax
mov dword [ebp - 0x1cc], edx
mov ecx, dword [ebp - 0x1cc]
cmp byte [ecx], 0
je 0x5d7064
mov eax, dword [ebp - 0x1cc]
test byte [eax], 0x20
jne 0x5d7064
mov edx, dword [ebp - 0x1cc]
xor ecx, ecx
mov cl, byte [edx + 0xa]
cmp ecx, 4
je 0x5d7064
xor eax, eax
mov ebx, eax
mov esi, eax
mov eax, dword [ebp - 0x1cc]
cmp ebx, 8
lea edx, [eax + ebx + 2]
mov dword [ebp - 0x1d0], edx
jge 0x5d7027
mov ecx, dword [ebp - 0x1d0]
xor eax, eax
mov al, byte [ecx]
dec eax
jne 0x5d7009
xor esi, esi
jmp 0x5d7027
mov eax, dword [ebp - 0x1d0]
xor edx, edx
mov dl, byte [eax]
dec edx
jle 0x5d701b
mov esi, 1
inc ebx
inc dword [ebp - 0x1d0]
cmp ebx, 8
jl 0x5d6ff8
test esi, esi
je 0x5d7064
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x8d
je 0x5d7064
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 0xb], 0
je 0x5d7078
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edx + 0xb]
push ecx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5d7078
inc dword [ebp - 4]
add dword [ebp - 0x1cc], 0xf
cmp dword [ebp - 4], 3
jl 0x5d6fab
cmp dword [ebp - 4], 3
jl 0x5d7402
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
mov cl, byte [ebp - 0x150]
or byte [eax + edx], cl
cmp dword [ebp - 0x1344], 0
je 0x5d70cc
mov eax, dword [ebp - 0x1330]
cmp eax, dword [ebp - 0xdc]
jb 0x5d70cc
mov edx, dword [ebp - 0x1330]
cmp edx, dword [ebp - 0xe0]
jae 0x5d70cc
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 0x10
test byte [ebp - 0x1348], 8
je 0x5d70e5
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x20
cmp dword [ebp - 0x1344], 0
je 0x5d7127
cmp dword [ebp - 0x1330], 0xfffff
jbe 0x5d7127
cmp dword [ebp - 0x1330], 0xfff00000
jae 0x5d7127
mov eax, dword [ebp - 0x1330]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
jne 0x5d7127
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 0x40
cmp dword [ebp - 0x1310], 0
je 0x5d71fc
test byte [ebp - 0x1310], 1
je 0x5d714a
cmp dword [0x4d91d4], 0
je 0x5d71da
test byte [ebp - 0x1310], 2
je 0x5d715c
cmp dword [0x4d91d8], 0
je 0x5d71da
test byte [ebp - 0x1310], 4
je 0x5d716e
cmp dword [0x4d91e0], 0
je 0x5d71da
test byte [ebp - 0x1310], 8
je 0x5d7180
cmp dword [0x4d91e4], 0
je 0x5d71da
test byte [ebp - 0x1310], 0x10
je 0x5d7192
cmp dword [0x4d91ec], 0
je 0x5d71da
test byte [ebp - 0x1310], 0x20
je 0x5d71a4
cmp dword [0x4d91f0], 0
je 0x5d71da
test byte [ebp - 0x1310], 0x40
je 0x5d71b6
cmp dword [0x4d91f4], 0
je 0x5d71da
test byte [ebp - 0x1310], 0x80
je 0x5d71c8
cmp dword [0x4d91f8], 0
je 0x5d71da
test byte [ebp - 0x130f], 1
je 0x5d71ec
cmp dword [0x4d91fc], 0
jne 0x5d71ec
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 0x40
jmp 0x5d71fc
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 0x20
mov edx, dword [ebp - 0x154]
cmp edx, 0x60
jg 0x5d722d
je 0x5d73e0
sub edx, 0x10
je 0x5d738a
sub edx, 0x10
je 0x5d73bc
sub edx, 0x30
je 0x5d73ce
jmp 0x5d7402
sub edx, 0x70
je 0x5d7249
sub edx, 0x10
je 0x5d73f2
sub edx, 0x10
je 0x5d73bc
jmp 0x5d7402
cmp dword [ebp - 0x1310], 0
jne 0x5d72dd
mov ecx, dword [ebp - 0x1338]
cmp ecx, dword [ebp - 0xdc]
jb 0x5d72dd
mov eax, dword [ebp - 0x1338]
cmp eax, dword [ebp - 0xe0]
jae 0x5d72dd
mov edx, dword [ebp - 0x1338]
sub edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x184]
test byte [ecx + edx], 0x80
jne 0x5d72dd
mov eax, dword [ebp - 0x1338]
sub eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x5d72dd
mov ecx, dword [ebp - 0x1338]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x188]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xc0
cmp edx, 0xc0
je 0x5d72dd
mov ecx, dword [ebp - 0x1338]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x188]
add byte [eax + ecx], 0x40
cmp dword [ebp - 0x131c], 0
jne 0x5d7322
push 0
push 4
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
push edx
call fcn.0056bf52
add esp, 0x1c
cmp dword [ebp - 0x131c], 0
je 0x5d733e
mov ecx, dword [ebp - 0x131c]
push ecx
call fcn.005d3572
pop ecx
mov dword [ebp - 0x131c], eax
cmp dword [ebp - 0x131c], 0
je 0x5d7378
mov eax, dword [ebp - 0x131c]
cmp eax, dword [ebp - 0x160]
je 0x5d7363
mov edx, dword [ebp - 0x131c]
cmp edx, dword [ebp - 0x164]
jne 0x5d7378
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 7
jmp 0x5d7402
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 3
jmp 0x5d7402
mov eax, dword [ebp - 0x130c]
and eax, 0x3f
cmp eax, 0x24
jne 0x5d73aa
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 5
jmp 0x5d7402
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 4
jmp 0x5d7402
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 6
jmp 0x5d7402
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
or byte [edx + ecx], 1
jmp 0x5d7402
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 2
jmp 0x5d7402
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 7
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jb 0x5d6b7a
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x28]
cmp ecx, dword [ebp - 0xdc]
jb 0x5d7489
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x28]
cmp edx, dword [ebp - 0xe0]
jae 0x5d7489
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x28]
sub eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x20
jne 0x5d7489
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx + 0x28]
sub edx, dword [ebp - 0xdc]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp - 0x184]
sub ecx, dword [ebp - 0xdc]
mov byte [eax + ecx], 0x1f
xor edx, edx
mov dword [ebp - 0xd8], edx
jmp 0x5d757e
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0xc0
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
and byte [ecx + eax], 0x3f
cmp dword [ebp - 4], 0
je 0x5d7578
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0xf
je 0x5d7578
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx], 0x20
jne 0x5d7578
mov ecx, dword [ebp - 0xd8]
add ecx, 4
cmp ecx, dword [ebp - 0xe8]
ja 0x5d755a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x13c]
and eax, 0xffffff
cmp eax, 0xec8b55
je 0x5d7556
mov edx, dword [ebp - 0x13c]
and edx, 0xffffff
cmp edx, 0xe58955
je 0x5d7556
mov ecx, dword [ebp - 0x13c]
and ecx, 0xff0003ff
cmp ecx, 0xc8
jne 0x5d755a
add dword [ebp - 4], 0x40
cmp dword [ebp - 4], 0x80
jl 0x5d7578
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x5d7598
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x24]
jl 0x5d7496
mov ecx, dword [ebp - 0xe0]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
push 0x4d9034
call fcn.005ab5d2
add esp, 0xc
mov ebx, eax
test ebx, ebx
jl 0x5d768a
mov eax, ebx
shl eax, 2
lea eax, [eax + eax*2]
add eax, dword [0x4d9150]
mov dword [ebp - 0x1b4], eax
jmp 0x5d7666
mov edx, dword [ebp - 0x1b4]
cmp dword [edx + 8], 0x1d
jne 0x5d765e
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
mov edi, dword [ecx]
mov edx, dword [eax + 4]
sub edi, dword [ebp - 0xdc]
add edx, edi
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe8]
jbe 0x5d761b
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x13c], eax
cmp edi, dword [ebp - 0x13c]
jae 0x5d765e
mov edx, dword [ebp - 0x18c]
test byte [edx + edi], 0xf
je 0x5d765e
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x5d765e
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18c]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0xf
add edi, eax
cmp edi, dword [ebp - 0x13c]
jb 0x5d7623
inc ebx
add dword [ebp - 0x1b4], 0xc
cmp ebx, dword [0x4d9138]
jge 0x5d768a
mov edx, dword [ebp - 0x1b4]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0xe0]
jae 0x5d768a
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jl 0x5d75d6
xor edx, edx
mov dword [ebp - 0xd8], edx
xor ecx, ecx
mov dword [ebp - 0x118], ecx
xor eax, eax
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x5da48c
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0x118]
jbe 0x5d774b
jmp 0x5d76e2
cmp dword [ebp - 0x2438], 0x20
je 0x5e0c3f
cmp dword [ebp - 0x2438], 0x1b
je 0x5e0c3f
push 1
push 0x100
push 0x100
mov eax, dword [0x4d3b7c]
push eax
lea edx, [ebp - 0x2440]
push edx
call fcn.00605538
test eax, eax
jne 0x5d76c8
lea ecx, [ebp - 0x8e8]
push ecx
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xc4]
sub edx, dword [ebp - 0xc0]
push edx
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0060515a
add eax, dword [ebp - 0xc0]
push eax
call fcn.0058782a
add esp, 8
mov eax, dword [ebp - 0xd8]
add eax, 0x2710
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x14], 0
jle 0x5d919c
dec dword [ebp - 0x14]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jae 0x5d76a2
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x20
jne 0x5d76a2
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx], 0x80
je 0x5d77d9
cmp dword [ebp - 0x2c], 0x1d
je 0x5d76a2
cmp dword [ebp - 0x2c], 0x1e
je 0x5d76a2
cmp dword [ebp - 0x2c], 0x1f
je 0x5d76a2
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0xf
mov dword [ebp - 0x150], ecx
cmp dword [ebp - 0x150], 0
je 0x5d76a2
cmp dword [ebp - 0x2c], 0
je 0x5d7970
cmp dword [ebp - 0x2c], 0x1d
je 0x5d7970
cmp dword [ebp - 0x2c], 0x1e
je 0x5d7970
cmp dword [ebp - 0x2c], 0x1f
je 0x5d7970
xor eax, eax
mov dword [ebp - 0x140], eax
jmp 0x5d7876
mov edx, dword [ebp - 0xf4]
sub edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x13
je 0x5d7870
mov edx, dword [ebp - 0xf4]
sub edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 3
jne 0x5d788d
inc dword [ebp - 0x140]
cmp dword [ebp - 0x140], 0x10
jae 0x5d788d
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0xf4]
jbe 0x5d7832
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x1d
je 0x5d78ea
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x1e
je 0x5d78ea
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5d792c
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x18c]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xf
cmp edx, dword [ebp - 0x140]
ja 0x5d792c
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x18c]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xf
sub dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 0
jbe 0x5d7970
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0xf4]
sub edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x188]
and byte [ecx + edx], 0xf8
dec dword [ebp - 0x140]
cmp dword [ebp - 0x140], 0
ja 0x5d7935
cmp dword [ebp - 0x2c], 0x1e
je 0x5d798e
cmp dword [ebp - 0x2c], 0x1f
je 0x5d798e
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
mov byte [eax + edx], 0x9d
jmp 0x5d799e
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
mov esi, 1
jmp 0x5d79b8
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x184]
add eax, esi
inc esi
mov byte [edx + eax], 0x93
cmp esi, dword [ebp - 0x150]
jb 0x5d79a5
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x10
je 0x5d7d55
push 0
push 1
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x150], eax
mov edi, dword [ebp - 0x1330]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1344], 4
je 0x5d7a35
xor eax, eax
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x1344], 1
je 0x5d7a47
cmp dword [ebp - 0x1344], 0x11
jne 0x5d7a90
cmp dword [ebp - 0x133c], 0
je 0x5d7a61
mov edx, dword [ebp - 0x1330]
mov dword [ebp - 0x15c], edx
jmp 0x5d7d5d
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x80
jne 0x5d7d5d
mov eax, dword [ebp - 0x188]
test byte [eax + edi], 0x10
jne 0x5d7d5d
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x81
jmp 0x5d7d5d
cmp dword [ebp - 0x1344], 2
jne 0x5d7adf
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x80
jne 0x5d7d5d
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x188]
mov dl, byte [eax + edi]
or dl, byte [ecx + edi + 1]
test dl, 0x10
jne 0x5d7d5d
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x82
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 1], 0x83
jmp 0x5d7d5d
cmp dword [ebp - 0x1344], 4
jne 0x5d7bd1
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x184]
mov al, byte [ecx + edi]
mov ecx, dword [ebp - 0x184]
or al, byte [edx + edi + 1]
mov edx, dword [ebp - 0x184]
or al, byte [ecx + edi + 2]
or al, byte [edx + edi + 3]
test al, 0x80
jne 0x5d7d5d
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov cl, byte [eax + edi]
and ecx, 0x18
cmp ecx, 0x10
je 0x5d7d5d
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x188]
mov dl, byte [eax + edi + 1]
mov eax, dword [ebp - 0x188]
or dl, byte [ecx + edi + 2]
or dl, byte [eax + edi + 3]
test dl, 8
jne 0x5d7d5d
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x84
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 1], 0x83
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 2], 0x83
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 3], 0x83
cmp dword [ebp - 0x133c], 0
je 0x5d7d5d
cmp dword [ebp - 0x1334], 0
jne 0x5d7d5d
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jge 0x5d7d5d
mov eax, dword [ebp - 0x188]
test byte [eax + edi], 8
jne 0x5d7d5d
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x20]
add edi, 4
mov dword [edx + ecx*4], edi
inc dword [ebp - 0x20]
jmp 0x5d7d5d
mov eax, dword [ebp - 0x1344]
cmp eax, 0x11
ja 0x5d7c83
jmp dword [eax*4 + 0x481bdd]
xor esi, esi
test esi, esi
je 0x5d7d5d
mov eax, esi
add eax, edi
cmp eax, dword [ebp - 0xe8]
ja 0x5d7d5d
xor ebx, ebx
cmp esi, ebx
jle 0x5d7cc8
mov eax, ebx
add eax, edi
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x80
jne 0x5d7cc8
mov ecx, ebx
add ecx, edi
mov eax, dword [ebp - 0x188]
test byte [eax + ecx], 0x10
jne 0x5d7cc8
inc ebx
cmp esi, ebx
jg 0x5d7ca3
cmp esi, ebx
jg 0x5d7d5d
mov ebx, 1
cmp esi, ebx
jle 0x5d7cec
mov eax, ebx
add eax, edi
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x83
inc ebx
cmp esi, ebx
jg 0x5d7cd9
cmp dword [ebp - 0x1344], 0xd
jne 0x5d7d0c
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x85
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 4], 0x85
jmp 0x5d7d5d
cmp dword [ebp - 0x1344], 0xe
jne 0x5d7d42
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x85
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 4], 0x85
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 8], 0x85
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 0xc], 0x85
jmp 0x5d7d5d
mov ecx, dword [ebp - 0x184]
mov al, byte [ebp - 0x1344]
or al, 0x80
mov byte [ecx + edi], al
jmp 0x5d7d5d
xor edx, edx
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
mov dword [ebp - 0x158], edx
cmp dword [ebp - 0x158], 3
jne 0x5d8681
push 0
push 4
lea ecx, [ebp - 0x194c]
push ecx
push 0
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x150], eax
mov edi, dword [ebp - 0x131c]
sub edi, dword [ebp - 0xdc]
cmp dword [0x4d9220], 0
je 0x5d8041
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
add eax, 3
cmp edi, eax
jbe 0x5d8041
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0x150]
add edx, 0x100
cmp edi, edx
ja 0x5d8041
lea ecx, [edi + 4]
cmp ecx, dword [ebp - 0xe8]
jae 0x5d8041
mov eax, dword [ebp - 0x180]
cmp byte [eax + edi - 1], 0
jne 0x5d8041
mov edx, dword [ebp - 0x180]
mov ecx, dword [edx + edi]
mov dword [ebp - 0x13c], ecx
and ecx, 0xffffff
cmp ecx, 0xec8b55
je 0x5d8041
mov eax, dword [ebp - 0x13c]
and eax, 0xffffff
cmp eax, 0xe58955
je 0x5d8041
mov edx, dword [ebp - 0x13c]
and edx, 0xff0003ff
cmp edx, 0xc8
je 0x5d8041
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x140], eax
jmp 0x5d7f07
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
mov al, byte [edx + ecx]
push eax
call fcn.005aa80a
pop ecx
test eax, eax
je 0x5d7f12
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc2
je 0x5d7f12
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc3
je 0x5d7f12
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x140]
test byte [edx + ecx], 0x10
jne 0x5d7f12
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x140]
test byte [eax + edx], 0x80
jne 0x5d7f12
inc dword [ebp - 0x140]
mov ecx, edi
dec ecx
cmp ecx, dword [ebp - 0x140]
ja 0x5d7e93
mov eax, edi
dec eax
cmp eax, dword [ebp - 0x140]
jne 0x5d8041
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
mov al, byte [edx + ecx]
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x188]
and al, 0xf8
or al, 1
mov byte [edx + ecx], al
lea edx, [ebp - 0x7e8]
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
push eax
push 0x4c7b6d
push edx
call fcn.005fcc36
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
call fcn.005b9f06
add esp, 0xc
mov edx, dword [ebp - 0x150]
add dword [ebp - 0xf4], edx
mov ecx, edi
sub ecx, dword [ebp - 0xf4]
push ecx
push 0x83
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xf4]
push eax
call fcn.005f95aa
add esp, 0xc
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x5d7fd5
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x8b
add dword [ebp - 4], 0x10
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 4]
cmp edi, edx
ja 0x5d7fbe
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x20
jne 0x5d8017
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + edi]
and edx, 0x1f
cmp edx, 0x1f
je 0x5d8017
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x184]
mov al, byte [ecx + edi]
and al, 0xe0
or al, 0x1e
mov byte [edx + edi], al
push edi
mov ecx, dword [ebp - 0xf4]
push ecx
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.005d0e2e
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov dword [edx + ecx*4], edi
inc dword [ebp - 0x14]
jmp 0x5d76a2
mov eax, dword [ebp - 0x131c]
push eax
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call fcn.005f127e
add esp, 8
cmp dword [ebp - 0x131c], 0
je 0x5d828e
cmp edi, dword [ebp - 0xe8]
jae 0x5d828e
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0x1f
cmp eax, 3
je 0x5d80a0
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x13
jne 0x5d8240
mov eax, dword [ebp - 0x18c]
test byte [eax + edi], 0xf
je 0x5d8240
mov dword [ebp - 0x13c], edi
jmp 0x5d80de
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x13c]
and byte [eax + edx], 0xf8
dec dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe8]
jae 0x5d811e
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 3
je 0x5d80b8
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x5d80b8
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x13c]
and byte [ecx + eax], 0xf8
xor esi, esi
dec dword [ebp - 0x13c]
jmp 0x5d814f
dec dword [ebp - 0x13c]
inc esi
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0xe8]
jae 0x5d8176
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x5d8148
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jae 0x5d8226
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x5d8226
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x5d8226
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x5d8226
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
je 0x5d8226
xor ebx, ebx
cmp esi, ebx
jl 0x5d813e
mov eax, dword [ebp - 0x13c]
add eax, ebx
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0
mov ecx, dword [ebp - 0x13c]
add ecx, ebx
mov eax, dword [ebp - 0x188]
and byte [eax + ecx], 0xf8
inc ebx
cmp esi, ebx
jge 0x5d81f8
jmp 0x5d813e
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xd8]
jae 0x5d8240
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xd8], ecx
push edi
mov eax, dword [ebp - 0xf4]
push eax
push 3
mov edx, dword [ebp + 8]
push edx
call fcn.005d0e2e
add esp, 0x10
mov ecx, dword [ebp - 0x184]
test byte [ecx + edi], 0x20
jne 0x5d827a
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x184]
mov dl, byte [eax + edi]
and dl, 0xe0
or dl, 0x1f
mov byte [ecx + edi], dl
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
inc dword [ebp - 0x14]
jmp 0x5d9170
mov ecx, dword [ebp - 0x1334]
cmp ecx, dword [ebp - 0xdc]
jb 0x5d9170
mov eax, dword [ebp - 0x1334]
cmp eax, dword [ebp - 0xe0]
jae 0x5d9170
mov edi, dword [ebp - 0x1334]
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
lea eax, [edi + 4]
cmp eax, dword [ebp - 0xe8]
ja 0x5d848e
mov edx, dword [ebp - 0x180]
mov ecx, dword [edx + edi]
sub ecx, dword [ebp - 0xdc]
xor eax, eax
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1f
je 0x5d8350
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1e
je 0x5d8350
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x9d
je 0x5d8350
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x93
je 0x5d8350
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x5d82e9
cmp dword [ebp - 4], 4
jne 0x5d848e
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jae 0x5d848e
cmp dword [ebp - 0x30], 0
je 0x5d8382
mov ecx, dword [ebp - 0x188]
test byte [ecx + edi], 8
je 0x5d848e
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
test byte [eax + edx], 0x80
je 0x5d83e3
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x5d83e3
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x5d83e3
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5d848e
mov ecx, dword [ebp - 0x188]
or byte [ecx + edi], 0x20
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x84
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
inc edi
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x83
inc edi
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x83
inc edi
mov edx, dword [ebp - 0x13c]
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
push 3
mov eax, dword [ebp + 8]
push eax
call fcn.005d0e2e
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
add esp, 0x10
test byte [edx + ecx], 0x20
jne 0x5d846b
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov cl, byte [eax + edx]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
and cl, 0xe0
or cl, 0x1f
mov byte [eax + edx], cl
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x5d8488
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
inc ebx
jmp 0x5d82c0
cmp ebx, 2
jl 0x5d8674
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp + 8]
add eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0x7e8]
sub eax, dword [edx]
push eax
push 0x4c7b81
push ecx
call fcn.005fcc36
add esp, 0xc
mov dword [ebp - 8], eax
lea eax, [ebp - 0xeec]
push eax
push 0x3a
mov edx, dword [ebp - 0x1334]
push edx
call fcn.005ba9ca
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xc
jle 0x5d8540
push 0xc
push 0x4c7ba3
lea ecx, [ebp - 0xeec]
push ecx
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x5d8540
lea eax, [ebp - 0x7e8]
lea edx, [ebp - 0xeec]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x5d8523
test cl, cl
je 0x5d8540
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x5d8523
add eax, 2
add edx, 2
test cl, cl
jne 0x5d8507
je 0x5d8540
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
mov edi, eax
mov esi, 0x4c7bb0
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
mov ecx, dword [ebp - 0x1334]
push ecx
call fcn.005b9f06
add esp, 0xc
cmp dword [ebp - 0x15c], 0
je 0x5d8674
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0xdc]
xor esi, esi
jmp 0x5d8576
inc esi
mov eax, esi
add eax, edi
cmp eax, dword [ebp - 0xe8]
jae 0x5d8621
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
cmp ebx, eax
jle 0x5d8621
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 0x10
jne 0x5d8621
mov eax, esi
add eax, edi
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x80
je 0x5d8575
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x81
je 0x5d8575
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8b
je 0x5d8575
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8c
je 0x5d8575
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x83
je 0x5d8575
cmp ebx, esi
jg 0x5d8674
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x1334]
lea edx, [ebp - 0x7e8]
sub eax, dword [ecx]
push eax
push 0x4c7bc2
push edx
call fcn.005fcc36
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0x15c]
push eax
call fcn.005b9f06
add esp, 0xc
push esi
push 0x91
mov edx, dword [ebp - 0x184]
add edx, edi
push edx
call fcn.005f95aa
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x15c], ecx
jmp 0x5d9170
cmp dword [ebp - 0x158], 1
jne 0x5d8eac
push 0
push 1
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call fcn.0056bf52
add esp, 0x1c
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1338], 0
je 0x5d8748
cmp edi, dword [ebp - 0xe8]
jae 0x5d8748
mov eax, dword [ebp - 0x184]
test byte [eax + edi], 0x20
jne 0x5d871e
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x5d871e
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x184]
mov dl, byte [eax + edi]
and dl, 0xe0
or dl, 0x1e
mov byte [ecx + edi], dl
push edi
mov eax, dword [ebp - 0xf4]
push eax
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.005d0e2e
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
add esp, 0x10
mov dword [ecx + eax*4], edi
inc dword [ebp - 0x14]
jmp 0x5d76a2
mov edx, dword [ebp - 0x1334]
cmp edx, dword [ebp - 0xdc]
jb 0x5d76a2
mov ecx, dword [ebp - 0x1334]
cmp ecx, dword [ebp - 0xe0]
jae 0x5d76a2
mov edi, dword [ebp - 0x1334]
xor eax, eax
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
mov dword [ebp - 0x7c], eax
lea eax, [edi + 4]
cmp eax, dword [ebp - 0xe8]
ja 0x5d8976
mov edx, dword [ebp - 0x180]
mov ecx, dword [edx + edi]
sub ecx, dword [ebp - 0xdc]
xor eax, eax
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1f
je 0x5d880f
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x1e
je 0x5d880f
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x9d
je 0x5d880f
mov edx, dword [ebp - 4]
add edx, edi
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, 0x93
je 0x5d880f
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x5d87a8
cmp dword [ebp - 4], 4
jne 0x5d8962
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jae 0x5d8962
cmp dword [ebp - 0x30], 0
je 0x5d8841
mov ecx, dword [ebp - 0x188]
test byte [ecx + edi], 8
je 0x5d8962
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
test byte [eax + edx], 0x80
je 0x5d88a2
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x5d88a2
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x5d88a2
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5d8962
mov ecx, dword [ebp - 0x188]
or byte [ecx + edi], 0x20
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x84
inc edi
mov edx, dword [ebp - 0x184]
mov byte [edx + edi], 0x83
inc edi
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x83
inc edi
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 0x83
inc edi
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
test byte [edx + ecx], 0x20
jne 0x5d8927
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x5d8927
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov cl, byte [eax + edx]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
and cl, 0xe0
or cl, 0x1e
mov byte [eax + edx], cl
mov ecx, dword [ebp - 0x13c]
push ecx
mov eax, dword [ebp - 0xf4]
push eax
push 2
mov edx, dword [ebp + 8]
push edx
call fcn.005d0e2e
add esp, 0x10
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x5d8970
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x5d8970
test ebx, ebx
jne 0x5d8976
mov dword [ebp - 0x7c], 1
add edi, 4
inc ebx
jmp 0x5d877f
mov eax, dword [ebp - 0x7c]
add eax, 2
cmp ebx, eax
jl 0x5d8ba2
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp + 8]
add edx, dword [ebp - 0xdc]
sub edx, dword [ecx]
push edx
cmp dword [ebp - 0x7c], 0
je 0x5d89a3
mov eax, 0x4c7bff
jmp 0x5d89a8
mov eax, 0x4c666c
push eax
push 0x4c7be0
lea edx, [ebp - 0x7e8]
push edx
call fcn.005fcc36
add esp, 0x10
mov dword [ebp - 8], eax
lea ecx, [ebp - 0xeec]
push ecx
push 0x3a
mov eax, dword [ebp - 0x7c]
shl eax, 2
add eax, dword [ebp - 0x1334]
push eax
call fcn.005ba9ca
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xc
jle 0x5d8a46
push 0xc
push 0x4c7c0a
lea edx, [ebp - 0xeec]
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x5d8a46
lea eax, [ebp - 0x7e8]
lea edx, [ebp - 0xeec]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x5d8a29
test cl, cl
je 0x5d8a46
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x5d8a29
add eax, 2
add edx, 2
test cl, cl
jne 0x5d8a0d
je 0x5d8a46
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
mov edi, eax
mov esi, 0x4c7bb0
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
mov ecx, dword [ebp - 0x7c]
shl ecx, 2
add ecx, dword [ebp - 0x1334]
push ecx
call fcn.005b9f06
add esp, 0xc
cmp dword [ebp - 0x15c], 0
je 0x5d8ba2
mov edi, dword [ebp - 0x15c]
sub edi, dword [ebp - 0xdc]
xor esi, esi
jmp 0x5d8a82
inc esi
mov eax, esi
add eax, edi
cmp eax, dword [ebp - 0xe8]
jae 0x5d8b49
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
cmp eax, dword [ebp - 0x7c]
jl 0x5d8b49
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
cmp ebx, eax
jle 0x5d8b49
mov edx, esi
add edx, edi
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx], 0x10
jne 0x5d8b49
mov eax, esi
add eax, edi
mov edx, dword [ebp - 0x184]
test byte [edx + eax], 0x80
je 0x5d8a81
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x81
je 0x5d8a81
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8b
je 0x5d8a81
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x8c
je 0x5d8a81
mov ecx, esi
add ecx, edi
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x83
je 0x5d8a81
cmp ebx, esi
jg 0x5d8ba2
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp + 8]
shl ecx, 2
lea edx, [ebp - 0x7e8]
add ecx, dword [ebp - 0x1334]
sub ecx, dword [eax]
push ecx
push 0x4c7bc2
push edx
call fcn.005fcc36
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0x15c]
push eax
call fcn.005b9f06
add esp, 0xc
push esi
push 0x91
mov edx, dword [ebp - 0x184]
add edx, edi
push edx
call fcn.005f95aa
add esp, 0xc
mov ecx, dword [ebp - 0x7c]
add ecx, 2
cmp ebx, ecx
jge 0x5d8e9f
mov edi, dword [ebp - 0x1334]
xor eax, eax
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x180]
mov edx, dword [eax + edi]
sub edx, dword [ebp - 0xdc]
xor ecx, ecx
mov dword [ebp - 0x13c], edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x5d8c46
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x5d8c46
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 0x9d
je 0x5d8c46
mov eax, dword [ebp - 4]
add eax, edi
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 0x93
je 0x5d8c46
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x5d8bdd
cmp dword [ebp - 4], 4
jne 0x5d8d98
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0xe8]
jae 0x5d8d98
cmp dword [ebp - 0x30], 0
je 0x5d8c78
mov edx, dword [ebp - 0x188]
test byte [edx + edi], 8
je 0x5d8d98
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
test byte [ecx + eax], 0x80
je 0x5d8cd9
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x5d8cd9
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
je 0x5d8cd9
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1f
jne 0x5d8d98
mov edx, dword [ebp - 0x188]
or byte [edx + edi], 0x20
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi], 0x84
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 1], 0x83
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 2], 0x83
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 3], 0x83
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
test byte [eax + edx], 0x20
jne 0x5d8d5d
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x5d8d5d
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
mov dl, byte [ecx + eax]
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x184]
and dl, 0xe0
or dl, 0x1e
mov byte [ecx + eax], dl
mov edx, dword [ebp - 0x13c]
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.005d0e2e
add esp, 0x10
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x24]
jge 0x5d8da3
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x13c]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
jmp 0x5d8da3
test ebx, ebx
jne 0x5d8db1
mov dword [ebp - 0x7c], 1
cmp edi, 4
jb 0x5d8db1
sub edi, 4
inc ebx
jmp 0x5d8bc3
mov ecx, dword [ebp - 0x7c]
add ecx, 2
cmp ebx, ecx
jl 0x5d8e9f
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp + 8]
add eax, dword [ebp - 0xdc]
sub eax, dword [edx]
push eax
cmp dword [ebp - 0x7c], 0
je 0x5d8dde
mov ecx, 0x4c7c40
jmp 0x5d8de3
mov ecx, 0x4c666c
push ecx
push 0x4c7c17
lea eax, [ebp - 0x7e8]
push eax
call fcn.005fcc36
add esp, 0x10
mov dword [ebp - 8], eax
lea edx, [ebp - 0xeec]
mov eax, ebx
push edx
push 0x3a
shl eax, 2
mov edx, dword [ebp - 0x1334]
sub edx, eax
push edx
call fcn.005ba9ca
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xc
jle 0x5d8e82
push 0xc
push 0x4c7c0a
lea ecx, [ebp - 0xeec]
push ecx
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x5d8e82
lea eax, [ebp - 0x7e8]
lea edx, [ebp - 0xeec]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x5d8e65
test cl, cl
je 0x5d8e82
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x5d8e65
add eax, 2
add edx, 2
test cl, cl
jne 0x5d8e49
je 0x5d8e82
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
mov edi, eax
mov esi, 0x4c7bb0
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
shl ebx, 2
mov ecx, dword [ebp - 0x1334]
sub ecx, ebx
push ecx
call fcn.005b9f06
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x15c], eax
jmp 0x5d76a2
cmp dword [ebp - 0x158], 2
jne 0x5d8f81
push 0
push 1
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x150], eax
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1338], 0
je 0x5d9170
cmp edi, dword [ebp - 0xe8]
jae 0x5d9170
mov eax, dword [ebp - 0x184]
test byte [eax + edi], 0x20
jne 0x5d8f57
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x1f
je 0x5d8f57
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x184]
mov dl, byte [eax + edi]
and dl, 0xe0
or dl, 0x1e
mov byte [ecx + edi], dl
push edi
mov eax, dword [ebp - 0xf4]
push eax
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.005d0e2e
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
add esp, 0x10
mov dword [ecx + eax*4], edi
inc dword [ebp - 0x14]
jmp 0x5d9170
cmp dword [ebp - 0x158], 7
je 0x5d76a2
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xf4]
cmp edx, 7
jb 0x5d9170
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp dword [ecx + eax], 0x258964
jne 0x5d9170
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp dword [edx + ecx + 3], 0
jne 0x5d9170
cmp dword [ebp - 0xf4], 0xc
jb 0x5d9170
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
cmp ecx, 0x68
jne 0x5d9170
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
and ecx, 0x1f
cmp ecx, 0x1d
je 0x5d904d
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x5d904d
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx - 0xc]
and ecx, 0x1f
cmp ecx, 0x1f
jne 0x5d9170
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp dword [eax + edx - 7], 0x35ff64
jne 0x5d9076
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp dword [ecx + eax - 4], 0
je 0x5d90aa
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp dword [edx + ecx - 7], 0xa164
jne 0x5d9170
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp dword [eax + edx - 4], 0x50000000
jne 0x5d9170
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax - 0xb]
mov dword [ebp - 0x13c], edx
push 0x4c7c4b
push 0x3a
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xf4]
sub ecx, 0xc
push ecx
call fcn.005b9f06
add esp, 0xc
push 0x4c7c63
push 0x3a
mov eax, dword [ebp - 0x13c]
push eax
call fcn.005b9f06
add esp, 0xc
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xdc]
jbe 0x5d9170
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xe0]
jae 0x5d9170
mov eax, dword [ebp - 0xdc]
sub dword [ebp - 0x13c], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x13c]
test byte [edx + ecx], 0x20
jne 0x5d9153
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
mov cl, byte [eax + edx]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x13c]
and cl, 0xe0
or cl, 0x1f
mov byte [eax + edx], cl
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x5d9170
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jge 0x5da47a
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x150]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x14]
jmp 0x5da47a
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
cmp byte [edx + ecx], 0
je 0x5d923b
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x5d923b
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 3
je 0x5d923b
inc dword [ebp - 0xd8]
jmp 0x5d91f2
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x5d76a2
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x5d91ec
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 3
je 0x5d91ec
jmp 0x5d76a2
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 8
je 0x5d92aa
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x84
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
jmp 0x5d76a2
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax], 0x10
je 0x5d92c7
inc dword [ebp - 0xd8]
jmp 0x5d76a2
cmp dword [ebp - 0x30], 0
jne 0x5d93d5
mov edx, dword [ebp - 0xe8]
sub edx, 8
cmp edx, dword [ebp - 0xd8]
jb 0x5d93d5
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
cmp dword [ecx + eax], 0
jne 0x5d93d5
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
sub eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xe8]
jae 0x5d93d5
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx + 4]
sub eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xe8]
jae 0x5d93d5
jmp 0x5d9399
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 4
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 3
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 3
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 3
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [eax + edx]
sub ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0xe8]
jae 0x5d76a2
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
cmp dword [eax + edx], 0
je 0x5d9341
jmp 0x5d76a2
push 0
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0xd8]
push edx
call fcn.005d5036
add esp, 0x10
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x5d948f
xor ebx, ebx
cmp ebx, dword [ebp - 4]
jge 0x5d9445
mov eax, dword [ebp - 0xd8]
add eax, ebx
cmp eax, dword [ebp - 0xe8]
jae 0x5d9445
mov edx, dword [ebp - 0xd8]
add edx, ebx
mov ecx, dword [ebp - 0x184]
cmp byte [ecx + edx], 0
jne 0x5d9445
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx + 1], 0x10
jne 0x5d9445
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x5d9408
cmp ebx, dword [ebp - 4]
jl 0x5d948f
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x1d
inc dword [ebp - 0xd8]
mov ebx, 1
cmp ebx, dword [ebp - 4]
jge 0x5d76a2
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x13
inc dword [ebp - 0xd8]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x5d946e
jmp 0x5d76a2
cmp dword [0x4d91cc], 0
je 0x5d976e
test byte [ebp - 0xd8], 3
jne 0x5d976e
mov ecx, dword [ebp - 0xd8]
add ecx, 8
cmp ecx, dword [ebp - 0xe8]
jae 0x5d976e
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
cmp dword [eax + edx], 0xffffffff
jne 0x5d976e
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + eax + 4]
mov dword [ebp - 0x13c], edx
test edx, edx
jbe 0x5d976e
cmp dword [ebp - 0x13c], 0x400
jae 0x5d976e
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x13c]
add eax, 8
cmp eax, dword [ebp - 0xe8]
jae 0x5d976e
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x180]
cmp byte [eax + ecx + 8], 0
jne 0x5d976e
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x188]
test byte [ecx + edx + 8], 0x10
jne 0x5d976e
mov dword [ebp - 0x140], 8
jmp 0x5d95b9
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x180]
mov cl, byte [edx + eax]
push ecx
call fcn.005aa80a
pop ecx
test eax, eax
je 0x5d95ca
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x5d95ca
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x184]
test byte [eax + ecx], 0x80
jne 0x5d95ca
inc dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
add edx, 8
cmp edx, dword [ebp - 0x140]
ja 0x5d9563
mov ecx, dword [ebp - 0x13c]
add ecx, 8
cmp ecx, dword [ebp - 0x140]
ja 0x5d976e
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x84
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x84
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 0x83
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x83
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x83
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x13c]
inc edx
push edx
push 0x83
mov ecx, dword [ebp - 0x184]
add ecx, dword [ebp - 0xd8]
push ecx
call fcn.005f95aa
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x140], eax
jmp 0x5d96d8
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edx], 0x8b
add dword [ebp - 0x140], 0x10
mov eax, dword [ebp - 0x13c]
inc eax
cmp eax, dword [ebp - 0x140]
ja 0x5d96bb
mov edx, dword [ebp - 0x13c]
inc edx
add dword [ebp - 0xd8], edx
jmp 0x5d970c
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 1
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x5d76a2
test byte [ebp - 0xd8], 3
je 0x5d76a2
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
cmp byte [ecx + eax], 0
jne 0x5d76a2
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0x10
jne 0x5d76a2
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx], 0x80
je 0x5d96f6
jmp 0x5d76a2
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax]
push edx
call fcn.005aa80a
pop ecx
test eax, eax
je 0x5d9914
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xf4], ecx
jmp 0x5d9806
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov cx, word [eax + edx]
push ecx
call fcn.005aa84a
pop ecx
test eax, eax
je 0x5d9815
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
cmp byte [eax + edx], 0
jne 0x5d9815
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
cmp byte [ecx + eax + 1], 0
jne 0x5d9815
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx], 0x10
jne 0x5d9815
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx + 1], 0x10
jne 0x5d9815
add dword [ebp - 0xf4], 2
mov ecx, dword [ebp - 0xf4]
inc ecx
cmp ecx, dword [ebp - 0xe8]
jb 0x5d979a
mov eax, dword [ebp - 0xf4]
inc eax
cmp eax, dword [ebp - 0xe8]
jae 0x5d9914
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
cmp byte [edx + ecx], 0
jne 0x5d9914
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
cmp byte [eax + edx + 1], 0
jne 0x5d9914
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x10
jne 0x5d9914
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx + 1], 0x10
jne 0x5d9914
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp word [eax + edx], 0
jne 0x5d9914
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0xd8]
cmp ecx, 8
jb 0x5d9914
add dword [ebp - 0xf4], 2
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0xd8]
push eax
push 0x83
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xd8]
push edx
call fcn.005f95aa
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x5d98f2
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 4]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8c
add dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0xf4]
jb 0x5d98db
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd8], eax
jmp 0x5d76a2
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0xf4], 3
jne 0x5d9935
xor eax, eax
mov dword [ebp - 0x6c], eax
jmp 0x5d993c
mov dword [ebp - 0x6c], 1
xor edx, edx
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x78], 0
jne 0x5d996c
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5d996c
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x5d99b7
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x5d99b7
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5d99c3
mov dword [ebp - 0x68], 0x30
jmp 0x5d9cb7
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0xf
mov dword [ebp - 0x150], edx
cmp dword [ebp - 0x150], 0
jne 0x5d99f2
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x40
je 0x5d9a10
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
xor esi, esi
jmp 0x5d9a29
mov eax, dword [ebp - 0xf4]
add eax, esi
mov edx, dword [ebp - 0x184]
cmp byte [edx + eax], 0
jne 0x5d9a31
inc esi
cmp esi, dword [ebp - 0x150]
jb 0x5d9a14
cmp esi, dword [ebp - 0x150]
jae 0x5d9a45
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0x150]
add ecx, 3
cmp ecx, dword [ebp - 0xe8]
ja 0x5d9af2
mov esi, 1
jmp 0x5d9ad6
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
lea ecx, [eax + edx]
mov eax, dword [ecx + esi]
and eax, 0xffffff
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0xec8b55
je 0x5d9a9c
cmp dword [ebp - 0x13c], 0xe58955
jne 0x5d9ad5
mov edx, dword [ebp - 0xf4]
add edx, esi
mov ecx, dword [ebp - 0x188]
mov al, byte [ecx + edx]
mov edx, dword [ebp - 0xf4]
add edx, esi
mov ecx, dword [ebp - 0x188]
or al, byte [ecx + edx + 1]
mov edx, dword [ebp - 0xf4]
add edx, esi
mov ecx, dword [ebp - 0x188]
or al, byte [ecx + edx + 2]
test al, 0x10
je 0x5d9ade
inc esi
cmp esi, dword [ebp - 0x150]
jb 0x5d9a67
cmp esi, dword [ebp - 0x150]
jae 0x5d9af2
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
cmp dword [0x4d91e8], 0
jne 0x5d9b2a
push 0
mov eax, dword [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0xf4]
push edx
call fcn.005d5036
add esp, 0x10
test eax, eax
je 0x5d9b2a
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x60
je 0x5d9b3f
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 6
jge 0x5d9cb7
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 2
je 0x5d9b82
cmp dword [ebp - 0x158], 1
je 0x5d9b82
cmp dword [ebp - 0x158], 3
jne 0x5d9c76
push 0
push 1
lea edx, [ebp - 0x194c]
push edx
push 0
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0056bf52
add esp, 0x1c
cmp dword [ebp - 0x1338], 0
je 0x5d9c76
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp edi, dword [ebp - 0xe8]
jb 0x5d9bf8
cmp dword [ebp - 0x158], 2
jne 0x5d9c76
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
mov eax, dword [ebp - 0x18c]
test byte [eax + edi], 0xf
jne 0x5d9c10
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
mov edx, dword [ebp - 0x184]
test byte [edx + edi], 0x80
je 0x5d9c5e
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0x1f
cmp eax, 0x1d
je 0x5d9c5e
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x5d9c5e
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + edi]
and edx, 0x1f
cmp edx, 0x1f
je 0x5d9c5e
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
cmp dword [ebp - 0x158], 1
jne 0x5d9c76
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0x78], 1
jmp 0x5d9caa
cmp dword [ebp - 0x158], 7
je 0x5d9c88
cmp dword [ebp - 0x158], 1
jne 0x5d9c9e
mov ecx, dword [ebp - 0x6c]
add ecx, ecx
add ecx, 0xfffffffe
cmp ecx, dword [ebp - 0x68]
jle 0x5d9cb7
mov dword [ebp - 0x6c], 6
jmp 0x5d9cb7
mov eax, dword [ebp - 0x150]
add dword [ebp - 0xf4], eax
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 0x30
jl 0x5d9941
cmp dword [ebp - 0x6c], 6
jge 0x5d9d19
mov edx, dword [ebp - 0xd8]
inc edx
test dl, 3
jne 0x5d9d19
mov ecx, dword [ebp - 0xd8]
add ecx, 2
cmp ecx, dword [ebp - 0xe8]
ja 0x5d9d19
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
cmp byte [eax + edx], 0
jne 0x5d9d19
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax + 1], 0xf
je 0x5d9d19
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx + 1], 0x60
jne 0x5d9d19
mov dword [ebp - 0x6c], 6
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx]
push ecx
call fcn.005aa80a
pop ecx
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 2
mov eax, 1
je 0x5d9d3e
dec eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x6c], 6
jge 0x5d9dc4
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc3
je 0x5d9dbf
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xcc
je 0x5d9dbf
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xe8
je 0x5d9dbf
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xe9
je 0x5d9dbf
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xeb
jne 0x5d9dc4
xor edx, edx
mov dword [ebp - 0x74], edx
mov ebx, 1
jmp 0x5d9e1a
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x5d9e2a
mov ecx, dword [ebp - 0xd8]
add ecx, ebx
mov eax, dword [ebp - 0x184]
test byte [eax + ecx], 0x80
jne 0x5d9e2a
mov edx, dword [ebp - 0xd8]
add edx, ebx
mov ecx, dword [ebp - 0x180]
mov al, byte [ecx + edx]
push eax
call fcn.005aa80a
pop ecx
mov esi, eax
test esi, esi
je 0x5d9e2a
cmp esi, 2
jne 0x5d9e19
inc dword [ebp - 0x70]
inc ebx
mov eax, dword [ebp - 0xd8]
add eax, ebx
cmp eax, dword [ebp - 0xe8]
jb 0x5d9dcb
cmp dword [ebp - 0x74], 0
je 0x5da148
cmp ebx, 2
jl 0x5da148
mov edx, dword [ebp - 0xd8]
add edx, ebx
cmp edx, dword [ebp - 0xe8]
jae 0x5da148
mov ecx, dword [ebp - 0xd8]
add ecx, ebx
mov eax, dword [ebp - 0x180]
cmp byte [eax + ecx], 0
jne 0x5da148
mov edx, dword [ebp - 0xd8]
add edx, ebx
mov ecx, dword [ebp - 0x184]
test byte [ecx + edx], 0x80
jne 0x5da148
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x188]
test byte [edx + eax], 0x10
jne 0x5da148
cmp dword [ebp - 0x30], 0
jne 0x5d9f07
mov ecx, dword [ebp - 0xd8]
add ecx, 4
cmp ecx, dword [ebp - 0xe8]
ja 0x5d9f07
cmp ebx, 4
jg 0x5d9f07
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [eax + edx]
mov eax, dword [ebp + 8]
cmp ecx, dword [eax]
jb 0x5d9f07
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov edx, dword [ebp + 8]
add ecx, dword [edx + 4]
cmp eax, ecx
jae 0x5d9f07
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + ecx]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
jne 0x5da35a
cmp dword [0x4d91cc], 0
je 0x5da0b7
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
dec eax
jle 0x5da0b7
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x10
jge 0x5da0b7
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp ebx, eax
jle 0x5da0b7
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
add eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x5da0b7
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx + 1]
lea edx, [ebx - 1]
cmp eax, edx
jle 0x5da0b7
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 3
jg 0x5da028
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax + 1]
push edx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5da0b7
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax + 2]
push edx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5da0b7
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 3
jl 0x5da028
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov dl, byte [ecx + eax + 3]
push edx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5da0b7
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 0x81
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
push eax
push 0x83
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xd8]
inc edx
push edx
call fcn.005f95aa
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x5da084
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 4]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax + 1], 0x8b
add dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, dword [ebp - 4]
jg 0x5da06c
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
inc edx
add dword [ebp - 0xd8], edx
jmp 0x5d76a2
cmp dword [ebp - 0x6c], 1
jg 0x5da0e9
mov ecx, 3
sub ecx, dword [ebp - 0x6c]
cmp ebx, ecx
jle 0x5da0cf
cmp dword [ebp - 0x70], 0
jle 0x5da0e9
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x5d76a2
cmp ebx, 2
jg 0x5da0f8
cmp dword [ebp - 0x70], 0
jne 0x5da35a
lea eax, [ebx + 1]
push eax
push 0x83
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xd8]
push edx
call fcn.005f95aa
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp ebx, dword [ebp - 4]
jl 0x5da13c
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 4]
mov edx, dword [ebp - 0x184]
mov byte [edx + eax], 0x8b
add dword [ebp - 4], 0x10
cmp ebx, dword [ebp - 4]
jge 0x5da120
inc ebx
add dword [ebp - 0xd8], ebx
jmp 0x5d76a2
cmp dword [0x4d91cc], 0
je 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
dec ecx
jle 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ebx, ecx
jle 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
add ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 1]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
je 0x5da1de
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
cmp ebx, ecx
jg 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 3
jg 0x5da2cb
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 1]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 1]
push ecx
call fcn.005aa80a
pop ecx
cmp eax, 2
je 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 2]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 2]
push ecx
call fcn.005aa80a
pop ecx
cmp eax, 2
je 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 3
jl 0x5da2cb
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 3]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5da35a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
mov cl, byte [eax + edx + 3]
push ecx
call fcn.005aa80a
pop ecx
cmp eax, 2
je 0x5da35a
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 0x81
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
push edx
push 0x83
mov ecx, dword [ebp - 0x184]
add ecx, dword [ebp - 0xd8]
inc ecx
push ecx
call fcn.005f95aa
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x5da327
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edx + 1], 0x8b
add dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, dword [ebp - 4]
jg 0x5da30f
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
inc ecx
add dword [ebp - 0xd8], ecx
jmp 0x5d76a2
cmp dword [ebp - 0x6c], 6
jge 0x5da37a
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x5d76a2
cmp dword [ebp - 0x30], 0
jne 0x5da464
mov eax, dword [ebp - 0xd8]
add eax, 4
cmp eax, dword [ebp - 0xe8]
ja 0x5da464
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
mov edx, dword [ebp + 8]
cmp eax, dword [edx]
jb 0x5da464
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + eax]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 4]
cmp edx, eax
jae 0x5da464
cmp dword [ebp - 0x30], 0
je 0x5da3ed
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
test byte [edx + eax], 8
je 0x5da464
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + ecx]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5da464
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 4
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 3
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
mov byte [ecx + eax], 3
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
mov byte [edx + ecx], 3
inc dword [ebp - 0xd8]
jmp 0x5d76a2
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 1
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jb 0x5d76b4
push 0
push 0x32
mov eax, dword [ebp - 0xdc]
push eax
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x5da4b1
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
jmp 0x5da523
push 0
call fcn.005bae66
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x5da523
mov ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x9d
je 0x5da4ff
mov ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 0x9e
jne 0x5da515
mov ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
mov byte [eax + ecx], 0x9f
push 0
call fcn.005bae66
pop ecx
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xdc]
jb 0x5da53f
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe0]
jb 0x5da4c1
xor eax, eax
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x5da5c2
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
or byte [ecx + eax], 0x80
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
and byte [edx + ecx], 0xdf
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x1d
je 0x5da5ae
cmp dword [ebp - 0x2c], 0x1e
je 0x5da5ae
cmp dword [ebp - 0x2c], 0x1f
je 0x5da5ae
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
and byte [eax + edx], 0xf8
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jb 0x5da555
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
je 0x5da6aa
mov edx, dword [ebp + 8]
cmp dword [edx + 0x425], 0
jle 0x5da6aa
push 0x47aecc
push 9
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x425]
push eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
push ecx
call fcn.006024fe
add esp, 0x10
xor eax, eax
mov esi, eax
mov ebx, eax
jmp 0x5da692
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 8]
lea eax, [esi + esi*8]
mov ecx, dword [edx + 0x421]
lea edx, [ebx + ebx*8]
mov edi, dword [edi + 0x421]
lea eax, [ecx + eax]
inc ebx
mov ecx, dword [edi + edx]
mov dword [eax], ecx
mov ecx, dword [edi + edx + 4]
mov dword [eax + 4], ecx
mov cl, byte [edi + edx + 8]
mov byte [eax + 8], cl
jmp 0x5da642
inc ebx
mov edx, dword [ebp + 8]
cmp ebx, dword [edx + 0x425]
jge 0x5da691
mov edx, dword [ebp + 8]
lea eax, [esi + esi*8]
mov ecx, dword [edx + 0x421]
lea edx, [ebx + ebx*8]
mov eax, dword [ecx + eax + 1]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x421]
cmp eax, dword [ecx + edx + 1]
jne 0x5da691
mov edx, dword [ebp + 8]
lea eax, [esi + esi*8]
lea ecx, [ebx + ebx*8]
mov edx, dword [edx + 0x421]
mov eax, dword [edx + eax + 5]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
cmp eax, dword [edx + ecx + 5]
je 0x5da641
inc esi
mov eax, dword [ebp + 8]
cmp ebx, dword [eax + 0x425]
jl 0x5da610
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x425], esi
mov eax, dword [ebp - 0x24]
shl eax, 2
push eax
push 0
call fcn.006050fa
mov dword [ebp - 0x170], eax
push 0xc000
push 0
push 0
push 0
push 0
call fcn.00583622
add esp, 0x14
xor edx, edx
mov dword [ebp - 0x90], edx
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
xor eax, eax
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jae 0x5db6eb
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0x118]
jbe 0x5da794
jmp 0x5da72b
cmp dword [ebp - 0x2438], 0x20
je 0x5e0c3f
cmp dword [ebp - 0x2438], 0x1b
je 0x5e0c3f
push 1
push 0x100
push 0x100
mov eax, dword [0x4d3b7c]
push eax
lea edx, [ebp - 0x2440]
push edx
call fcn.00605538
test eax, eax
jne 0x5da711
lea ecx, [ebp - 0x8e8]
push ecx
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xc8]
sub edx, dword [ebp - 0xc4]
push edx
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0060515a
add eax, dword [ebp - 0xc4]
push eax
call fcn.0058782a
add esp, 8
mov eax, dword [ebp - 0xd8]
add eax, 0x2710
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9d
je 0x5da7e7
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9e
je 0x5da7e7
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9f
je 0x5da7e7
inc dword [ebp - 0xd8]
jmp 0x5da6eb
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x9f
je 0x5da9fe
cmp dword [0x4d91c8], 0
jne 0x5da817
inc dword [ebp - 0xd8]
jmp 0x5da6eb
mov edx, dword [ebp - 0xd8]
add edx, 4
cmp edx, dword [ebp - 0xe8]
jbe 0x5da833
inc dword [ebp - 0xd8]
jmp 0x5da6eb
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
and ecx, 0xffffff
cmp ecx, 0xec8b55
je 0x5da9fe
mov eax, dword [ebp - 0x13c]
and eax, 0xffffff
cmp eax, 0xe58955
je 0x5da9fe
mov edx, dword [ebp - 0x13c]
and edx, 0xff0003ff
cmp edx, 0xc8
je 0x5da9fe
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0x55
jne 0x5da9ea
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax + 1]
and edx, 0x1f
cmp edx, 0x1d
jne 0x5da9ea
mov ecx, dword [ebp - 0xd8]
add ecx, 2
mov dword [ebp - 0xf4], ecx
jmp 0x5da8dd
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x5da904
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x5da8d7
mov edx, dword [ebp - 0xf4]
add edx, 2
cmp edx, dword [ebp - 0xe8]
jae 0x5da95e
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
jne 0x5da95e
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp word [ecx + eax], 0xec8b
je 0x5da9fe
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xe589
je 0x5da9fe
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1d
jne 0x5da9ea
inc dword [ebp - 0xf4]
jmp 0x5da985
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x5da9ac
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x13
je 0x5da97f
mov edx, dword [ebp - 0xf4]
add edx, 2
cmp edx, dword [ebp - 0xe8]
jae 0x5da9ea
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
jne 0x5da9ea
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
cmp word [ecx + eax], 0xec8b
je 0x5da9fe
cmp dword [0x4d91c8], 1
jg 0x5da9fe
inc dword [ebp - 0xd8]
jmp 0x5da6eb
mov edx, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov dword [ebp - 0x104], 0xffffffff
mov dword [ebp - 0x108], ecx
xor eax, eax
mov dword [ebp - 0x80], eax
xor edx, edx
mov dword [ebp - 0x84], edx
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0xd8]
mov dword [eax], edx
xor eax, eax
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
mov dword [ebp - 0x14], 1
jmp 0x5db274
dec dword [ebp - 0x14]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x14]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x5db274
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
cmp byte [edx + ecx], 0
jne 0x5daab1
mov dword [ebp - 0x80], 1
jmp 0x5db274
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx], 0x80
jne 0x5db274
test esi, esi
jne 0x5daae1
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x40
jne 0x5db274
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xd8]
je 0x5dab43
cmp dword [ebp - 0x2c], 0x1f
jne 0x5dab43
cmp dword [0x4d91c8], 2
jl 0x5dab1e
cmp dword [ebp - 0x84], 0
jne 0x5dab43
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x5dab43
mov dword [ebp - 0x80], 1
jmp 0x5db274
cmp dword [ebp - 0x2c], 0x1d
je 0x5dab61
cmp dword [ebp - 0x2c], 0x1e
je 0x5dab61
cmp dword [ebp - 0x2c], 0x1f
je 0x5dab61
mov dword [ebp - 0x80], 1
jmp 0x5db274
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x40
test esi, esi
je 0x5dab85
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
or byte [edx + ecx], 0x80
cmp dword [ebp - 0x170], 0
je 0x5dabab
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jge 0x5dabab
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xfc]
jae 0x5dabc5
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jb 0x5dabe0
mov edx, dword [ebp - 0xf4]
inc edx
mov dword [ebp - 0x100], edx
push 0
lea ecx, [ebp - 0x194c]
push 1
push ecx
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x5dac3f
cmp dword [ebp - 0x1314], 0
je 0x5dac4b
mov dword [ebp - 0x80], 1
jmp 0x5db274
xor ebx, ebx
lea eax, [ebp - 0x12d0]
mov dword [ebp - 0x1d8], eax
lea edx, [ebp - 0x1153]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
cmp dword [ecx], 0
je 0x5dac99
mov eax, dword [ebp - 0x1d8]
test byte [eax], 0x20
jne 0x5dac99
mov edx, dword [ebp - 0x1d8]
xor ecx, ecx
mov cl, byte [edx + 7]
dec ecx
je 0x5dac99
mov eax, dword [ebp - 0x1d8]
xor edx, edx
mov dl, byte [eax + 6]
dec edx
je 0x5dac99
jmp 0x5dacad
inc ebx
add dword [ebp - 0x1d8], 0xf
add dword [ebp - 0x1d4], 4
cmp ebx, 3
jl 0x5dac65
cmp ebx, 3
jl 0x5dacc2
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xf4]
and byte [ecx + eax], 0x7f
cmp dword [ebp - 0x1310], 0
je 0x5dad81
test byte [ebp - 0x1310], 1
je 0x5dace5
cmp dword [0x4d91d4], 0
je 0x5dad75
test byte [ebp - 0x1310], 2
je 0x5dacf7
cmp dword [0x4d91d8], 0
je 0x5dad75
test byte [ebp - 0x1310], 4
je 0x5dad09
cmp dword [0x4d91e0], 0
je 0x5dad75
test byte [ebp - 0x1310], 8
je 0x5dad1b
cmp dword [0x4d91e4], 0
je 0x5dad75
test byte [ebp - 0x1310], 0x10
je 0x5dad2d
cmp dword [0x4d91ec], 0
je 0x5dad75
test byte [ebp - 0x1310], 0x20
je 0x5dad3f
cmp dword [0x4d91f0], 0
je 0x5dad75
test byte [ebp - 0x1310], 0x40
je 0x5dad51
cmp dword [0x4d91f4], 0
je 0x5dad75
test byte [ebp - 0x1310], 0x80
je 0x5dad63
cmp dword [0x4d91f8], 0
je 0x5dad75
test byte [ebp - 0x130f], 1
je 0x5dad81
cmp dword [0x4d91fc], 0
jne 0x5dad81
mov dword [ebp - 0x80], 1
jmp 0x5db274
and dword [ebp - 0x1348], 0xf0
mov edi, dword [ebp - 0x1338]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x1348], 0x50
je 0x5dadc8
cmp dword [ebp - 0x1348], 0x70
jne 0x5daefc
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
dec ecx
jne 0x5daefc
cmp dword [ebp - 0x1348], 0x70
jne 0x5dadd3
xor esi, esi
cmp dword [ebp - 0x1338], 0
je 0x5dae29
cmp edi, dword [ebp - 0xe8]
jae 0x5dae10
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jge 0x5db274
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov dword [edx + ecx*4], edi
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], esi
inc dword [ebp - 0x14]
jmp 0x5db274
cmp dword [0x4d91c8], 2
jge 0x5db274
mov dword [ebp - 0x80], 1
jmp 0x5db274
mov ecx, dword [ebp - 0x1334]
cmp ecx, dword [ebp - 0xdc]
jb 0x5daed9
mov eax, dword [ebp - 0x1334]
cmp eax, dword [ebp - 0xe0]
jae 0x5daed9
mov edi, dword [ebp - 0x1334]
sub edi, dword [ebp - 0xdc]
xor ebx, ebx
cmp edi, dword [ebp - 0xe8]
jae 0x5db274
mov eax, dword [ebp - 0x180]
mov edx, dword [eax + edi]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0x1f
cmp eax, 4
jne 0x5dae9d
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0xe8]
jb 0x5daeaa
test ebx, ebx
jne 0x5db274
add edi, 4
jmp 0x5daed6
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x5daed3
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], esi
inc dword [ebp - 0x14]
add edi, 4
inc ebx
jmp 0x5dae5b
mov dword [ebp - 0x88], 1
cmp dword [0x4d91c8], 0
jne 0x5db274
mov dword [ebp - 0x80], 1
jmp 0x5db274
cmp dword [ebp - 0x1348], 0x60
jne 0x5daf4e
cmp dword [ebp - 0x1338], 0
je 0x5daf42
cmp edi, dword [ebp - 0xe8]
jae 0x5daf42
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jge 0x5db256
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x14]
mov dword [ecx + eax*4], esi
inc dword [ebp - 0x14]
jmp 0x5db256
mov dword [ebp - 0x80], 1
jmp 0x5db256
cmp dword [ebp - 0x1348], 0x80
je 0x5daf6a
cmp dword [ebp - 0x1348], 0xa0
jne 0x5db089
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jb 0x5daf85
mov ecx, dword [ebp - 0xf4]
inc ecx
mov dword [ebp - 0x100], ecx
cmp esi, dword [ebp - 0xdc]
jb 0x5db046
cmp esi, dword [ebp - 0xe0]
jae 0x5db046
mov eax, dword [ebp + 8]
mov edx, esi
lea ecx, [ebp - 0x7e8]
sub edx, dword [eax]
push edx
push 0x4c7c80
push ecx
call fcn.005fcc36
add esp, 0xc
lea eax, [ebp - 0x7e8]
push eax
push 0x3a
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call fcn.005ba30e
add esp, 0xc
mov ecx, esi
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x1d
jne 0x5db01e
mov ecx, esi
mov eax, dword [ebp - 0x184]
sub ecx, dword [ebp - 0xdc]
mov dl, byte [eax + ecx]
mov ecx, esi
xor dl, byte [ebp - 0x2c]
mov eax, dword [ebp - 0x184]
or dl, 0x1e
sub ecx, dword [ebp - 0xdc]
mov byte [eax + ecx], dl
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
sub esi, dword [ebp - 0xdc]
mov dword [edx + ecx*4], esi
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x14]
xor ecx, ecx
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x5db274
mov eax, dword [ebp - 0x104]
cmp eax, dword [ebp - 0xf4]
jbe 0x5db060
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x108]
cmp ecx, dword [ebp - 0xf4]
jae 0x5db07a
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x84], 1
jmp 0x5db274
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x68
jne 0x5db0ca
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
mov esi, dword [edx + ecx + 1]
cmp esi, dword [ebp - 0xdc]
jb 0x5db0c3
cmp esi, dword [ebp - 0xe0]
jb 0x5db256
xor esi, esi
jmp 0x5db256
cmp dword [ebp - 0x1348], 0x70
jne 0x5db1d1
cmp dword [ebp - 0x131c], 0
jne 0x5db127
push 0
lea eax, [ebp - 0x194c]
push 4
push eax
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0056bf52
add esp, 0x1c
cmp dword [ebp - 0x131c], 0
je 0x5db1ca
mov ecx, dword [ebp - 0x131c]
push ecx
call fcn.005d3572
pop ecx
mov dword [ebp - 0x131c], eax
cmp dword [ebp - 0x131c], 0
je 0x5db1ca
mov eax, dword [ebp - 0x131c]
cmp eax, dword [ebp - 0x160]
je 0x5db16c
mov edx, dword [ebp - 0x131c]
cmp edx, dword [ebp - 0x164]
jne 0x5db1ca
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x100]
jb 0x5db187
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0xf4]
jbe 0x5db1a1
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0xf4]
jae 0x5db1bb
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x84], 1
jmp 0x5db274
xor esi, esi
jmp 0x5db256
cmp dword [ebp - 0x1348], 0x10
je 0x5db23a
cmp dword [ebp - 0x1348], 0x20
je 0x5db23a
cmp dword [ebp - 0x1348], 0xf0
je 0x5db23a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x9d
je 0x5db23a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc8
je 0x5db23a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc9
jne 0x5db23e
xor esi, esi
jmp 0x5db256
xor eax, eax
mov al, byte [ebp - 0x12d0]
cmp eax, 0x24
jne 0x5db256
cmp byte [ebp - 0x12ca], 0
je 0x5db256
xor esi, esi
mov eax, dword [ebp - 0x150]
add dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jb 0x5daa93
cmp dword [ebp - 0x14], 0
jle 0x5db284
cmp dword [ebp - 0x80], 0
je 0x5daa60
mov ecx, dword [ebp - 0xfc]
inc ecx
cmp ecx, dword [ebp - 0x100]
jne 0x5db29a
mov dword [ebp - 0x80], 1
cmp dword [ebp - 0x84], 0
jne 0x5db2bc
cmp dword [0x4d91c8], 2
jl 0x5db2b5
cmp dword [ebp - 0x88], 0
jne 0x5db2bc
mov dword [ebp - 0x80], 1
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x80], 0
jne 0x5db4a9
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x100]
jae 0x5db468
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x1d
je 0x5db328
cmp dword [ebp - 0x2c], 0x1e
je 0x5db328
cmp dword [ebp - 0x2c], 0x1f
jne 0x5db450
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx], 0x40
je 0x5db34b
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x110], ecx
jmp 0x5db450
mov eax, 4
cmp dword [0x4d91c8], 0
je 0x5db35c
add eax, 0xc
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0x180]
push ecx
mov eax, dword [ebp - 0xf4]
push eax
call fcn.005d5036
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
je 0x5db3c0
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
and byte [edx + ecx], 0x7f
mov ebx, 1
cmp ebx, dword [ebp - 8]
jge 0x5db450
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
and byte [eax + edx], 0x7f
inc ebx
cmp ebx, dword [ebp - 8]
jl 0x5db39f
jmp 0x5db450
cmp dword [0x4d91c8], 1
jg 0x5db3d5
mov dword [ebp - 0x80], 1
jmp 0x5db468
mov ecx, dword [ebp - 0x24]
dec ecx
cmp ecx, dword [ebp - 0x18]
jle 0x5db41e
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x10c]
jbe 0x5db41e
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x110]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
jmp 0x5db41e
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jae 0x5db43e
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x40
je 0x5db418
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jb 0x5db2fb
mov ecx, dword [ebp - 0x24]
dec ecx
cmp ecx, dword [ebp - 0x18]
jle 0x5db4a9
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x10c]
jbe 0x5db4a9
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x110]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x170], 0
je 0x5db4dc
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x5db4dc
xor ebx, ebx
cmp ebx, dword [ebp - 0x1c]
jge 0x5db51a
mov eax, dword [ebp - 0x170]
mov edx, dword [eax + ebx*4]
mov ecx, dword [ebp - 0x188]
and byte [ecx + edx], 0xbf
inc ebx
cmp ebx, dword [ebp - 0x1c]
jl 0x5db4c1
jmp 0x5db51a
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jae 0x5db51a
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
and byte [ecx + eax], 0xbf
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jb 0x5db4f6
cmp dword [ebp - 0x80], 0
jne 0x5db5fa
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x5db6d3
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xfc]
test byte [edx + ecx], 0x60
jne 0x5db570
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xfc]
or byte [eax + edx], 0x20
mov ecx, dword [ebp - 0xfc]
inc ecx
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x100]
jae 0x5db5c1
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x140]
mov al, byte [edx + ecx]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x184]
and al, 0x9f
or al, 0x40
mov byte [edx + ecx], al
inc dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x100]
jb 0x5db58b
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x100]
test byte [edx + ecx], 0x60
jne 0x5db5e3
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x100]
or byte [eax + edx], 0x60
inc dword [ebp - 0x90]
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x5db52f
jmp 0x5db6d3
cmp dword [0x4d91c8], 2
jl 0x5db6d3
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x5db6d3
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
je 0x5db6d3
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x13
jne 0x5db66a
inc dword [ebp - 0xd8]
jmp 0x5db645
cmp dword [ebp - 0x2c], 0x1d
jne 0x5da6eb
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x5db6a4
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
jne 0x5db6c8
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0x1f
cmp edx, 0x13
je 0x5db6a4
jmp 0x5da6eb
inc dword [ebp - 0xd8]
jmp 0x5db645
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jb 0x5da6fd
xor eax, eax
mov dword [ebp - 0xd8], eax
jmp 0x5db8c4
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x20
jne 0x5db8be
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
test byte [edx + ecx], 0x80
jne 0x5db8be
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
or byte [eax + edx], 0x80
mov ecx, dword [ebp - 0xd8]
inc ecx
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x5db8be
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1d
je 0x5db787
cmp dword [ebp - 0x2c], 0x1e
je 0x5db787
cmp dword [ebp - 0x2c], 0x1f
jne 0x5db8a6
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xf4]
test byte [edx + ecx], 0x80
jne 0x5db8be
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
cmp ecx, 3
je 0x5db8be
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x60
cmp ecx, 0x60
jne 0x5db8a6
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x5db868
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
mov edx, dword [eax + edx + 1]
cmp edx, dword [ebp - 0xd8]
jb 0x5db865
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xf4]
ja 0x5db865
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
movzx eax, byte [ecx + eax]
cmp eax, 3
je 0x5db865
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
mov edx, dword [eax + edx + 5]
cmp edx, dword [ebp - 0xd8]
jb 0x5db87a
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 5]
cmp ecx, dword [ebp - 0xf4]
ja 0x5db87a
inc dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x425]
cmp edx, dword [ebp - 4]
jg 0x5db7e1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x425]
cmp eax, dword [ebp - 4]
jg 0x5db8be
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd8]
and byte [edx + ecx], 0x7f
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd8], eax
jmp 0x5db8be
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jb 0x5db75a
inc dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xe8]
jae 0x5db8e2
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
jne 0x5db6f8
push 0xc000
push 0
push 0
push 0
push 0
call fcn.00583622
add esp, 0x14
xor edx, edx
mov dword [ebp - 0x48], edx
cmp dword [0x4d9210], 0
je 0x5dd6be
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
xor eax, eax
mov dword [ebp - 0x60], eax
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x50], 0x400
mov ecx, dword [ebp - 0x50]
mov eax, ecx
shl ecx, 4
add ecx, eax
shl ecx, 3
push ecx
push 0
call fcn.006050fa
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
jne 0x5dd65a
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xd8], edx
jmp 0x5dd65a
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x1d
je 0x5db98f
cmp dword [ebp - 0x2c], 0x1e
je 0x5db98f
cmp dword [ebp - 0x2c], 0x1f
je 0x5db98f
inc dword [ebp - 0xd8]
jmp 0x5dd65a
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xd8]
test byte [ecx + eax], 7
je 0x5db9ac
inc dword [ebp - 0xd8]
jmp 0x5dd65a
cmp dword [ebp - 0x170], 0
je 0x5db9e0
cmp dword [ebp - 0x1c], 0
jle 0x5db9e0
xor ebx, ebx
cmp ebx, dword [ebp - 0x1c]
jge 0x5db9db
mov eax, dword [ebp - 0x170]
mov edx, dword [eax + ebx*4]
mov ecx, dword [ebp - 0x188]
and byte [ecx + edx], 0x7f
inc ebx
cmp ebx, dword [ebp - 0x1c]
jl 0x5db9c2
xor eax, eax
mov dword [ebp - 0x1c], eax
xor edx, edx
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], ecx
mov eax, dword [ebp - 0x1ac]
mov dword [eax], 1
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xd8]
mov dword [edx + 4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 8], 0xffffffff
mov edx, dword [ebp - 0x1ac]
mov dword [edx + 0xc], ecx
xor edx, edx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 0x10], edx
xor eax, eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + 0x14], eax
xor eax, eax
mov edx, dword [ebp - 0x1ac]
xor ebx, ebx
mov dword [edx + 0x18], 0xffffffff
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp - 0x1ac]
mov dword [edx + 0x3c], 0xffffffff
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp - 0x1ac]
mov byte [eax + ebx + 0x60], 0
inc ebx
cmp ebx, 8
jl 0x5dba6e
mov dword [ebp - 0x4c], 1
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x4c], 0
jle 0x5dcb7e
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff8
cmp eax, dword [ebp - 0x14]
jle 0x5dcb7e
mov edx, dword [ebp - 0x50]
add edx, 0xfffffffe
cmp edx, dword [ebp - 0x4c]
jle 0x5dcb7e
dec dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov eax, ecx
shl ecx, 4
add ecx, eax
shl ecx, 3
add ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx + 4]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xf4]
add eax, 0x20
cmp eax, dword [ebp - 0xe8]
ja 0x5dba90
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1d
je 0x5dbb21
cmp dword [ebp - 0x2c], 0x1e
je 0x5dbb21
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x5dcb7e
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
test byte [ecx + eax], 0x80
je 0x5dbb45
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xd8]
jne 0x5dca7b
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
je 0x5dbc76
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
je 0x5dbc76
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005d520a
add esp, 8
mov esi, eax
test esi, esi
jl 0x5dbc76
mov eax, dword [ebp - 0x1ac]
test byte [eax], 4
je 0x5dca7b
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x425]
dec ecx
cmp esi, ecx
jge 0x5dbbbd
lea eax, [esi + esi*8]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 0xe]
cmp eax, dword [ebp - 0xf4]
je 0x5dca7b
push 1
push 1
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0x180]
push edx
call fcn.005d494a
add esp, 0x18
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x5dbc42
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x5dbc42
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5dbc76
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
dec edx
je 0x5dbc76
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 7
cmp edx, 7
jne 0x5dca7b
lea ecx, [ebp - 0x3c]
push ecx
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 0x128]
push edx
mov ecx, dword [ebp - 0x188]
add ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.005d1472
add esp, 0x18
mov ebx, eax
test ebx, ebx
jle 0x5dbdde
mov eax, dword [ebp - 0x1ac]
cmp dword [eax + 0x18], 0xffffffff
jne 0x5dbce0
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx + 0x60], 0
jmp 0x5dbcf2
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x18]
cmp eax, dword [ebp - 0xc]
jne 0x5dca7b
mov edx, dword [ebp - 0x1ac]
test byte [edx], 2
jne 0x5dca7b
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x170], 0
je 0x5dbd37
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x5dbd37
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xf4]
add ecx, ebx
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x128]
mov dword [eax + 0x14], ecx
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x5dbd9f
mov edx, dword [ebp - 0x1ac]
mov dword [edx], 1
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x10], eax
mov dword [ebp - 0x44], 1
jmp 0x5dbdd6
cmp dword [ebp - 0x3c], 1
jne 0x5dbdb3
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx], 2
jmp 0x5dbdd6
mov eax, dword [ebp - 0x1ac]
xor edx, edx
mov dword [eax], edx
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x10], eax
mov dword [ebp - 0x44], 1
inc dword [ebp - 0x4c]
jmp 0x5dba90
mov ecx, dword [ebp - 0x1ac]
lea edx, [ebp - 0x128]
mov eax, dword [ecx + 0x10]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x128], eax
push edx
push ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.005d1d1a
add esp, 0x10
mov ebx, eax
test ebx, ebx
jle 0x5dbecd
mov eax, dword [ebp - 0x1ac]
test byte [eax], 2
jne 0x5dca7b
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
or byte [edx + ecx], 0x80
cmp dword [ebp - 0x170], 0
je 0x5dbe66
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jge 0x5dbe66
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
add edx, ebx
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x128]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1ac]
mov byte [edx + ecx + 0x60], 0
mov eax, dword [ebp - 0x1ac]
mov dword [eax], 1
mov dword [ebp - 0x44], 1
inc dword [ebp - 0x4c]
jmp 0x5dba90
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0xc]
push ecx
lea eax, [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x188]
add edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.005d10fa
add esp, 0x14
mov ebx, eax
test ebx, ebx
jle 0x5dbf77
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0xc]
je 0x5dca7b
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xc]
mov byte [ecx + eax + 0x60], 1
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x128]
mov dword [edx + ecx*4 + 0x68], eax
mov edx, dword [ebp - 0x1ac]
and dword [edx], 0xfffffffb
cmp dword [ebp - 0x10], 0
je 0x5dbf5e
mov ecx, dword [ebp - 0x1ac]
test byte [ecx], 2
jne 0x5dca7b
mov eax, dword [ebp - 0x1ac]
or dword [eax], 1
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xf4]
add edx, ebx
mov dword [ecx + 4], edx
inc dword [ebp - 0x4c]
jmp 0x5dba90
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xd8]
je 0x5dcb7e
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x120], edx
lea ecx, [ebp - 0x2c]
push ecx
lea eax, [ebp - 0x120]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.005d1c42
add esp, 0xc
mov ebx, eax
test ebx, ebx
jle 0x5dc6cf
cmp dword [ebp - 0x2c], 0x10
jne 0x5dc033
mov eax, dword [ebp - 0x1ac]
test byte [eax], 2
jne 0x5dca7b
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
or byte [edx + ecx], 0x80
cmp dword [ebp - 0x170], 0
je 0x5dc00a
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jge 0x5dc00a
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x120]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x1ac]
or dword [edx], 4
inc dword [ebp - 0x4c]
jmp 0x5dba90
mov eax, dword [ebp - 0x1ac]
test byte [eax], 1
jne 0x5dca7b
mov edx, dword [ebp - 0x1ac]
and dword [edx], 0xfffffff9
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x170], 0
je 0x5dc081
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x5dc081
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x1ac]
mov edi, dword [edx + 0x14]
add dword [ebp - 0xf4], ebx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1ac]
push edi
mov esi, eax
lea edi, [edx + 0x88]
mov ecx, 0x22
rep movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf
ja 0x5dba90
jmp dword [eax*4 + 0x4860c5]
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0x120]
push edx
push ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x1ac]
push eax
call fcn.005d1dd2
add esp, 0x14
mov ebx, eax
test ebx, ebx
jle 0x5dc968
mov eax, dword [ebp - 0x1ac]
test byte [eax], 2
jne 0x5dca7b
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.005d10b6
pop ecx
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x5dca7b
cmp dword [ebp - 0x140], 0x4000
ja 0x5dca7b
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x170], 0
je 0x5dc782
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jge 0x5dc782
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x1c]
mov dword [ebp - 0x44], 1
mov ecx, dword [ebp - 0x1ac]
xor esi, esi
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x138], eax
jmp 0x5dc954
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x1c]
mov dword [ebp - 0x140], edx
jmp 0x5dc92b
cmp dword [ebp - 0x124], 0
je 0x5dc868
mov ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x140]
sub ecx, dword [ebp - 0x138]
cmp ecx, dword [ebp - 0xdc]
jb 0x5dc925
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x140]
sub eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0xe0]
jae 0x5dc925
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x140]
sub edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edx]
and eax, 0x1f
cmp eax, 0x11
jne 0x5dc925
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x140]
sub edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov al, byte [ecx + edx]
shl eax, 2
mov edx, dword [ebp - 0x120]
sub edx, dword [ebp - 0xdc]
add eax, edx
mov dword [ebp - 0x13c], eax
jmp 0x5dc88b
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x120]
sub eax, dword [ebp - 0x138]
sub ecx, dword [ebp - 0xdc]
shl eax, 2
add ecx, eax
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
add edx, 4
cmp edx, dword [ebp - 0xe8]
jae 0x5dc925
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 4
jne 0x5dc925
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x13c]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0xdc]
jb 0x5dc925
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0xe0]
jae 0x5dc925
mov edx, dword [ebp - 0x14]
add edx, 2
cmp edx, dword [ebp - 0x24]
jg 0x5dc953
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x13c]
sub edx, dword [ebp - 0xdc]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x140]
mov dword [ecx + eax*4], edx
inc dword [ebp - 0x14]
inc dword [ebp - 0x140]
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + esi*4 + 0x1c]
cmp eax, dword [ebp - 0x140]
ja 0x5dc953
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx + esi*4 + 0x3c]
cmp ecx, dword [ebp - 0x140]
jae 0x5dc7b4
inc esi
mov eax, dword [ebp - 0x1ac]
cmp esi, dword [eax + 0x5c]
jl 0x5dc79f
jmp 0x5dba90
lea edx, [ebp - 0xc]
push edx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x18]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.005d2242
add esp, 0xc
mov ebx, eax
test ebx, ebx
jle 0x5dca0d
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx + 0x60], 0
mov ecx, dword [ebp - 0x1ac]
and dword [ecx], 0xfffffffb
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x128]
push ecx
mov eax, dword [ebp - 0x188]
add eax, dword [ebp - 0xf4]
add eax, ebx
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
add edx, ebx
push edx
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.005d1472
add esp, 0x18
test eax, eax
jle 0x5dc9fc
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jne 0x5dc9fc
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0x1ac]
add dword [eax + 4], ebx
inc dword [ebp - 0x4c]
jmp 0x5dba90
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x5dca3c
cmp dword [ebp - 0x2c], 4
je 0x5dca3c
cmp dword [ebp - 0x2c], 5
je 0x5dca3c
cmp dword [ebp - 0x2c], 6
jne 0x5dca7b
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx + 0x18]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call fcn.005d22ce
add esp, 8
mov ebx, eax
test ebx, ebx
jle 0x5dca7b
mov eax, dword [ebp - 0x1ac]
and dword [eax], 0xfffffffb
mov edx, dword [ebp - 0x1ac]
add dword [edx + 4], ebx
inc dword [ebp - 0x4c]
jmp 0x5dba90
mov ecx, dword [ebp - 0x1ac]
cmp dword [ecx + 8], 0xffffffff
je 0x5dba90
mov eax, dword [ebp - 0x1ac]
push eax
call fcn.005d10b6
pop ecx
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
jbe 0x5dcb3e
cmp dword [ebp - 0x140], 0x40
jae 0x5dcb3e
xor esi, esi
jmp 0x5dcb31
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x1c]
mov dword [ebp - 0x140], edx
jmp 0x5dcb0c
mov ecx, dword [ebp - 0x14]
add ecx, 2
cmp ecx, dword [ebp - 0x24]
jg 0x5dcb30
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1ac]
mov ecx, dword [ecx + 8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x140]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
inc dword [ebp - 0x140]
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x1c]
cmp edx, dword [ebp - 0x140]
ja 0x5dcb30
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + esi*4 + 0x3c]
cmp edx, dword [ebp - 0x140]
jae 0x5dcace
inc esi
mov ecx, dword [ebp - 0x1ac]
cmp esi, dword [ecx + 0x5c]
jl 0x5dcabc
jmp 0x5dcb74
cmp dword [ebp - 0x40], 0
jne 0x5dcb5c
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 8]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x40], 1
jmp 0x5dcb74
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x12c]
je 0x5dcb74
mov dword [ebp - 0x40], 0xffffffff
cmp dword [ebp - 0x4c], 0
jg 0x5dba9a
cmp dword [ebp - 0x14], 0
jne 0x5dcb8f
inc dword [ebp - 0xd8]
jmp 0x5dd65a
mov edx, dword [ebp - 0x14]
shl edx, 2
push edx
mov ecx, dword [ebp - 0x168]
push ecx
mov eax, dword [ebp - 0x16c]
push eax
call fcn.005f953a
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
push 0x47c348
push 8
mov ecx, dword [ebp - 0x14]
sar ecx, 1
jns 0x5dcbc3
adc ecx, 0
push ecx
mov eax, dword [ebp - 0x168]
push eax
call fcn.006024fe
add esp, 0x10
mov esi, 1
cmp dword [ebp - 0x40], 1
je 0x5dcbdf
dec esi
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax]
mov dword [ebp - 0xf4], edx
mov ebx, 2
cmp ebx, dword [ebp - 0x18]
jge 0x5dcc37
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0xf4]
je 0x5dcc2f
cmp dword [ebp - 0x40], 1
jne 0x5dcc1f
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + ebx*4]
cmp eax, dword [ebp - 0x12c]
je 0x5dcc20
inc esi
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4]
mov dword [ebp - 0xf4], ecx
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x5dcbf7
cmp esi, 2
jge 0x5dcc47
inc dword [ebp - 0xd8]
jmp 0x5dd65a
cmp dword [ebp - 0x44], 0
jne 0x5dcc66
cmp esi, 2
jle 0x5dcc5b
cmp dword [0x4dcb40], 0
jne 0x5dcc66
inc dword [ebp - 0xd8]
jmp 0x5dd65a
push 0x47c390
push 8
mov eax, dword [ebp - 0x18]
sar eax, 1
jns 0x5dcc77
adc eax, 0
push eax
mov edx, dword [ebp - 0x16c]
push edx
call fcn.006024fe
add esp, 0x10
xor ebx, ebx
jmp 0x5dccbb
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4 + 4]
cmp edx, dword [ecx + ebx*4 + 0xc]
jne 0x5dccb8
cmp dword [ebp - 0x40], 1
jne 0x5dccc5
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
jne 0x5dccc5
add ebx, 2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffffe
cmp ebx, ecx
jl 0x5dcc8b
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffe
cmp ebx, eax
jge 0x5dccda
inc dword [ebp - 0xd8]
jmp 0x5dd65a
xor edx, edx
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x18]
cmp dword [ecx + eax*4 - 4], 0x80
jb 0x5dcd9f
mov edx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x18]
cmp dword [edx + ecx*4 - 4], 0xffff
ja 0x5dcd9f
xor eax, eax
mov dword [ebp - 4], eax
mov esi, eax
mov ebx, eax
cmp ebx, dword [ebp - 0x18]
jge 0x5dcd77
cmp dword [ebp - 0x40], 1
jne 0x5dcd32
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x5dcd6f
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 0x500
jbe 0x5dcd45
inc dword [ebp - 4]
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0x400
jae 0x5dcd6f
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 3
call fcn.005651ee
add esp, 8
test eax, eax
je 0x5dcd77
inc esi
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x5dcd1b
cmp ebx, dword [ebp - 0x18]
jl 0x5dce75
cmp esi, 2
jle 0x5dce75
cmp dword [ebp - 4], 2
jge 0x5dce75
mov dword [ebp - 0x2c], 0x200000
jmp 0x5dce75
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4 - 4], 0xff
jae 0x5dce08
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x5dcdfa
cmp dword [ebp - 0x40], 1
jne 0x5dcdd0
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x5dcdf2
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 0
je 0x5dcdf2
mov eax, dword [ebp - 0x16c]
mov dl, byte [eax + ebx*4 + 4]
push edx
call fcn.005aa80a
pop ecx
test al, 1
je 0x5dcdfa
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x5dcdb9
cmp ebx, dword [ebp - 0x18]
jl 0x5dce75
mov dword [ebp - 0x2c], 0x100000
jmp 0x5dce75
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + 4], 0x80000000
jb 0x5dce75
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4 - 4], 0xc000ffff
ja 0x5dce75
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x5dce69
cmp dword [ebp - 0x40], 1
jne 0x5dce48
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x5dce61
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + ebx*4 + 4]
push eax
push 0
call fcn.005651ee
add esp, 8
test eax, eax
je 0x5dce69
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x5dce31
cmp ebx, dword [ebp - 0x18]
jl 0x5dce75
mov dword [ebp - 0x2c], 0x400000
mov dword [ebp - 0x130], 0xffffffff
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x54], 0x7fffffff
mov dword [ebp - 0x58], 0x80000000
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], ecx
cmp ebx, dword [ebp - 0x14]
jge 0x5dcf95
cmp dword [ebp - 0x40], 1
jne 0x5dcecd
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x5dcf89
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4 + 4]
cmp eax, dword [ebp - 0x130]
jae 0x5dceef
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
cmp edx, dword [ebp - 0x134]
jbe 0x5dcf11
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x134], eax
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
cmp ecx, dword [ebp - 0x54]
jge 0x5dcf2d
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4 + 4]
cmp eax, dword [ebp - 0x58]
jle 0x5dcf49
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0xfc]
jae 0x5dcf69
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + ebx*4]
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4]
cmp ecx, dword [ebp - 0x100]
jbe 0x5dcf89
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0x100], edx
add ebx, 2
cmp ebx, dword [ebp - 0x14]
jl 0x5dceb2
cmp dword [ebp - 0x54], 0
jge 0x5dcfb3
cmp dword [ebp - 0x58], 0
jle 0x5dcfb3
cmp dword [ebp - 0x54], 0xffffc000
jle 0x5dcfb3
mov dword [ebp - 0x5c], 1
jmp 0x5dcfb8
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x40], 1
jne 0x5dcff4
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0xfc]
jae 0x5dcfda
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0xfc], edx
jmp 0x5dcff4
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x100]
jbe 0x5dcff4
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x100], eax
xor edx, edx
mov dword [ebp - 0x64], edx
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x5dd26d
cmp dword [ebp - 0x40], 1
jne 0x5dd01f
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0x12c]
je 0x5dd261
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + ebx*4]
lea ecx, [ebp - 0x7e8]
add eax, dword [ebp - 0xdc]
sub eax, dword [edx]
push eax
push 0x4c7c9e
push ecx
call fcn.005fcc36
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 0x5c], 0
je 0x5dd087
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0
jge 0x5dd087
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x7e8]
mov ecx, dword [edx + ebx*4 + 4]
neg ecx
push ecx
push 0x4c7ca4
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x5dd0ac
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x7e8]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 0x4c7769
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
cmp dword [ebp - 0x2c], 0x200000
jne 0x5dd14c
mov edx, dword [ebp - 0x16c]
cmp dword [edx + ebx*4 + 4], 0x400
jbe 0x5dd106
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 0x500
ja 0x5dd106
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x7e8]
mov edx, dword [eax + ebx*4 + 4]
sub edx, 0x400
push edx
push 0x4c7ca8
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0xc
jmp 0x5dd241
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0x400
ja 0x5dd241
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 3
call fcn.005651ee
add esp, 8
push eax
push 0x4c7cb6
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0xc
jmp 0x5dd241
cmp dword [ebp - 0x2c], 0x100000
jne 0x5dd177
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call fcn.0056bc56
add esp, 8
jmp 0x5dd241
cmp dword [ebp - 0x2c], 0x400000
jne 0x5dd1b2
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 0
call fcn.005651ee
add esp, 8
push eax
push 0x4c7cb6
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0xc
jmp 0x5dd241
mov edx, dword [ebp - 0x16c]
mov eax, 0xfffffff7
cmp dword [ebp - 0x5c], 0
mov ecx, dword [edx + ebx*4 + 4]
jne 0x5dd1ca
add eax, 9
cmp ecx, eax
jge 0x5dd202
mov edx, dword [ebp - 0x16c]
cmp dword [edx + ebx*4 + 4], 0xffffc000
jle 0x5dd202
mov ecx, dword [ebp - 0x16c]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
push eax
push 0x4c7cbc
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0xc
jmp 0x5dd241
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + ebx*4 + 4], 9
jbe 0x5dd241
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ebx*4 + 4], 0x10000
jae 0x5dd241
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x7e8]
mov ecx, dword [edx + ebx*4 + 4]
push ecx
push 0x4c7cbc
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0xc
lea edx, [ebp - 0x7e8]
push edx
push 0x3f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x64]
push eax
call fcn.005ba30e
add esp, 0xc
inc dword [ebp - 0x64]
add ebx, 2
cmp ebx, dword [ebp - 0x18]
jl 0x5dd004
xor ebx, ebx
cmp ebx, dword [ebp - 0x14]
jge 0x5dd50b
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0x40], 1
jne 0x5dd2a3
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x12c]
jne 0x5dd2a3
add ebx, 2
jmp 0x5dd502
lea eax, [ebx + 2]
cmp eax, dword [ebp - 0x14]
jge 0x5dd2d6
mov edx, dword [ebp - 0x168]
mov ecx, dword [edx + ebx*4 + 8]
cmp ecx, dword [ebp - 0xf4]
jne 0x5dd2d6
push 0x4c7cc3
lea eax, [ebp - 0x7e8]
push eax
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
jmp 0x5dd2ed
push 0x4c7cca
lea edx, [ebp - 0x7e8]
push edx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
xor esi, esi
jmp 0x5dd4a6
cmp dword [ebp - 8], 0xb0
jle 0x5dd326
cmp esi, 2
je 0x5dd31c
push 0x4c7cd0
lea eax, [ebp - 0x7e8]
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 8
add dword [ebp - 8], eax
mov esi, 2
jmp 0x5dd4a3
dec esi
jne 0x5dd337
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x7e8], 0x2c
inc dword [ebp - 8]
cmp dword [ebp - 0x5c], 0
je 0x5dd373
mov edx, dword [ebp - 0x168]
cmp dword [edx + ebx*4 + 4], 0
jge 0x5dd373
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
neg eax
push eax
push 0x4c7ca4
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x5dd398
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
push eax
push 0x4c7769
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
cmp dword [ebp - 0x2c], 0x200000
mov esi, 1
jne 0x5dd43f
mov eax, dword [ebp - 0x168]
cmp dword [eax + ebx*4 + 4], 0x400
jbe 0x5dd3f9
mov edx, dword [ebp - 0x168]
cmp dword [edx + ebx*4 + 4], 0x500
ja 0x5dd3f9
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x7e8]
mov eax, dword [ecx + ebx*4 + 4]
sub eax, 0x400
push eax
push 0x4c7ca8
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x5dd4a3
mov ecx, dword [ebp - 0x168]
cmp dword [ecx + ebx*4 + 4], 0x400
ja 0x5dd4a3
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
push edx
push 3
call fcn.005651ee
add esp, 8
lea ecx, [ebp - 0x7e8]
push eax
push 0x4c7cb6
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x5dd4a3
cmp dword [ebp - 0x2c], 0x100000
jne 0x5dd46a
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
push edx
lea ecx, [ebp - 0x7e8]
add ecx, dword [ebp - 8]
push ecx
call fcn.0056bc56
add esp, 8
add dword [ebp - 8], eax
jmp 0x5dd4a3
cmp dword [ebp - 0x2c], 0x400000
jne 0x5dd4a3
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4 + 4]
push edx
push 0
call fcn.005651ee
add esp, 8
lea ecx, [ebp - 0x7e8]
push eax
push 0x4c7cb6
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
add ebx, 2
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ebp - 0xf4]
je 0x5dd2f4
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp + 8]
add ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0x7e8]
sub ecx, dword [eax]
push ecx
push 0x4c7cd4
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0xc
lea ecx, [ebp - 0x7e8]
push ecx
push 0x3a
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
call fcn.005ba30e
add esp, 0xc
cmp ebx, dword [ebp - 0x14]
jl 0x5dd278
cmp dword [ebp - 0x40], 1
jne 0x5dd555
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp + 8]
add edx, dword [ebp - 0xdc]
lea eax, [ebp - 0x7e8]
sub edx, dword [ecx]
push edx
push 0x4c7ce7
push eax
call fcn.005fcc36
add esp, 0xc
lea edx, [ebp - 0x7e8]
push edx
push 0x3a
mov ecx, dword [ebp - 0x12c]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005ba30e
add esp, 0xc
cmp dword [ebp - 0x5c], 0
je 0x5dd57b
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x7e8]
push eax
mov edx, dword [ebp - 0x54]
neg edx
push edx
push 0x4c7d06
push ecx
call fcn.005fcc36
add esp, 0x10
jmp 0x5dd59d
mov eax, dword [ebp - 0x134]
lea ecx, [ebp - 0x7e8]
push eax
mov edx, dword [ebp - 0x130]
push edx
push 0x4c7d1d
push ecx
call fcn.005fcc36
add esp, 0x10
lea eax, [ebp - 0x7e8]
push eax
push 0x3a
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
call fcn.005ba30e
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x22ec], ecx
mov dword [ebp - 0x22e8], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x22e4], eax
mov edx, dword [ebp - 0xfc]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x22e0], edx
mov ecx, dword [ebp - 0x100]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x22dc], ecx
cmp dword [ebp - 0x40], 1
jne 0x5dd618
mov eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0xdc]
jmp 0x5dd61a
xor eax, eax
mov dword [ebp - 0x22d8], eax
lea eax, [ebp - 0x22ec]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x22d4], edx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x22d0], ecx
push eax
push 0x4dca05
call fcn.005aaf06
mov edx, dword [ebp - 0x64]
xor ecx, ecx
add dword [ebp - 0x60], edx
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x48]
add esp, 8
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
add eax, 6
cmp eax, dword [ebp - 0xe8]
jb 0x5db95b
xor edx, edx
mov dword [ebp - 0xf4], edx
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jae 0x5dd6a9
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
and byte [eax + edx], 0x7f
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jb 0x5dd685
cmp dword [ebp - 0x1a8], 0
je 0x5dd6be
mov eax, dword [ebp - 0x1a8]
push eax
call fcn.00605100
cmp dword [ebp - 0x170], 0
je 0x5dd6d3
mov edx, dword [ebp - 0x170]
push edx
call fcn.00605100
xor ecx, ecx
cmp dword [0x4d9210], 0
mov dword [ebp - 0x34], ecx
je 0x5de18c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x421], 0
je 0x5de18c
mov dword [ebp - 0x38], 0x1000
mov edx, dword [ebp - 0x38]
shl edx, 4
push edx
push 0
call fcn.006050fa
mov dword [ebp - 0x1a0], eax
xor ecx, ecx
mov dword [ebp - 0x118], ecx
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x5ddf60
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
movzx edx, byte [eax + edx]
cmp edx, 3
jne 0x5dd742
inc dword [ebp - 4]
jmp 0x5ddf60
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 5]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x118]
jbe 0x5dd7f4
jmp 0x5dd789
cmp dword [ebp - 0x2438], 0x20
je 0x5e0c3f
cmp dword [ebp - 0x2438], 0x1b
je 0x5e0c3f
push 1
push 0x100
push 0x100
mov edx, dword [0x4d3b7c]
push edx
lea ecx, [ebp - 0x2440]
push ecx
call fcn.00605538
test eax, eax
jne 0x5dd76f
lea eax, [ebp - 0x8e8]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0xcc]
sub ecx, dword [ebp - 0xc8]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0060515a
add eax, dword [ebp - 0xc8]
push eax
call fcn.0058782a
add esp, 8
mov edx, dword [ebp - 0xd8]
add edx, 0x4e20
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 4]
inc ecx
mov dword [ebp - 0x10], ecx
jmp 0x5dd800
inc dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x425]
cmp edx, dword [ebp - 0x10]
jle 0x5dd841
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 5]
cmp ecx, dword [ebp - 0xd8]
je 0x5dd7fd
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
movzx eax, byte [ecx + eax]
cmp eax, 3
je 0x5dd7fd
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0xfc]
push edx
push ecx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call fcn.00574562
add esp, 0xc
test eax, eax
jne 0x5ddf5a
mov edx, dword [ebp - 0xdc]
sub dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0xdc]
sub dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 4]
jl 0x5ddf5a
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xd8]
jbe 0x5ddf5a
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
mov eax, dword [ecx + eax + 1]
cmp eax, dword [ebp - 0x100]
ja 0x5ddf4b
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
movzx edx, byte [eax + edx]
cmp edx, 2
je 0x5ddf4b
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
movzx ecx, byte [edx + ecx]
cmp ecx, 3
je 0x5ddf4b
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [ebp - 0xf8], eax
mov ebx, dword [ebp - 0x10]
jmp 0x5dda8d
mov edx, dword [ebp + 8]
lea eax, [ebx + ebx*8]
mov ecx, dword [edx + 0x421]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + eax + 5]
mov ecx, dword [ebp + 8]
lea edx, [edx + edx*8]
mov ecx, dword [ecx + 0x421]
cmp eax, dword [ecx + edx + 1]
ja 0x5dda9c
lea eax, [ebx + ebx*8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
mov eax, dword [edx + eax + 1]
cmp eax, dword [ebp - 0xd8]
jb 0x5dd98b
mov eax, dword [ebp + 8]
lea ecx, [ebx + ebx*8]
mov edx, dword [eax + 0x421]
mov eax, dword [ebp - 0xc]
mov ecx, dword [edx + ecx + 1]
mov edx, dword [ebp + 8]
lea eax, [eax + eax*8]
mov edx, dword [edx + 0x421]
cmp ecx, dword [edx + eax + 1]
jbe 0x5dda8c
mov ecx, dword [ebp + 8]
lea eax, [ebx + ebx*8]
inc esi
mov edx, dword [ecx + 0x421]
mov edi, dword [edx + eax + 5]
mov edx, dword [ebp + 8]
lea eax, [ebx + ebx*8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 1]
cmp eax, dword [ebp - 0xd8]
jae 0x5dda58
lea edx, [ebx + ebx*8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
mov edx, dword [eax + edx + 1]
cmp edx, dword [ebp - 0xfc]
jb 0x5dda58
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
cmp byte [edx + ecx], 0
jne 0x5dda58
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
mov ecx, dword [edx + ecx + 1]
mov dword [ebp - 0xf8], ecx
jmp 0x5dda58
lea eax, [ebx + ebx*8]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 0xa]
cmp eax, dword [ebp - 0xd8]
jae 0x5dda57
lea edx, [ebx + ebx*8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
mov edx, dword [eax + edx + 0xa]
cmp edx, dword [ebp - 0xfc]
jb 0x5dda57
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
cmp byte [edx + ecx + 9], 0
jne 0x5dda57
lea ecx, [ebx + ebx*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
mov ecx, dword [edx + ecx + 0xa]
mov dword [ebp - 0xf8], ecx
inc ebx
lea eax, [ebx + 1]
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 0x425]
jge 0x5dda8c
mov eax, dword [ebp + 8]
lea ecx, [ebx + ebx*8]
mov edx, dword [eax + 0x421]
lea eax, [ebx + ebx*8]
mov ecx, dword [edx + ecx + 0xe]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
cmp ecx, dword [edx + eax + 5]
je 0x5dd9fe
inc ebx
mov eax, dword [ebp + 8]
cmp ebx, dword [eax + 0x425]
jl 0x5dd921
cmp esi, 1
jne 0x5ddbe2
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xd8]
jb 0x5ddae8
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
lea eax, [eax + eax*8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + eax - 8]
mov ecx, dword [ebp + 8]
lea edx, [edx + edx*8]
mov ecx, dword [ecx + 0x421]
cmp eax, dword [ecx + edx + 1]
jbe 0x5ddaee
inc esi
jmp 0x5ddbe2
push 1
push 1
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0x180]
push edx
call fcn.005d494a
add esp, 0x18
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1d
je 0x5ddb73
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
je 0x5ddb73
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x118]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x1f
cmp edx, 0x1e
jne 0x5ddbe2
push 0
push 1
lea ecx, [ebp - 0x194c]
push ecx
push 0
mov eax, dword [ebp - 0x118]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0x118]
push ecx
call fcn.0056bf52
add esp, 0x1c
mov eax, dword [ebp - 0x1348]
and eax, 0xf0
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0x50
je 0x5ddbe2
cmp dword [ebp - 0x154], 0x80
je 0x5ddbe2
cmp dword [ebp - 0x154], 0xa0
je 0x5ddbe2
inc esi
cmp esi, 1
jg 0x5ddf4b
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0xf4], edx
jmp 0x5ddd5a
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
movzx eax, byte [eax + ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x5ddc50
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
je 0x5ddc50
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
jne 0x5ddd54
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 7
jne 0x5ddc85
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x120]
jb 0x5ddc85
mov esi, 2
jmp 0x5ddd79
cmp dword [ebp - 0x2c], 1
je 0x5ddc95
cmp dword [ebp - 0x2c], 2
jne 0x5ddd54
push 0
push 1
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xf4]
push eax
call fcn.0056bf52
add esp, 0x1c
cmp dword [ebp - 0x1338], 0
je 0x5ddd79
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0x1338]
ja 0x5ddd13
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
add ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0x1338]
jae 0x5ddd2e
cmp dword [ebp - 0x2c], 1
jne 0x5ddd54
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x120]
jb 0x5ddd54
mov esi, 2
jmp 0x5ddd79
mov eax, dword [ebp - 0x120]
add eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0x1338]
jae 0x5ddd54
mov edx, dword [ebp - 0x1338]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0x120], edx
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0xf4]
ja 0x5ddc02
cmp esi, 2
je 0x5ddf4b
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x38]
jl 0x5dddea
mov edx, dword [ebp - 0x38]
add edx, edx
shl edx, 4
push edx
push 0
call fcn.006050fa
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x5ddf5a
mov ecx, dword [ebp - 0x38]
shl ecx, 4
push ecx
mov eax, dword [ebp - 0x1a0]
push eax
mov edx, dword [ebp - 0x1a4]
push edx
call fcn.005f953a
add esp, 0xc
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.00605100
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a0], eax
mov edx, dword [ebp - 0x38]
add edx, edx
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 8], ecx
mov esi, dword [ebp - 0x34]
dec esi
test esi, esi
jl 0x5ddeb1
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 4]
cmp ecx, dword [ebp - 0xfc]
jb 0x5ddeb1
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax]
cmp ecx, dword [ebp - 0xd8]
ja 0x5ddea8
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 4]
cmp ecx, dword [ebp - 0xd8]
jbe 0x5ddea8
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 4]
mov eax, dword [ebp - 0xc]
lea eax, [eax + eax*8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x421]
cmp ecx, dword [edx + eax + 1]
jae 0x5ddea8
mov eax, esi
shl eax, 4
mov ecx, dword [ebp - 0x1a0]
cmp dword [ecx + eax + 0xc], 0
je 0x5dde91
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 0xc]
mov dword [ebp - 0xd8], ecx
jmp 0x5ddea5
mov eax, esi
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 8], esi
dec esi
test esi, esi
jge 0x5dddfc
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x34]
jge 0x5ddee8
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 8]
shl edx, 4
push edx
mov ecx, dword [ebp - 8]
shl ecx, 4
add ecx, dword [ebp - 0x1a0]
push ecx
mov eax, dword [ebp - 8]
shl eax, 4
add eax, dword [ebp - 0x1a0]
add eax, 0x10
push eax
call fcn.005f955e
add esp, 0xc
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1a0]
shl edx, 4
mov eax, dword [ebp - 0xd8]
mov dword [ecx + edx], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x421]
lea edx, [edx + edx*8]
mov ecx, dword [ebp - 8]
shl ecx, 4
mov edx, dword [eax + edx + 1]
mov eax, dword [ebp - 0x1a0]
mov dword [eax + ecx + 4], edx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1a0]
shl edx, 4
mov dword [ecx + edx + 8], edi
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1a0]
shl eax, 4
mov ecx, dword [ebp - 0xf8]
mov dword [edx + eax + 0xc], ecx
inc dword [ebp - 0x34]
jmp 0x5ddf5a
dec dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
jge 0x5dd897
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], edx
cmp dword [ebp - 0x1a0], 0
je 0x5ddf7b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x425]
cmp eax, dword [ebp - 4]
jg 0x5dd722
cmp dword [ebp - 0x1a0], 0
je 0x5de18c
xor edx, edx
xor ecx, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x34]
jge 0x5de180
mov edx, dword [ebp - 4]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xd8]
jae 0x5ddfc9
inc dword [ebp - 4]
jmp 0x5ddf95
mov ecx, dword [ebp - 4]
shl ecx, 4
mov eax, dword [ebp - 0x1a0]
mov edx, dword [eax + ecx + 4]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
ja 0x5de174
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
xor edx, edx
mov dword [ebp - 8], edx
lea ecx, [ebp - 0x7e8]
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x34]
jge 0x5de0f9
mov edx, dword [ebp - 0x10]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx]
cmp eax, dword [ebp - 0xf4]
ja 0x5de0f9
mov edx, dword [ebp - 0x10]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx + 4]
cmp eax, dword [ebp - 0xf4]
jb 0x5de0ea
cmp dword [ebp - 8], 0x20
jge 0x5de0ea
mov edx, dword [ebp - 0x10]
shl edx, 4
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ecx + edx]
cmp eax, dword [ebp - 0xf4]
jne 0x5de080
mov edx, dword [ebp - 0x1dc]
mov byte [edx], 0x42
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
jmp 0x5de0ea
mov ecx, dword [ebp - 0x10]
shl ecx, 4
mov eax, dword [ebp - 0x1a0]
mov edx, dword [eax + ecx + 4]
cmp edx, dword [ebp - 0xf4]
jne 0x5de0ac
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx], 0x45
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
jmp 0x5de0ea
mov eax, dword [ebp - 0x10]
shl eax, 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + eax + 8]
cmp ecx, dword [ebp - 0xf4]
jne 0x5de0d8
mov eax, dword [ebp - 0x1dc]
mov byte [eax], 0x4a
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
jmp 0x5de0ea
mov edx, dword [ebp - 0x1dc]
mov byte [edx], 0x49
inc dword [ebp - 8]
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x34]
jl 0x5de014
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x7e8]
mov byte [ebp + eax - 0x7e8], 0
push edx
push 0x3e
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005ba30e
add esp, 0xc
inc dword [ebp - 0xf4]
jmp 0x5de130
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x5de12a
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 3
je 0x5de12a
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xd8]
jbe 0x5ddff1
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x34]
jl 0x5ddfa1
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.00605100
push 0xc000
push 0
push 0
push 0
push 0
call fcn.00583622
xor eax, eax
xor edx, edx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xd8]
add esp, 0x14
cmp ecx, dword [ebp - 0xe8]
jae 0x5de9b0
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x118]
jbe 0x5de25c
jmp 0x5de1f1
cmp dword [ebp - 0x2438], 0x20
je 0x5e0c3f
cmp dword [ebp - 0x2438], 0x1b
je 0x5e0c3f
push 1
push 0x100
push 0x100
mov edx, dword [0x4d3b7c]
push edx
lea ecx, [ebp - 0x2440]
push ecx
call fcn.00605538
test eax, eax
jne 0x5de1d7
lea eax, [ebp - 0x8e8]
push eax
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xcc]
push ecx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0060515a
add eax, dword [ebp - 0xcc]
push eax
call fcn.0058782a
add esp, 8
mov edx, dword [ebp - 0xd8]
add edx, 0x2710
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x60
cmp edx, 0x20
jne 0x5de998
mov ecx, dword [ebp - 0xd8]
or eax, 0xffffffff
mov dword [ebp - 0xf4], ecx
xor edx, edx
mov dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 4], edx
xor edi, edi
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jae 0x5de618
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x55
jne 0x5de2df
cmp dword [ebp - 4], 0
jne 0x5de2df
mov dword [ebp - 4], 1
jmp 0x5de54c
cmp dword [ebp - 4], 1
jne 0x5de33e
mov eax, dword [ebp - 0xf4]
add eax, 2
cmp eax, dword [ebp - 0xe8]
ja 0x5de33e
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xec8b
je 0x5de31e
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
cmp word [eax + edx], 0xe589
jne 0x5de33e
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 4], 2
jmp 0x5de54c
cmp dword [ebp - 4], 0
jne 0x5de394
mov edx, dword [ebp - 0xf4]
add edx, 4
cmp edx, dword [ebp - 0xe8]
ja 0x5de394
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xff0003ff
cmp edx, 0xc8
jne 0x5de394
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xa0], 1
mov dword [ebp - 4], 2
jmp 0x5de54c
mov eax, dword [ebp - 0xf4]
add eax, 3
cmp eax, dword [ebp - 0xe8]
ja 0x5de3d5
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xc483
jne 0x5de3d5
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movsx edi, byte [eax + edx + 2]
inc dword [ebp - 0xf4]
jmp 0x5de618
mov eax, dword [ebp - 0xf4]
add eax, 6
cmp eax, dword [ebp - 0xe8]
ja 0x5de415
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xc481
jne 0x5de415
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov edi, dword [eax + edx + 2]
inc dword [ebp - 0xf4]
jmp 0x5de618
mov eax, dword [ebp - 0xf4]
add eax, 3
cmp eax, dword [ebp - 0xe8]
ja 0x5de458
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xec83
jne 0x5de458
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movsx edi, byte [eax + edx + 2]
neg edi
inc dword [ebp - 0xf4]
jmp 0x5de618
mov eax, dword [ebp - 0xf4]
add eax, 6
cmp eax, dword [ebp - 0xe8]
ja 0x5de49a
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
cmp word [edx + ecx], 0xec81
jne 0x5de49a
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov edi, dword [eax + edx + 2]
neg edi
inc dword [ebp - 0xf4]
jmp 0x5de618
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc3
jne 0x5de4de
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x5de4c9
xor eax, eax
mov dword [ebp - 0xa4], eax
jmp 0x5de54c
cmp dword [ebp - 0xa4], 0
je 0x5de54c
mov dword [ebp - 0xa4], 0xfffffffe
jmp 0x5de54c
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc2
jne 0x5de54c
mov edx, dword [ebp - 0xf4]
add edx, 3
cmp edx, dword [ebp - 0xe8]
ja 0x5de54c
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x5de529
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
movzx edx, word [ecx + eax + 1]
mov dword [ebp - 0xa4], edx
jmp 0x5de54c
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
movzx edx, word [ecx + eax + 1]
cmp edx, dword [ebp - 0xa4]
je 0x5de54c
mov dword [ebp - 0xa4], 0xfffffffe
inc dword [ebp - 0xf4]
jmp 0x5de55a
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jae 0x5de581
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
je 0x5de554
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x5de618
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x40
jne 0x5de618
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1d
jne 0x5de618
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
je 0x5de618
cmp dword [ebp - 0x2c], 7
je 0x5de618
cmp dword [ebp - 0x2c], 2
je 0x5de618
cmp dword [ebp - 0x2c], 3
je 0x5de618
cmp dword [ebp - 0x2c], 6
je 0x5de618
cmp dword [ebp - 4], 0
je 0x5de606
cmp dword [ebp - 0x2c], 0
jne 0x5de618
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jb 0x5de2b7
cmp dword [ebp - 4], 1
je 0x5de62a
test edi, 3
jne 0x5de62a
test edi, edi
jle 0x5de62c
xor edi, edi
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x5de886
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x40
je 0x5de674
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x60
jne 0x5de886
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x5de6c3
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
je 0x5de6c3
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1f
jne 0x5de855
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0xc3
jne 0x5de70d
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x5de6f1
xor edx, edx
mov dword [ebp - 0xa4], edx
jmp 0x5de855
cmp dword [ebp - 0xa4], 0
je 0x5de855
mov dword [ebp - 0xa4], 0xfffffffe
jmp 0x5de855
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0xc2
jne 0x5de788
mov ecx, dword [ebp - 0xf4]
add ecx, 3
cmp ecx, dword [ebp - 0xe8]
ja 0x5de788
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x5de75c
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movzx ecx, word [eax + edx + 1]
mov dword [ebp - 0xa4], ecx
jmp 0x5de855
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
movzx ecx, word [eax + edx + 1]
cmp ecx, dword [ebp - 0xa4]
je 0x5de855
mov dword [ebp - 0xa4], 0xfffffffe
jmp 0x5de855
cmp dword [ebp - 0xfc], 0xffffffff
je 0x5de855
cmp dword [ebp - 0x100], 0xffffffff
jne 0x5de855
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x5d
je 0x5de7f8
mov eax, dword [ebp - 0xf4]
inc eax
cmp eax, dword [ebp - 0xe8]
jae 0x5de81b
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x8f
jne 0x5de81b
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx + 1]
cmp eax, 0xc5
jne 0x5de81b
cmp dword [ebp - 0xa0], 0
jne 0x5de80f
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x100], edx
jmp 0x5de855
mov dword [ebp - 0xa0], 0xffffffff
jmp 0x5de855
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0xc9
jne 0x5de855
cmp dword [ebp - 0xa0], 1
jne 0x5de84b
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x100], ecx
jmp 0x5de855
mov dword [ebp - 0xa0], 0xffffffff
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x60
cmp ecx, 0x60
je 0x5de886
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jb 0x5de63e
cmp dword [ebp - 0x100], 0xffffffff
jne 0x5de897
test edi, edi
je 0x5de998
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0x22cc], edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0x60
cmp edx, 0x60
jne 0x5de8d6
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x22c8], ecx
jmp 0x5de8e0
mov dword [ebp - 0x22c8], 1
xor eax, eax
mov dword [ebp - 0x22c4], eax
cmp dword [ebp - 0x100], 0xffffffff
je 0x5de917
mov edx, dword [ebp - 0xfc]
sub edx, dword [ebp - 0xd8]
mov dword [ebp - 0x22c0], edx
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x22bc], ecx
jmp 0x5de925
xor eax, eax
mov dword [ebp - 0x22bc], eax
mov dword [ebp - 0x22c0], eax
cmp dword [ebp - 0xa4], 0
jle 0x5de946
mov dword [ebp - 0x22c4], 0x10000
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x22b8], edx
jmp 0x5de958
mov dword [ebp - 0x22c4], 0x20000
xor ecx, ecx
mov dword [ebp - 0x22b8], ecx
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0xd8]
test byte [eax + edx], 0x80
jne 0x5de974
or dword [ebp - 0x22c4], 0x4000
xor ecx, ecx
lea eax, [ebp - 0x22cc]
neg edi
mov dword [ebp - 0x22b4], ecx
mov dword [ebp - 0x22b0], edi
push eax
push 0x4dc8cd
call fcn.005aaf06
add esp, 8
inc dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xe8]
jb 0x5de1c3
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.00605100
xor eax, eax
mov dword [ebp - 0x18c], eax
xor edx, edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
cmp dword [0x4dcc48], 0
je 0x5e05a0
push 0x138
push 0
lea eax, [ebp - 0x2424]
push eax
call fcn.005f95aa
add esp, 0xc
push 0
push 0
push 0x400
push 0x4c
push 0x4c666c
lea ecx, [ebp - 0x2424]
push ecx
call fcn.005aada2
xor eax, eax
xor edx, edx
mov dword [ebp - 0x118], eax
xor ecx, ecx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
add esp, 0x18
cmp eax, dword [ebp - 0xe8]
jae 0x5e0581
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0x118]
jbe 0x5dead7
jmp 0x5dea6c
cmp dword [ebp - 0x2438], 0x20
je 0x5e0c3f
cmp dword [ebp - 0x2438], 0x1b
je 0x5e0c3f
push 1
push 0x100
push 0x100
mov ecx, dword [0x4d3b7c]
push ecx
lea eax, [ebp - 0x2440]
push eax
call fcn.00605538
test eax, eax
jne 0x5dea52
lea edx, [ebp - 0x8e8]
push edx
mov ecx, dword [ebp - 0xe8]
push ecx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xd0]
push eax
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0060515a
add eax, dword [ebp - 0xd0]
push eax
call fcn.0058782a
add esp, 8
mov ecx, dword [ebp - 0xd8]
add ecx, 0x2710
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1d
je 0x5deb09
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x13
jne 0x5deb22
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x60
cmp ecx, 0x20
jne 0x5deb2e
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x114], eax
cmp dword [0x4d9218], 2
jne 0x5def62
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x60
cmp eax, 0x20
jne 0x5def62
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0xfc]
push edx
push ecx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call fcn.00574562
add esp, 0xc
test eax, eax
jne 0x5def62
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0xfc]
jne 0x5def62
mov ecx, dword [ebp - 0x100]
cmp ecx, dword [ebp - 0xfc]
jbe 0x5def62
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2424]
push eax
call fcn.005ab312
add esp, 0xc
mov edx, dword [ebp - 0xdc]
sub dword [ebp - 0x100], edx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0xd8]
mov dword [ecx], eax
mov dword [ebp - 0x14], 1
dec dword [ebp - 0x14]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
push edx
lea ecx, [ebp - 0x2424]
push ecx
call fcn.005ab51a
add esp, 8
mov dword [ebp - 0x1b0], eax
xor ebx, ebx
lea eax, [ebp - 0x1be3]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x5dec35
mov edx, dword [ebp - 0x1e0]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x5dec5a
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0xc]
mov dword [ecx - 0x20], edx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0x2c]
mov dword [ecx], edx
inc ebx
add dword [ebp - 0x1e0], 4
cmp ebx, 8
jl 0x5dec20
xor eax, eax
mov dword [ebp - 0x1abb], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x100]
jae 0x5def34
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffffc
cmp ecx, dword [ebp - 0x14]
jle 0x5def34
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
cmp ecx, 0x1f
jne 0x5decd6
xor ebx, ebx
lea eax, [ebp - 0x1be3]
mov dword [ebp - 0x1e4], eax
mov edx, dword [ebp - 0x1e4]
xor ecx, ecx
mov dword [edx], ecx
inc ebx
add dword [ebp - 0x1e4], 4
cmp ebx, 8
jl 0x5decb7
xor eax, eax
mov dword [ebp - 0x1abb], eax
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
lea edx, [ebp - 0x22ac]
and eax, 7
mov dword [ebp - 0x2c], eax
push 0
push 2
push edx
mov ecx, dword [ebp - 0x184]
add ecx, dword [ebp - 0xf4]
push ecx
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push eax
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.0056bf52
add esp, 0x1c
add dword [ebp - 0xf4], eax
cmp dword [ebp - 0x2c], 7
je 0x5def34
mov edi, dword [ebp - 0x1c7c]
sub edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x2c], 1
jne 0x5deda0
cmp edi, dword [ebp - 0xd8]
jb 0x5def34
cmp edi, dword [ebp - 0x100]
jae 0x5def34
lea eax, [ebp - 0x22ac]
lea edx, [ebp - 0x2424]
push eax
push edx
push edi
call fcn.005d23e2
add esp, 0xc
dec eax
jne 0x5def34
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14]
mov dword [ecx + eax*4], edi
inc dword [ebp - 0x14]
jmp 0x5def34
cmp dword [ebp - 0x2c], 2
jne 0x5dee33
cmp edi, dword [ebp - 0xd8]
jb 0x5dede3
cmp edi, dword [ebp - 0x100]
jae 0x5dede3
lea edx, [ebp - 0x22ac]
lea ecx, [ebp - 0x2424]
push edx
push ecx
push edi
call fcn.005d23e2
add esp, 0xc
dec eax
jne 0x5dede3
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov dword [eax + edx*4], edi
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0x100]
jae 0x5def34
lea eax, [ebp - 0x22ac]
lea edx, [ebp - 0x2424]
push eax
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.005d23e2
add esp, 0xc
dec eax
jne 0x5def34
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x5def34
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jae 0x5def22
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1e
jne 0x5def22
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005d520a
add esp, 8
mov esi, eax
test esi, esi
jl 0x5deeeb
jmp 0x5deee0
lea eax, [esi + esi*8]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x421]
mov eax, dword [ecx + eax + 5]
cmp eax, dword [ebp - 0xf4]
jne 0x5deeeb
lea edx, [esi + esi*8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x421]
mov edx, dword [eax + edx + 1]
cmp edx, dword [ebp - 0xd8]
jb 0x5deec5
lea ecx, [esi + esi*8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x421]
mov ecx, dword [edx + ecx + 1]
cmp ecx, dword [ebp - 0x100]
jbe 0x5deedf
push 0
lea eax, [ebp - 0x2424]
push eax
mov edx, dword [ebp - 0xf4]
push edx
call fcn.005d23e2
add esp, 0xc
jmp 0x5deeeb
inc esi
mov ecx, dword [ebp + 8]
cmp esi, dword [ecx + 0x425]
jl 0x5dee7d
lea eax, [ebp - 0x22ac]
lea edx, [ebp - 0x2424]
push eax
push edx
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.005d23e2
add esp, 0xc
dec eax
jne 0x5def34
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
jmp 0x5def34
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x100]
jb 0x5dec81
mov edx, dword [ebp - 0x24]
add edx, 0xfffffffc
cmp edx, dword [ebp - 0x14]
jg 0x5def54
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x2424]
push ecx
call fcn.005ab312
add esp, 0xc
jmp 0x5def62
cmp dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 0
jg 0x5debe1
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
cmp ecx, 3
je 0x5defce
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 7
cmp ecx, 7
jne 0x5e0569
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xe8
je 0x5defce
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xff
jne 0x5e0569
cmp dword [0x4d9218], 0
je 0x5df0c9
mov eax, dword [ebp - 0x114]
push eax
lea edx, [ebp - 0x2424]
push edx
call fcn.005ab51a
add esp, 8
mov dword [ebp - 0x1b0], eax
xor ebx, ebx
lea eax, [ebp - 0x1be3]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x5df01a
mov edx, dword [ebp - 0x1e0]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x5df03f
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0xc]
mov dword [ecx - 0x20], edx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [eax + ebx*4 + 0x2c]
mov dword [ecx], edx
inc ebx
add dword [ebp - 0x1e0], 4
cmp ebx, 8
jl 0x5df005
xor eax, eax
mov dword [ebp - 0x1abb], eax
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0xf4], edx
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
jae 0x5df0c9
push 0
lea eax, [ebp - 0x22ac]
push 2
push eax
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xdc]
push ecx
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xf4]
push edx
call fcn.0056bf52
add esp, 0x1c
add dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xd8]
jb 0x5df06e
push 0
push 4
lea eax, [ebp - 0x194c]
push eax
push 0
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0xd8]
push eax
call fcn.0056bf52
add esp, 0x1c
cmp dword [0x4d9218], 0
je 0x5df1df
mov edx, dword [ebp - 0x130c]
and edx, 0x3f
cmp edx, 0x24
jne 0x5df1df
mov ecx, dword [ebp - 0x12e8]
cmp dword [ebp + ecx*4 - 0x1be3], 1
je 0x5df144
mov eax, dword [ebp - 0x12e8]
cmp dword [ebp + eax*4 - 0x1be3], 2
jne 0x5df159
mov edx, dword [ebp - 0x12e8]
mov ecx, dword [ebp + edx*4 - 0x1c03]
mov dword [ebp - 0xf4], ecx
jmp 0x5df197
mov eax, dword [ebp - 0x12e8]
cmp dword [ebp + eax*4 - 0x1be3], 3
jne 0x5df18f
push 3
push 4
mov edx, dword [ebp - 0x12e8]
mov ecx, dword [ebp + edx*4 - 0x1c03]
push ecx
lea eax, [ebp - 0xf4]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, 4
je 0x5df197
xor edx, edx
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0
je 0x5df1df
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
inc ecx
push ecx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xdc]
push eax
call fcn.005f1136
add esp, 8
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005f127e
add esp, 8
xor eax, eax
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x131c], 0
je 0x5df210
lea edx, [ebp - 0x7e7]
push edx
push 0
push 1
mov ecx, dword [ebp - 0x131c]
push ecx
call fcn.005611be
add esp, 0x10
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jne 0x5df242
cmp dword [ebp - 0x12f4], 0
je 0x5df242
lea eax, [ebp - 0x7e7]
push eax
push 0
push 0
mov edx, dword [ebp - 0x12e8]
push edx
call fcn.005611be
add esp, 0x10
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jne 0x5df332
cmp dword [0x4d9218], 0
je 0x5df332
mov ecx, dword [ebp - 0x130c]
and ecx, 0x3f
cmp ecx, 0x24
jne 0x5df332
mov eax, dword [ebp - 0x12e8]
cmp dword [ebp + eax*4 - 0x1be3], 1
je 0x5df2a2
mov edx, dword [ebp - 0x12e8]
cmp dword [ebp + edx*4 - 0x1be3], 2
je 0x5df2a2
mov ecx, dword [ebp - 0x12e8]
cmp dword [ebp + ecx*4 - 0x1be3], 3
jne 0x5df332
lea eax, [ebp - 0x7e7]
push eax
push 0
xor edx, edx
mov ecx, dword [ebp - 0x12e8]
cmp dword [ebp + ecx*4 - 0x1be3], 3
je 0x5df2be
inc edx
push edx
mov eax, dword [ebp - 0x12e8]
mov edx, dword [ebp + eax*4 - 0x1c03]
push edx
call fcn.005611be
add esp, 0x10
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jne 0x5df332
push 0
push 0x200
lea ecx, [ebp - 0xeec]
push ecx
push 0x2c
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x12e8]
mov eax, dword [ebp + ecx*4 - 0x1c03]
push eax
call fcn.005d36ba
add esp, 0x18
test eax, eax
je 0x5df332
lea edx, [ebp - 0xeec]
push edx
push 0x3a
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005b9f06
add esp, 0xc
cmp dword [ebp - 0x190], 0
je 0x5df343
inc dword [ebp - 0x94]
jmp 0x5df3b4
cmp dword [0x4d91d0], 0
je 0x5df3b4
cmp dword [ebp - 0x131c], 0
je 0x5df3b4
mov eax, dword [ebp - 0x131c]
lea edx, [ebp - 0x7e7]
push eax
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
push edx
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005619fa
add esp, 0x18
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
je 0x5df3b4
inc dword [ebp - 0x98]
cmp dword [ebp - 0x190], 0
je 0x5e0569
inc dword [ebp - 0x190]
mov eax, dword [ebp - 0x190]
cmp byte [eax], 0
jne 0x5df3db
mov byte [ebp - 0x7e8], 0x53
jmp 0x5df3e2
mov byte [ebp - 0x7e8], 0x45
lea edx, [ebp - 0x7e8]
push edx
push 0x39
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005ba30e
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xd8]
add esp, 0xc
or byte [eax + edx], 0x80
mov ecx, dword [ebp - 0x190]
cmp byte [ecx], 0
je 0x5e0569
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0xf4], eax
xor ecx, ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x8c], ecx
mov byte [ebp - 0xfec], 0
xor edi, edi
xor eax, eax
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xe8]
jae 0x5e0569
dec dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
movzx esi, byte [ecx + eax]
and esi, 7
cmp esi, 1
je 0x5e0569
cmp esi, 7
je 0x5e0569
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ebx, ebx
mov bl, byte [eax + edx]
and ebx, 0x1f
cmp ebx, 3
je 0x5df44c
cmp ebx, 0x13
je 0x5df44c
cmp ebx, 0x1d
je 0x5df4ba
cmp ebx, 0x1e
je 0x5df4ba
cmp ebx, 0x1f
jne 0x5e0569
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0xf4]
test byte [eax + edx], 0x80
je 0x5df668
cmp dword [ebp - 0x8c], 0
jne 0x5df668
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jae 0x5df656
lea edx, [ebp - 0x7e8]
push edx
push 0x39
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xf4]
push ecx
call fcn.005baac2
add esp, 0xc
push 0xff
lea eax, [ebp - 0x7e8]
push eax
lea edx, [ebp - 0x7e7]
push edx
call fcn.005f955e
mov byte [ebp - 0x6e9], 0
xor ecx, ecx
add esp, 0xc
mov cl, byte [ebp - 0x7e7]
cmp ecx, 0x42
jne 0x5df557
mov byte [ebp - 0x7e7], 0x2f
mov dword [ebp - 0x9c], 1
jmp 0x5df5a5
xor eax, eax
mov al, byte [ebp - 0x7e7]
cmp eax, 0x49
jne 0x5df56d
mov byte [ebp - 0x7e7], 0x7c
jmp 0x5df5a5
xor edx, edx
mov dl, byte [ebp - 0x7e7]
cmp edx, 0x45
jne 0x5df583
mov byte [ebp - 0x7e7], 0x5c
jmp 0x5df5a5
xor ecx, ecx
mov cl, byte [ebp - 0x7e7]
cmp ecx, 0x53
jne 0x5df656
mov byte [ebp - 0x7e7], 0x5b
mov dword [ebp - 0x9c], 1
mov byte [ebp - 0x7e8], 0x49
lea eax, [ebp - 0x7e8]
push eax
push 0x39
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call fcn.005ba30e
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
xor edx, edx
add esp, 0xc
mov dl, byte [ecx + eax]
and edx, 0x1f
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0x1e
je 0x5df5ed
cmp dword [ebp - 4], 0x1f
jne 0x5df5f7
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
jmp 0x5df656
cmp dword [ebp - 0x9c], 0
jne 0x5df656
cmp dword [ebp - 0xf4], 0
je 0x5df656
cmp dword [ebp - 0xf4], 0
jbe 0x5df644
dec dword [ebp - 0xf4]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 3
je 0x5df63b
cmp dword [ebp - 4], 0x13
jne 0x5df644
cmp dword [ebp - 0xf4], 0
ja 0x5df612
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xe8]
jb 0x5df4f7
cmp dword [ebp - 0x9c], 0
jne 0x5df44c
jmp 0x5e0569
cmp esi, 3
je 0x5e0569
xor edx, edx
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xe8], 4
jb 0x5df74d
cmp dword [ebp - 0xf4], 3
jb 0x5df74d
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax - 3]
and edx, 0xffffff
cmp edx, 0xfcc483
je 0x5df6cf
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax - 3]
and edx, 0xffffff
cmp edx, 0x4ec83
jne 0x5df74d
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x2414db
je 0x5df743
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x241cdb
je 0x5df743
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x241cd9
je 0x5df743
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ecx + eax]
and edx, 0xffffff
cmp edx, 0x2414d9
jne 0x5df74d
mov esi, 4
jmp 0x5dfa37
cmp dword [ebp - 0xe8], 7
jb 0x5df820
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0xfcc483
je 0x5df798
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x4ec83
jne 0x5df820
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x2414db
je 0x5dfa37
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x241cdb
je 0x5dfa37
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x241cd9
je 0x5dfa37
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x2414d9
je 0x5dfa37
cmp dword [ebp - 0xe8], 4
jb 0x5df8c4
cmp dword [ebp - 0xf4], 3
jb 0x5df8c4
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx - 3]
and ecx, 0xffffff
cmp ecx, 0xf8c483
je 0x5df876
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx - 3]
and ecx, 0xffffff
cmp ecx, 0x8ec83
jne 0x5df8c4
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x241cdd
je 0x5df8b0
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x243cdf
jne 0x5df8c4
mov dword [ebp - 0xb8], 1
mov esi, 4
jmp 0x5dfa37
cmp dword [ebp - 0xe8], 7
jb 0x5df95b
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0xf8c483
je 0x5df90b
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx]
and ecx, 0xffffff
cmp ecx, 0x8ec83
jne 0x5df95b
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x241cdd
je 0x5df947
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 3]
and ecx, 0xffffff
cmp ecx, 0x243cdf
jne 0x5df95b
mov dword [ebp - 0xb8], 2
mov esi, 4
jmp 0x5dfa37
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x44
je 0x5e0569
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x4c
je 0x5e0569
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x81
je 0x5df9c1
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x83
jne 0x5df9fd
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
cmp ecx, 0xc4
je 0x5e0569
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
cmp ecx, 0xec
je 0x5e0569
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc8
je 0x5e0569
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0xc9
je 0x5e0569
mov byte [ebp - 0x7e8], 0x49
mov byte [ebp - 0x7e7], 0
mov dword [ebp - 4], 1
xor eax, eax
cmp esi, 4
mov dword [ebp - 0x9c], eax
je 0x5dfa5e
cmp esi, 5
jne 0x5dfa72
cmp dword [ebp - 0x8c], 0
jle 0x5dfa72
dec dword [ebp - 0x8c]
jmp 0x5e0509
cmp esi, 4
je 0x5dfa80
cmp esi, 5
jne 0x5e04fe
mov edx, dword [ebp - 0x190]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x4d
je 0x5dfaa2
mov eax, dword [ebp - 0x190]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x4f
jne 0x5dfc4e
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x5dfc4e
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [edx + ecx]
cmp eax, 0x68
jne 0x5dfad5
cmp dword [ebp - 0xe8], 5
jae 0x5dfb13
cmp dword [0x4d9218], 0
je 0x5dfc4e
cmp dword [ebp - 0x1abb], 0
jle 0x5dfc4e
mov edx, dword [ebp - 0x1abb]
cmp dword [ebp + edx*4 - 0x1b3f], 1
je 0x5dfb13
mov ecx, dword [ebp - 0x1abb]
cmp dword [ebp + ecx*4 - 0x1b3f], 2
jne 0x5dfc4e
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x68
jne 0x5dfb41
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [eax + edx + 1]
mov dword [ebp - 0x11c], ecx
jmp 0x5dfb54
mov eax, dword [ebp - 0x1abb]
mov edx, dword [ebp + eax*4 - 0x1bbf]
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x11c]
ja 0x5dfb74
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
add ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x11c]
ja 0x5dfb7e
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x5dfc0a
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x4d
jne 0x5dfbb7
push 3
push 0x100
mov edx, dword [ebp - 0x11c]
push edx
lea ecx, [ebp - 0xfec]
push ecx
call fcn.005b7316
add esp, 0x10
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xb4], eax
jmp 0x5dfc0a
push 3
push 0x200
mov edx, dword [ebp - 0x11c]
push edx
lea ecx, [ebp - 0xeec]
push ecx
call fcn.005b7316
add esp, 0x10
lea ecx, [ebp - 0xeec]
shr eax, 1
mov dword [ebp - 8], eax
push 0
push 0
lea eax, [ebp - 0xfec]
push 0x100
push eax
mov edx, dword [ebp - 8]
push edx
push ecx
push 0
push 0
call fcn.0060521a
mov dword [ebp - 8], eax
mov dword [ebp - 0xb4], 1
cmp dword [ebp - 8], 0x100
jne 0x5dfc4e
mov byte [ebp - 0xeed], 0
xor edi, edi
jmp 0x5dfc3c
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
cmp eax, 0x25
jne 0x5dfc3b
xor edx, edx
mov dl, byte [ebp + edi - 0xfeb]
cmp edx, 0x25
jne 0x5dfc46
inc edi
inc edi
cmp byte [ebp + edi - 0xfec], 0
jne 0x5dfc1e
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp - 4]
lea edx, [ebp + eax - 0x7e8]
mov dword [ebp - 0x1e8], edx
jmp 0x5dfc88
cmp dword [ebp - 0xb8], 2
je 0x5dfc82
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x1e8]
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
inc dword [ebp - 0x190]
mov ecx, dword [ebp - 0x190]
cmp byte [ecx], 0
je 0x5dfca2
mov eax, dword [ebp - 0x190]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2c
jne 0x5dfc60
cmp dword [ebp - 0xb8], 1
jne 0x5dfcc7
push 0x4c7d33
lea ecx, [ebp - 0x7e8]
add ecx, dword [ebp - 4]
push ecx
call fcn.005fcc36
add esp, 8
add dword [ebp - 4], eax
jmp 0x5dfcd2
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0
mov edx, dword [ebp - 0x190]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2c
jne 0x5dfce7
inc dword [ebp - 0x190]
inc dword [ebp - 0xa8]
mov eax, dword [ebp - 0x190]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2e
jne 0x5dfdfc
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
jne 0x5dfdfc
mov edx, dword [ebp - 0x190]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x2e
jne 0x5dfdfc
add dword [ebp - 0x190], 3
jmp 0x5dfd37
inc dword [ebp - 0x190]
mov eax, dword [ebp - 0x190]
cmp byte [eax], 0
jne 0x5dfd31
cmp byte [ebp - 0xfec], 0
jne 0x5dfdfc
cmp dword [0x4d91d0], 0
je 0x5dfdf2
push 0
lea edx, [ebp - 0xeeb]
push edx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xd8]
push ecx
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp - 0x180]
add edx, dword [ebp - 0xd8]
push edx
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
push ecx
call fcn.005619fa
add esp, 0x18
test eax, eax
jne 0x5dfdb1
mov dword [ebp - 0x9c], 1
jmp 0x5dfdfc
xor edx, edx
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0xa8]
jge 0x5dfdea
jmp 0x5dfdc4
inc eax
cmp byte [eax], 0
je 0x5dfdd2
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2c
jne 0x5dfdc3
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x2c
jne 0x5dfddc
inc eax
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xa8]
jl 0x5dfdc4
mov dword [ebp - 0x190], eax
jmp 0x5dfdfc
mov dword [ebp - 0x9c], 1
cmp dword [ebp - 0x9c], 0
jne 0x5dfe38
mov eax, dword [ebp - 0x190]
cmp byte [eax], 0
jne 0x5dfe38
cmp dword [ebp - 0xb0], 0
jne 0x5dfe38
cmp byte [ebp - 0xfec], 0
je 0x5dfe2c
cmp byte [ebp + edi - 0xfec], 0
jne 0x5dfe38
mov byte [ebp - 0x7e8], 0x42
jmp 0x5e03d4
cmp dword [ebp - 0x9c], 0
jne 0x5e03d4
cmp dword [ebp - 4], 1
jne 0x5e03d4
mov ecx, dword [ebp - 0x190]
cmp byte [ecx], 0
jne 0x5e03d4
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], 0x3d
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x7e8], 0x3c
inc dword [ebp - 4]
mov dword [ebp - 0xac], edi
mov al, byte [ebp + edi - 0xfec]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], al
inc edi
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
lea eax, [ebp + ecx - 0x7e8]
mov dword [ebp - 0x1e8], eax
jmp 0x5dfece
mov dl, byte [ebp + edi - 0xfec]
mov ecx, dword [ebp - 0x1e8]
mov byte [ecx], dl
inc edi
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
cmp eax, 0x2b
je 0x5dfeb5
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2d
je 0x5dfeb5
xor ecx, ecx
mov cl, byte [ebp + edi - 0xfec]
cmp ecx, 0x20
je 0x5dfeb5
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
cmp eax, 0x23
je 0x5dfeb5
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2a
jne 0x5dff5f
test byte [ebp - 0xb0], 1
jne 0x5dff48
or dword [ebp - 0xb0], 1
push esi
lea edi, [ebp - 0x7e8]
mov eax, edi
mov esi, 0x4c7d3d
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
mov edi, dword [ebp - 0xac]
inc dword [ebp - 0xa8]
jmp 0x5e03d4
mov al, byte [ebp + edi - 0xfec]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], al
inc edi
inc dword [ebp - 4]
jmp 0x5dff9e
mov ecx, dword [ebp - 4]
lea eax, [ebp + ecx - 0x7e8]
mov dword [ebp - 0x1e8], eax
jmp 0x5dff8a
mov dl, byte [ebp + edi - 0xfec]
mov ecx, dword [ebp - 0x1e8]
mov byte [ecx], dl
inc edi
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
push eax
call fcn.005fdbc6
pop ecx
test eax, eax
jne 0x5dff71
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2e
jne 0x5e005d
mov cl, byte [ebp + edi - 0xfec]
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], cl
inc edi
inc dword [ebp - 4]
xor edx, edx
mov dl, byte [ebp + edi - 0xfec]
cmp edx, 0x2a
jne 0x5e001e
test byte [ebp - 0xb0], 2
jne 0x5e0007
or dword [ebp - 0xb0], 2
push esi
lea edi, [ebp - 0x7e8]
mov eax, edi
mov esi, 0x4c7d3d
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
mov edi, dword [ebp - 0xac]
inc dword [ebp - 0xa8]
jmp 0x5e03d4
mov al, byte [ebp + edi - 0xfec]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], al
inc edi
inc dword [ebp - 4]
jmp 0x5e005d
mov ecx, dword [ebp - 4]
lea eax, [ebp + ecx - 0x7e8]
mov dword [ebp - 0x1e8], eax
jmp 0x5e0049
mov dl, byte [ebp + edi - 0xfec]
mov ecx, dword [ebp - 0x1e8]
mov byte [ecx], dl
inc edi
inc dword [ebp - 4]
inc dword [ebp - 0x1e8]
xor eax, eax
mov al, byte [ebp + edi - 0xfec]
push eax
call fcn.005fdbc6
pop ecx
test eax, eax
jne 0x5e0030
mov dl, byte [ebp + edi - 0xfec]
mov byte [ebp - 0x178], dl
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], dl
inc edi
inc dword [ebp - 4]
xor ecx, ecx
mov cl, byte [ebp - 0x178]
cmp ecx, 0x4e
je 0x5e00b9
xor eax, eax
mov al, byte [ebp - 0x178]
cmp eax, 0x68
je 0x5e00b9
xor edx, edx
mov dl, byte [ebp - 0x178]
cmp edx, 0x6c
je 0x5e00b9
xor ecx, ecx
mov cl, byte [ebp - 0x178]
cmp ecx, 0x4c
je 0x5e00b9
xor eax, eax
mov al, byte [ebp - 0x178]
cmp eax, 0x77
jne 0x5e00e2
mov dl, byte [ebp - 0x178]
mov byte [ebp - 0x179], dl
mov cl, byte [ebp + edi - 0xfec]
mov byte [ebp - 0x178], cl
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], cl
inc edi
inc dword [ebp - 4]
jmp 0x5e00e9
mov byte [ebp - 0x179], 0
cmp dword [ebp - 4], 0x7f
jle 0x5e0120
mov dword [ebp - 4], 0x7c
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], 0x2e
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0x2e
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x7e8], 0x2e
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
xor edx, edx
mov byte [ebp + ecx - 0x7e8], 0x3e
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x7e8], 0
mov dl, byte [ebp - 0x178]
cmp edx, 0x64
je 0x5e0153
xor ecx, ecx
mov cl, byte [ebp - 0x178]
cmp ecx, 0x69
jne 0x5e015f
mov byte [ebp - 0x7e7], 0x49
jmp 0x5e038b
xor eax, eax
mov al, byte [ebp - 0x178]
cmp eax, 0x75
jne 0x5e0178
mov byte [ebp - 0x7e7], 0x55
jmp 0x5e038b
xor edx, edx
mov dl, byte [ebp - 0x178]
cmp edx, 0x6f
je 0x5e019f
xor edx, edx
mov dword [ebp - 0xb0], edx
jmp 0x5e03b3
cmp byte [ebp + edi - 0xfec], 0
jne 0x5e0395
cmp dword [0x4d9218], 0
je 0x5e0509
cmp dword [ebp - 0x1abb], 0
jle 0x5e0509
dec dword [ebp - 0x1abb]
cmp esi, 5
jne 0x5e04a4
mov edx, dword [ebp - 0x1abb]
cmp dword [ebp + edx*4 - 0x1b3b], 1
je 0x5e0421
mov ecx, dword [ebp - 0x1abb]
cmp dword [ebp + ecx*4 - 0x1b3b], 2
jne 0x5e04a4
lea eax, [ebp - 0x7e8]
push eax
call fcn.005f96de
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xf4
jge 0x5e0509
mov edx, dword [ebp - 0x1abb]
cmp dword [ebp + edx*4 - 0x1b3b], 1
jne 0x5e0478
mov ecx, dword [ebp - 0x1abb]
lea edx, [ebp - 0x7e8]
mov eax, dword [ebp + ecx*4 - 0x1bbb]
push eax
push 0x4c7d44
add edx, dword [ebp - 4]
push edx
call fcn.005fcc36
add esp, 0xc
jmp 0x5e0509
mov ecx, dword [ebp - 0x1abb]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + ecx*4 - 0x1bbb]
lea ecx, [ebp - 0x7e8]
sub eax, dword [edx]
push eax
push 0x4c7d49
add ecx, dword [ebp - 4]
push ecx
call fcn.005fcc36
add esp, 0xc
jmp 0x5e0509
cmp esi, 5
jne 0x5e0509
mov eax, dword [ebp - 0x1abb]
cmp dword [ebp + eax*4 - 0x1b3b], 3
jne 0x5e0509
lea edx, [ebp - 0x7e8]
push edx
call fcn.005f96de
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xf2
jge 0x5e0509
mov ecx, dword [ebp - 0x1abb]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + ecx*4 - 0x1bbb]
lea ecx, [ebp - 0x7e8]
sub eax, dword [edx]
push eax
push 0x4c7d4f
add ecx, dword [ebp - 4]
push ecx
call fcn.005fcc36
add esp, 0xc
jmp 0x5e0509
cmp esi, 6
jne 0x5e0509
inc dword [ebp - 0x8c]
lea eax, [ebp - 0x7e8]
push eax
push 0x39
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xf4]
push edx
call fcn.005ba30e
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xf4]
add esp, 0xc
or byte [ecx + eax], 0x80
cmp dword [ebp - 0x9c], 0
jne 0x5e0569
xor edx, edx
mov dl, byte [ebp - 0x7e8]
cmp edx, 0x42
je 0x5e0569
cmp ebx, 0x1e
je 0x5e0569
cmp ebx, 0x1f
je 0x5e0569
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xe8]
jb 0x5df45e
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jb 0x5dea3e
lea edx, [ebp - 0x2424]
push edx
call fcn.005aace2
pop ecx
push 0
call fcn.005ba58a
pop ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c9842
pop ecx
lea eax, [ebp - 0x8e8]
push eax
push 0x3e6
call fcn.0058782a
add esp, 8
xor ebx, ebx
cmp ebx, dword [ebp - 0x20]
jge 0x5e0678
mov eax, dword [ebp - 0x174]
mov edi, dword [eax + ebx*4]
jmp 0x5e05f8
mov eax, dword [ebp - 0x184]
mov byte [eax + edi], 4
mov edx, dword [ebp - 0x184]
mov byte [edx + edi + 1], 3
mov ecx, dword [ebp - 0x184]
mov byte [ecx + edi + 2], 3
mov eax, dword [ebp - 0x184]
mov byte [eax + edi + 3], 3
add edi, 4
lea edx, [edi + 4]
cmp edx, dword [ebp - 0xe8]
ja 0x5e066e
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi]
dec eax
jne 0x5e066e
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + edi + 1]
dec ecx
jne 0x5e066e
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax + edi + 2]
dec edx
jne 0x5e066e
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + edi + 3]
dec eax
jne 0x5e066e
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x188]
mov cl, byte [edx + edi]
mov edx, dword [ebp - 0x188]
or cl, byte [eax + edi + 1]
mov eax, dword [ebp - 0x188]
or cl, byte [edx + edi + 2]
or cl, byte [eax + edi + 3]
test cl, 0x18
je 0x5e05ca
inc ebx
cmp ebx, dword [ebp - 0x20]
jl 0x5e05bf
lea edx, [ebp - 0x8e8]
push edx
push 0x3e7
call fcn.0058782a
add esp, 8
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jae 0x5e0923
mov edx, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov al, byte [edx + ecx]
and eax, 0x1f
cmp eax, 0x1f
ja 0x5e08a9
mov al, byte [eax + 0x48a6c6]
jmp dword [eax*4 + 0x48a6e6]
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 1
mov dword [ebp - 8], 1
mov ebx, 1
cmp ebx, dword [ebp - 8]
jge 0x5e08eb
mov eax, dword [ebp - 0xd8]
add eax, ebx
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0x1f
cmp ecx, 3
jne 0x5e08eb
inc ebx
cmp ebx, dword [ebp - 8]
jl 0x5e08ca
cmp ebx, dword [ebp - 8]
jge 0x5e0908
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0xd8]
mov byte [eax + edx], 1
inc dword [ebp - 0xd8]
jmp 0x5e0911
mov ecx, dword [ebp - 8]
add dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xe8]
jb 0x5e06a6
push 0
call fcn.005ba58a
pop ecx
push 0x4c666c
push 0
call fcn.0058782a
add esp, 8
cmp dword [ebp - 0x90], 1
jne 0x5e094a
mov edx, 0x4c666c
jmp 0x5e094f
mov edx, 0x4c76f3
push edx
cmp dword [0x4d91c8], 0
jne 0x5e0960
mov eax, 0x4c7d69
jmp 0x5e0975
cmp dword [0x4d91c8], 1
jne 0x5e0970
mov eax, 0x4c7d70
jmp 0x5e0975
mov eax, 0x4c7d7c
push eax
lea ecx, [ebp - 0x7e8]
mov edx, dword [ebp - 0x90]
push edx
push 0x4c7d57
push ecx
call fcn.005fcc36
add esp, 0x14
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x94], 1
jne 0x5e09d1
cmp dword [ebp - 0x98], 0
jne 0x5e09af
mov edx, 0x4c7d94
jmp 0x5e09b4
mov edx, 0x4c789f
push edx
push 0x4c7d82
lea eax, [ebp - 0xeec]
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
jmp 0x5e0a11
cmp dword [ebp - 0x94], 1
jle 0x5e0a11
cmp dword [ebp - 0x98], 0
jne 0x5e09ea
mov ecx, 0x4c7db2
jmp 0x5e09ef
mov ecx, 0x4c789f
push ecx
lea edx, [ebp - 0xeec]
mov eax, dword [ebp - 0x94]
push eax
push 0x4c7d9e
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0x10
add dword [ebp - 8], eax
cmp dword [ebp - 0x98], 1
jne 0x5e0a36
push 0x4c7dbd
lea eax, [ebp - 0xeec]
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 8
add dword [ebp - 8], eax
jmp 0x5e0a60
cmp dword [ebp - 0x98], 1
jle 0x5e0a60
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0xeec]
push edx
push 0x4c7dd9
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0xc
add dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x5e0a85
lea eax, [ebp - 0x7e8]
push eax
mov edx, dword [ebp + 8]
add edx, 0x48
push edx
push 8
push 0x4c7df7
call fcn.00587772
add esp, 0x10
jmp 0x5e0aa9
lea ecx, [ebp - 0xeec]
lea eax, [ebp - 0x7e8]
push ecx
push eax
mov edx, dword [ebp + 8]
add edx, 0x48
push edx
push 8
push 0x4c7e0a
call fcn.00587772
add esp, 0x14
mov ecx, dword [ebp + 8]
add ecx, 0x48
push ecx
push 8
push 0x4c7e21
push 0
push 0
call fcn.005b0616
add esp, 0x14
lea eax, [ebp - 0x7e8]
push eax
push 0x4c7e30
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0x10
cmp dword [ebp - 8], 0
jle 0x5e0af9
lea edx, [ebp - 0xeec]
push edx
push 0x4c7e30
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0x10
cmp dword [ebp - 0x34], 0
jg 0x5e0b09
cmp dword [ebp - 0x48], 0
jle 0x5e0b94
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x34], 0
jle 0x5e0b45
cmp dword [ebp - 0x48], 0
jne 0x5e0b21
mov eax, 0x4c666c
jmp 0x5e0b26
mov eax, 0x4c789f
push eax
lea ecx, [ebp - 0x7e8]
mov edx, dword [ebp - 0x34]
push edx
push 0x4c7e35
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0x10
add dword [ebp - 8], eax
cmp dword [ebp - 0x48], 0
jle 0x5e0b7c
cmp dword [0x4dcb40], 0
jne 0x5e0b5b
mov eax, 0x4c666c
jmp 0x5e0b60
mov eax, 0x4c7e4e
push eax
lea ecx, [ebp - 0x7e8]
mov edx, dword [ebp - 0x48]
push edx
push 0x4c7e40
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0x10
lea eax, [ebp - 0x7e8]
push eax
push 0x4c7e30
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0x10
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.00605592
push 0
push 0
push 0
call fcn.005b72ee
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, dword [ecx]
sub eax, dword [edx + 0x160]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xdc]
push edx
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.005aab2a
add esp, 0x14
mov edx, dword [ebp + 8]
mov dword [edx + 0x170], eax
mov eax, dword [ebp - 0x180]
push eax
call fcn.00605100
mov ecx, dword [ebp - 0x188]
push ecx
call fcn.00605100
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call fcn.00605208
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call fcn.00605208
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.00605208
xor eax, eax
jmp 0x5e0d0f
push 0x4c666c
push 0
call fcn.0058782a
add esp, 8
push 0x4c7e60
push 0
call fcn.0058763a
add esp, 8
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.00605592
push 0
push 0
push 0
call fcn.005b72ee
add esp, 0xc
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x170], eax
mov edx, dword [ebp + 8]
push edx
call fcn.005d51da
pop ecx
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.00605100
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x16c]
push edx
call fcn.00605100
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x16c], eax
mov edx, dword [ebp - 0x188]
push edx
call fcn.00605100
cmp dword [ebp - 0x18c], 0
je 0x5e0cd3
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.00605100
push 0x8000
push 0
mov eax, dword [ebp - 0x168]
push eax
call fcn.00605208
push 0x8000
push 0
mov edx, dword [ebp - 0x16c]
push edx
call fcn.00605208
push 0x8000
push 0
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.00605208
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret