Function at 0x64a7db90
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x28]
mov edi, dword [ebp + 0x2c]
cmp eax, edx
je 0x64a7dea0
cmp edx, 0x22009
jne 0x64a7dcb0
test eax, eax
je 0x64a7dcb0
mov edx, eax
and edx, 0xff00
cmp edx, 0x2000
je 0x64a7e150
cmp eax, 0x61007
je 0x64a87583
jg 0x64a7e018
cmp eax, 0x22009
je 0x64a7e160
jle 0x64a7e3b8
cmp eax, 0x30402
je 0x64a7e7b0
cmp eax, 0x30803
je 0x64a836a8
cmp eax, 0x30101
jne 0x64a7e160
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a89131
mov dword [ebp - 0x28], 0
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], 0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp - 0x28]
xor edx, edx
add esi, eax
lea esi, [esi]
mov eax, edx
mov ecx, edx
shr eax, 3
not ecx
movzx eax, byte [esi + eax]
and ecx, 7
sar eax, cl
and eax, 1
cmp eax, dword [edi + 4]
jae 0x64a7e9a0
mov eax, dword [edi + eax*4 + 8]
and eax, 0xffffff
mov dword [ebx + edx*4], eax
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a7dc50
add dword [ebp - 0x20], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edx
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a7dc43
lea esi, [esi]
nop
xor edx, edx
add esp, 0x8c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x30803
je 0x64a7ef70
jle 0x64a7df10
cmp eax, 0x10300c
je 0x64a7ec30
jg 0x64a7e178
cmp eax, 0xe200b
je 0x64a7ed10
cmp eax, 0x101004
je 0x64a7e5f0
cmp eax, 0x61007
jne 0x64a7e160
cmp edx, 0x30803
jne 0x64a7f049
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea eax, [eax + esi*2]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp + 0x24]
mov dword [ebp - 0x58], eax
mov edi, dword [ebp - 0x68]
add edi, dword [ebp + 0x14]
lea esi, [esi]
mov eax, dword [ebp - 0x58]
mov ebx, dword [ebp + 0x1c]
movzx eax, word [eax]
test ebx, ebx
je 0x64a7e9e0
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a7e9e0
mov ecx, eax
lea edx, [eax*8]
mov dword [ebp - 0x38], 0x7fff
shr cx, 2
mov dword [ebp - 0x5c], edi
mov ebx, ecx
and ecx, 0xfffffff8
and ebx, 7
or edx, ebx
xor ebx, ebx
movzx esi, dl
mov edx, eax
mov byte [ebp - 0x30], bl
shr dx, 6
mov dword [ebp - 0x48], esi
and edx, 7
or edx, ecx
mov ecx, eax
movzx esi, dl
mov edx, eax
shr cx, 0xc
shr dx, 7
sar ax, 0xf
and ecx, 7
mov dword [ebp - 0x20], esi
and edx, 0xfffffff8
movzx eax, al
or edx, ecx
mov dword [ebp - 0x54], eax
movzx esi, dl
mov dword [ebp - 0x50], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
mov ebx, 0xff
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
mov edi, dword [ebp - 0x38]
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
add ecx, edx
cmp edi, ecx
cmovg eax, esi
cmovle ecx, edi
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a7ddc8
mov edi, dword [ebp - 0x5c]
mov ebx, eax
add dword [ebp - 0x58], 2
mov esi, dword [ebp - 0x60]
add edi, 1
mov eax, dword [ebp - 0x58]
mov byte [edi - 1], bl
cmp eax, esi
jne 0x64a7dd40
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x64], 1
add dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x60], ebx
add dword [ebp - 0x6c], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7dd2e
jmp 0x64a7dca0
mov edx, 0x18
test eax, eax
jne 0x64a7e150
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
imul eax, edx
test eax, eax
lea esi, [eax + 7]
cmovns esi, eax
sar esi, 3
mov dword [ebp - 0x20], esi
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x24]
xor ebx, ebx
mov eax, esi
mov esi, edi
mov edi, eax
lea esi, [esi]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], esi
add ebx, 1
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._memcpy
add edi, dword [ebp + 0x10]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ebx
jne 0x64a7dee0
jmp 0x64a7dca0
cmp eax, 0x21808
je 0x64a7eb58
jg 0x64a7e2c0
cmp eax, 0x21005
jne 0x64a7e440
cmp edx, 0x61007
je 0x64a86613
jg 0x64a7f2b8
cmp edx, 0x30101
je 0x64a8633d
jg 0x64a80c03
cmp edx, 0x21808
je 0x64a85c7e
cmp edx, 0x22009
je 0x64a7fe42
cmp edx, 0x21006
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor ecx, ecx
xor edx, edx
lea eax, [eax + esi*2]
xor esi, esi
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], esi
add ebx, esi
add edi, ecx
nop
movzx edx, word [ebx]
add edi, 2
add ebx, 2
mov esi, edx
mov eax, edx
mov ecx, edx
and edx, 0x1f
shr si, 2
shr ax, 6
and eax, 7
and esi, 0xfffffff8
shr cx, 7
or eax, esi
and ecx, 0xfffffff8
shl eax, 3
shl ecx, 8
and ax, 0x7e0
or eax, ecx
or eax, edx
mov word [edi - 2], ax
cmp dword [ebp - 0x20], ebx
jne 0x64a7dfb0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x20]
add edx, 1
add dword [ebp - 0x20], ebx
add esi, dword [ebp + 0x20]
add ecx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edx
jne 0x64a7df9c
jmp 0x64a7dca0
cmp eax, 0x1c400e
je 0x64a87d0f
jg 0x64a7e9f0
cmp eax, 0x101004
je 0x64a7e8ed
cmp eax, 0x10300c
je 0x64a859aa
cmp eax, 0xe200b
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x40], eax
mov edi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
add edi, dword [ebp + 0x14]
jmp 0x64a7e0bd
shl eax, 0x10
mov ebx, esi
movzx esi, byte [ebp - 0x28]
mov dword [ebp - 0x20], eax
movzx edx, bl
shl edx, 8
mov eax, dword [ebp - 0x20]
add ecx, 4
add edi, 4
or eax, edx
or eax, esi
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
je 0x64a7f114
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx]
movzx ebx, byte [ecx + 3]
movzx esi, byte [ecx + 1]
mov byte [ebp - 0x30], al
mov byte [ebp - 0x28], dl
test bl, bl
je 0x64a7e090
movzx eax, bl
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, 0x7f8000
idiv dword [ebp - 0x20]
movzx edx, byte [ebp - 0x30]
mov dword [ebp - 0x20], 0xff0000
mov dword [ebp - 0x38], eax
cmp bl, dl
jb 0x64a7e10b
movzx eax, dl
mov edx, dword [ebp - 0x38]
imul eax, edx
add eax, eax
and eax, 0xff0000
mov dword [ebp - 0x20], eax
mov eax, esi
mov edx, 0xff00
cmp bl, al
jb 0x64a7e12a
movzx esi, al
mov eax, dword [ebp - 0x38]
imul esi, eax
shr esi, 7
and esi, 0xff00
mov edx, esi
movzx eax, byte [ebp - 0x28]
mov esi, 0xff
cmp bl, al
jb 0x64a7e0a2
movzx ebx, al
mov eax, dword [ebp - 0x38]
imul ebx, eax
shr ebx, 0xf
movzx esi, bl
jmp 0x64a7e0a2
movzx edx, ah
jmp 0x64a7dead
add esp, 0x8c
mov edx, 6
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x26200a
je 0x64a7ea90
cmp eax, 0x34400d
je 0x64a7e520
cmp eax, 0x1c400e
jne 0x64a7e160
cmp edx, 0x30803
je 0x64a88397
jle 0x64a7fd19
cmp edx, 0x10300c
je 0x64a87de7
jg 0x64a82076
cmp edx, 0xe200b
je 0x64a88277
cmp edx, 0x101004
je 0x64a8819c
cmp edx, 0x61007
jne 0x64a7e160
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x40]
add edi, dword [ebp + 0x14]
lea esi, [esi]
nop
movzx esi, byte [ecx + 6]
mov eax, esi
test al, al
je 0x64a7e9c0
movzx edx, byte [ecx + 4]
movzx ebx, al
shl esi, 8
add ecx, 8
and si, 0x8000
add edi, 2
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, byte [ecx - 6]
shl eax, 7
and ax, 0x7c00
mov word [ebp - 0x28], ax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
mov edx, esi
shl eax, 2
and ax, 0x3e0
or ax, word [ebp - 0x28]
or eax, edx
movzx edx, byte [ecx - 8]
mov esi, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
shr al, 3
movzx eax, al
or esi, eax
mov word [edi - 2], si
cmp dword [ebp - 0x20], ecx
jne 0x64a7e220
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x30], 1
add dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x38], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7e20f
jmp 0x64a7dca0
cmp eax, 0x30101
je 0x64a7ee7b
cmp eax, 0x30402
je 0x64a7e6d0
cmp eax, 0x22009
jne 0x64a7e160
cmp edx, 0x61007
je 0x64a873ee
jg 0x64a7f93f
cmp edx, 0x30101
je 0x64a871d6
jg 0x64a8000d
cmp edx, 0x21006
je 0x64a85724
cmp edx, 0x21808
je 0x64a856b6
cmp edx, 0x21005
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edi, edi
xor ecx, ecx
lea esi, [eax + esi*4]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov edx, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], eax
add ebx, edi
lea esi, [esi]
movzx ecx, byte [edx + 2]
movzx edi, byte [edx + 1]
add edx, 4
add ebx, 2
movzx eax, byte [edx - 4]
shl ecx, 7
shl edi, 2
and di, 0x3e0
and cx, 0x7c00
shr al, 3
or ecx, edi
movzx edi, al
or ecx, edi
mov word [ebx - 2], cx
cmp esi, edx
jne 0x64a7e360
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add edi, dword [ebp + 0x10]
add ecx, 1
add eax, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a7e34c
jmp 0x64a7dca0
cmp eax, 0x21006
je 0x64a7e82d
cmp eax, 0x21808
jne 0x64a7fe37
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor edi, edi
lea ebx, [esi + esi*2]
xor esi, esi
add ebx, eax
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], edi
mov edx, eax
mov dword [ebp - 0x28], esi
add ecx, esi
movzx edi, byte [edx + 2]
movzx esi, byte [edx + 1]
add edx, 3
add ecx, 4
shl edi, 0x10
shl esi, 8
or esi, edi
movzx edi, byte [edx - 3]
or esi, edi
mov dword [ecx - 4], esi
cmp edx, ebx
jne 0x64a7e400
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
add eax, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
add edi, 1
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], edi
jne 0x64a7e3f3
jmp 0x64a7dca0
cmp eax, 0x21006
jne 0x64a7e160
cmp edx, 0x61007
je 0x64a84d27
jg 0x64a7f544
cmp edx, 0x30101
je 0x64a84ab1
jg 0x64a80186
cmp edx, 0x21808
je 0x64a85fcf
cmp edx, 0x22009
je 0x64a7e82d
cmp edx, 0x21005
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edx, edx
xor ebx, ebx
lea edi, [eax + esi*2]
xor eax, eax
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], ebx
add ecx, ebx
add esi, edx
lea esi, [esi]
nop
movzx edx, word [ecx]
add ecx, 2
add esi, 2
mov ebx, edx
mov eax, edx
and edx, 0x1f
shr bx, 1
shr ax, 1
and bx, 0x3e0
and ax, 0x7c00
or eax, ebx
or eax, edx
mov word [esi - 2], ax
cmp edi, ecx
jne 0x64a7e4d0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
add edx, dword [ebp + 0x10]
add eax, 1
add ebx, dword [ebp + 0x20]
add edi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a7e4b8
jmp 0x64a7dca0
cmp edx, 0x30803
je 0x64a845d9
jg 0x64a7f6f8
cmp edx, 0x22009
je 0x64a7ea0b
jg 0x64a80336
cmp edx, 0x21006
je 0x64a84e2c
cmp edx, 0x21808
je 0x64a84dae
cmp edx, 0x21005
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
xor edi, edi
add eax, 1
mov dword [ebp - 0x28], eax
lea esi, [eax + esi*8]
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ebx, edi
nop
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 2]
add edx, 8
add ebx, 2
shl eax, 7
shl ecx, 2
and cx, 0x3e0
and ax, 0x7c00
or eax, ecx
movzx ecx, byte [edx - 8]
shr cl, 3
movzx ecx, cl
or eax, ecx
mov word [ebx - 2], ax
cmp esi, edx
jne 0x64a7e5a0
mov edx, dword [ebp + 0x20]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x20]
add edi, dword [ebp + 0x10]
add esi, edx
cmp dword [ebp + 0xc], eax
jne 0x64a7e596
jmp 0x64a7dca0
cmp edx, 0x30803
je 0x64a87093
jg 0x64a7f632
cmp edx, 0x22009
je 0x64a7e8ed
jg 0x64a805b3
cmp edx, 0x21006
je 0x64a860f0
cmp edx, 0x21808
je 0x64a86070
cmp edx, 0x21005
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x20], 0
lea edi, [eax + esi*2]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add esi, dword [ebp + 0x24]
add ecx, dword [ebp + 0x14]
lea esi, [esi]
nop
movzx eax, byte [esi]
add ecx, 2
add esi, 2
mov ebx, eax
mov edx, eax
shl eax, 2
shl ebx, 7
and ax, 0x3e0
shr dl, 3
and bx, 0x7c00
movzx edx, dl
or eax, ebx
or eax, edx
mov word [ecx - 2], ax
cmp edi, ecx
jne 0x64a7e680
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x20]
add edi, ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7e66c
jmp 0x64a7dca0
cmp edx, 0xe200b
je 0x64a832d9
jg 0x64a7f9e4
cmp edx, 0x21808
je 0x64a82b5e
jg 0x64a8248f
cmp edx, 0x21005
je 0x64a82c09
cmp edx, 0x21006
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a89071
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
xor eax, eax
lea esi, [esi]
mov edx, eax
shr edx, 1
movzx edx, byte [esi + edx]
mov ecx, edx
shr dl, 4
and ecx, 0xf
test al, 1
cmovne edx, ecx
movzx edx, dl
cmp edx, dword [edi + 4]
jae 0x64a7e980
mov ecx, dword [edi + edx*4 + 8]
mov ebx, ecx
mov edx, ecx
shr cl, 3
shr ebx, 0x10
shr dx, 5
movzx ecx, cl
shl ebx, 8
and dx, 0x7e0
and bx, 0xf800
or edx, ebx
mov ebx, dword [ebp - 0x20]
or edx, ecx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a7e740
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x20], edx
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a7e73a
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a890cf
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x24]
mov dword [ebp - 0x20], 0
xor edx, edx
lea esi, [esi]
mov eax, edx
shr eax, 1
movzx eax, byte [ebx + eax]
mov ecx, eax
shr al, 4
and ecx, 0xf
test dl, 1
cmovne eax, ecx
movzx eax, al
cmp eax, dword [edi + 4]
jae 0x64a7e960
mov eax, dword [edi + eax*4 + 8]
and eax, 0xffffff
mov dword [esi + edx*4], eax
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a7e7e0
add dword [ebp - 0x20], 1
add esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x20]
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a7e7db
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
xor edi, edi
xor edx, edx
lea eax, [eax + esi*2]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], ecx
add ebx, edi
add esi, ecx
lea esi, [esi]
nop
movzx ecx, word [ebx]
add esi, 4
add ebx, 2
mov edx, ecx
mov eax, ecx
mov edi, ecx
shr dx, 3
shr ax, 9
and eax, 3
and edx, 0xfffffffc
shr di, 0xd
or edx, eax
mov eax, ecx
shr ax, 8
movzx edx, dl
and eax, 0xfffffff8
shl edx, 8
or eax, edi
movzx eax, al
shl eax, 0x10
or eax, edx
mov edx, ecx
shl ecx, 3
shr dx, 2
and edx, 7
or edx, ecx
movzx edx, dl
or eax, edx
mov dword [esi - 4], eax
cmp dword [ebp - 0x20], ebx
jne 0x64a7e870
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp + 0x20]
add edx, 1
add dword [ebp - 0x20], esi
add edi, dword [ebp + 0x20]
add ecx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edx
jne 0x64a7e855
jmp 0x64a7dca0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], 0
xor edi, edi
lea ebx, [eax + esi*4]
mov esi, 1
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x14]
add ecx, esi
add eax, edi
lea esi, [esi]
movzx edx, byte [ecx]
add eax, 4
add ecx, 2
imul edx, edx, 0x10101
mov dword [eax - 4], edx
cmp ebx, eax
jne 0x64a7e928
add dword [ebp - 0x20], 1
add esi, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add edi, dword [ebp + 0x10]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a7e91a
jmp 0x64a7dca0
mov dword [esi + edx*4], 0
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a7e7e0
jmp 0x64a7e816
mov ebx, dword [ebp - 0x20]
xor ecx, ecx
mov word [ebx + eax*2], cx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a7e740
jmp 0x64a7e796
mov dword [ebx + edx*4], 0
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a7dc50
jmp 0x64a7dc82
xor eax, eax
add ecx, 8
add edi, 2
mov word [edi - 2], ax
cmp dword [ebp - 0x20], ecx
jne 0x64a7e220
jmp 0x64a7e296
xor ebx, ebx
jmp 0x64a7de5b
mov edx, 6
cmp eax, 0x26200a
je 0x64a7dca2
cmp eax, 0x34400d
jne 0x64a7dca2
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
add eax, 1
mov dword [ebp - 0x28], eax
lea ebx, [eax + esi*8]
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ecx, esi
lea esi, [esi]
movzx edi, byte [edx + 4]
movzx eax, byte [edx + 2]
add edx, 8
add ecx, 4
shl edi, 0x10
shl eax, 8
or eax, edi
movzx edi, byte [edx - 8]
or eax, edi
mov dword [ecx - 4], eax
cmp ebx, edx
jne 0x64a7ea48
mov edi, dword [ebp + 0x20]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
add esi, dword [ebp + 0x10]
add ebx, edi
cmp dword [ebp + 0xc], eax
jne 0x64a7ea39
jmp 0x64a7dca0
cmp edx, 0x30803
je 0x64a83742
jg 0x64a7f15c
cmp edx, 0x21808
je 0x64a83a4e
jg 0x64a81dee
cmp edx, 0x21005
je 0x64a83abc
cmp edx, 0x21006
jne 0x64a7e160
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edi, edi
xor ecx, ecx
lea esi, [eax + esi*4]
nop
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov edx, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], eax
add ebx, edi
movzx ecx, byte [edx + 2]
movzx edi, byte [edx + 1]
add edx, 4
add ebx, 2
movzx eax, byte [edx - 4]
shl ecx, 8
shl edi, 3
and di, 0x7e0
and cx, 0xf800
shr al, 3
or ecx, edi
movzx edi, al
or ecx, edi
mov word [ebx - 2], cx
cmp esi, edx
jne 0x64a7eb00
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add edi, dword [ebp + 0x10]
add ecx, 1
add eax, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a7eaf0
jmp 0x64a7dca0
cmp edx, 0x61007
je 0x64a850d4
jg 0x64a7f4a3
cmp edx, 0x30101
je 0x64a852b4
jg 0x64a807e0
cmp edx, 0x21006
je 0x64a874f4
cmp edx, 0x22009
je 0x64a7e3ce
cmp edx, 0x21005
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor edi, edi
xor ecx, ecx
lea esi, [esi + esi*2]
add esi, eax
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov edx, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], eax
add ebx, edi
lea esi, [esi]
movzx ecx, byte [edx + 2]
movzx edi, byte [edx + 1]
add edx, 3
add ebx, 2
movzx eax, byte [edx - 3]
shl ecx, 7
shl edi, 2
and di, 0x3e0
and cx, 0x7c00
shr al, 3
or ecx, edi
movzx edi, al
or ecx, edi
mov word [ebx - 2], cx
cmp edx, esi
jne 0x64a7ebd8
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add edi, dword [ebp + 0x10]
add ecx, 1
add eax, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a7ebc5
jmp 0x64a7dca0
cmp edx, 0x30803
je 0x64a8554a
jg 0x64a7f3a5
cmp edx, 0x22009
je 0x64a859aa
jg 0x64a81b80
cmp edx, 0x21006
je 0x64a876fe
cmp edx, 0x21808
je 0x64a87473
cmp edx, 0x21005
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
xor edi, edi
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
lea esi, [eax + esi*2]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x28]
add ebx, edi
lea esi, [esi]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 2]
add ebx, 2
add ecx, 6
shl eax, 7
shl edx, 2
and dx, 0x3e0
and ax, 0x7c00
or eax, edx
movzx edx, byte [ecx - 6]
shr dl, 3
movzx edx, dl
or eax, edx
mov word [ebx - 2], ax
cmp esi, ebx
jne 0x64a7ecb8
add dword [ebp - 0x20], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edx
add edi, dword [ebp + 0x10]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a7eca9
jmp 0x64a7dca0
cmp edx, 0x30803
je 0x64a857b3
jg 0x64a7f7ef
cmp edx, 0x22009
je 0x64a7e04a
jg 0x64a81574
cmp edx, 0x21006
je 0x64a87bcd
cmp edx, 0x21808
je 0x64a87ab7
cmp edx, 0x21005
jne 0x64a7e160
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x48], eax
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
add esi, dword [ebp + 0x14]
jmp 0x64a7eddd
shl edx, 7
shr bl, 3
mov edi, edx
movzx edx, word [ebp - 0x28]
movzx ebx, bl
and di, 0x7c00
mov word [ebp - 0x20], di
shl edx, 2
and dx, 0x3e0
movzx eax, word [ebp - 0x20]
add ecx, 4
add esi, 2
or eax, edx
or eax, ebx
mov word [esi - 2], ax
mov eax, dword [ebp - 0x48]
cmp ecx, eax
je 0x64a7f0f0
movzx eax, byte [ecx + 1]
movzx edi, byte [ecx + 3]
movzx edx, byte [ecx + 2]
movzx ebx, byte [ecx]
mov byte [ebp - 0x28], al
mov eax, edi
mov byte [ebp - 0x38], dl
mov byte [ebp - 0x30], bl
test al, al
je 0x64a7eda0
movzx ebx, al
xor edx, edx
mov eax, 0x7f8000
idiv ebx
movzx edx, byte [ebp - 0x38]
mov ebx, 0x7c00
mov word [ebp - 0x20], bx
mov ebx, edi
mov dword [ebp - 0x40], eax
cmp bl, dl
jb 0x64a7ee33
mov ebx, eax
movzx eax, dl
imul eax, ebx
shr eax, 0xf
shl eax, 7
and ax, 0x7c00
mov word [ebp - 0x20], ax
movzx eax, byte [ebp - 0x28]
mov ebx, edi
mov edx, 0x3e0
cmp bl, al
jb 0x64a7ee56
movzx edx, al
mov eax, dword [ebp - 0x40]
imul edx, eax
shr edx, 0xf
shl edx, 2
and dx, 0x3e0
mov ebx, 0x1f
mov eax, edi
cmp al, byte [ebp - 0x30]
jb 0x64a7edc0
movzx ebx, byte [ebp - 0x30]
mov eax, dword [ebp - 0x40]
imul ebx, eax
shr ebx, 0x12
and ebx, 0x1f
jmp 0x64a7edc0
cmp edx, 0xe200b
je 0x64a82f35
jg 0x64a7fc00
cmp edx, 0x21808
je 0x64a83541
jg 0x64a826d0
cmp edx, 0x21005
je 0x64a833e8
cmp edx, 0x21006
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88c28
mov dword [ebp - 0x30], 0
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x28], 0
mov esi, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
xor eax, eax
add esi, edx
mov edx, eax
mov ecx, eax
shr edx, 3
not ecx
movzx edx, byte [esi + edx]
and ecx, 7
sar edx, cl
and edx, 1
cmp edx, dword [edi + 4]
jae 0x64a7ef60
mov ecx, dword [edi + edx*4 + 8]
mov edx, ecx
shr edx, 0x10
shl edx, 8
and dx, 0xf800
mov word [ebp - 0x20], dx
mov edx, ecx
shr cl, 3
shr dx, 5
movzx ecx, cl
and dx, 0x7e0
or dx, word [ebp - 0x20]
or edx, ecx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a7eef0
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], edx
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a7eee6
jmp 0x64a7dca0
xor ecx, ecx
mov word [ebx + eax*2], cx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a7eef0
jmp 0x64a7ef42
cmp edx, 0xe200b
je 0x64a82cc7
jg 0x64a7faf1
cmp edx, 0x21808
je 0x64a83105
jg 0x64a82918
cmp edx, 0x21005
je 0x64a83048
cmp edx, 0x21006
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
test edi, edi
je 0x64a890a0
mov eax, dword [ebp + 0x24]
add eax, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
add eax, dword [ebp + 0x24]
add edx, dword [ebp + 0x14]
jmp 0x64a7f03a
mov ebx, dword [edi + ecx*4 + 8]
mov esi, ebx
mov ecx, ebx
shr bl, 3
shr esi, 0x10
shr cx, 5
movzx ebx, bl
shl esi, 8
and cx, 0x7e0
and si, 0xf800
or ecx, esi
or ecx, ebx
mov word [edx], cx
mov esi, dword [ebp - 0x20]
add eax, 1
add edx, 2
cmp eax, esi
je 0x64a7f138
movzx ecx, byte [eax]
cmp ecx, dword [edi + 4]
jb 0x64a7f000
xor ebx, ebx
mov word [edx], bx
jmp 0x64a7f029
jg 0x64a7f1b9
cmp edx, 0x22009
je 0x64a87583
jg 0x64a80956
cmp edx, 0x21006
je 0x64a8783e
cmp edx, 0x21808
je 0x64a87790
cmp edx, 0x21005
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x20], 0
xor edi, edi
lea ebx, [eax + esi*2]
xor esi, esi
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x14]
add eax, esi
add ecx, edi
lea esi, [esi]
movzx edx, word [eax]
add eax, 2
add ecx, 2
and dx, 0x7fff
mov word [ecx - 2], dx
cmp eax, ebx
jne 0x64a7f0c0
add dword [ebp - 0x20], 1
add esi, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add edi, dword [ebp + 0x10]
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a7f0af
jmp 0x64a7dca0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x50], 1
add dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x48], ebx
add dword [ebp - 0x58], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7ed8b
jmp 0x64a7dca0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x48], 1
add dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x40], ebx
add dword [ebp - 0x54], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7e07d
jmp 0x64a7dca0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x38], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7efe8
jmp 0x64a7dca0
cmp edx, 0x101004
je 0x64a83c81
jg 0x64a7ff00
cmp edx, 0x61007
je 0x64a83bed
cmp edx, 0xe200b
jne 0x64a7e160
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._convert_32bppARGB_to_32bppPARGB
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a8673d
jg 0x64a80ef8
cmp edx, 0xe200b
je 0x64a864ef
cmp edx, 0x101004
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
lea eax, [eax + esi*2]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x40]
add esi, dword [ebp + 0x24]
add edi, dword [ebp + 0x14]
lea esi, [esi]
lea esi, [esi]
movzx edx, word [esi]
add esi, 2
add edi, 2
mov ecx, edx
mov eax, edx
mov ebx, edx
shr cx, 7
shr ax, 0xc
and eax, 7
and ecx, 0xfffffff8
shr bx, 2
or ecx, eax
mov eax, edx
shl edx, 3
shr ax, 6
movzx ecx, cl
and eax, 7
mov byte [ebp - 0x20], al
mov eax, ebx
and ebx, 7
and eax, 0xfffffff8
or al, byte [ebp - 0x20]
or edx, ebx
movzx eax, al
movzx edx, dl
add eax, ecx
add eax, edx
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 4
add eax, edx
mov word [edi - 2], ax
mov eax, dword [ebp - 0x28]
cmp esi, eax
jne 0x64a7f230
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7f21a
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a86aa1
jg 0x64a80db4
cmp edx, 0xe200b
je 0x64a8543c
cmp edx, 0x101004
jne 0x64a7e160
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
xor ebx, ebx
xor edx, edx
lea eax, [eax + esi*2]
mov dword [ebp - 0x28], eax
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], ebx
add esi, ebx
add edi, ecx
lea esi, [esi]
movzx edx, word [esi]
add edi, 2
add esi, 2
mov ecx, edx
mov eax, edx
mov ebx, edx
shr cx, 7
shr ax, 0xc
and eax, 7
and ecx, 0xfffffff8
shr bx, 2
or ecx, eax
mov eax, edx
shl edx, 3
shr ax, 6
movzx ecx, cl
and eax, 7
mov byte [ebp - 0x20], al
mov eax, ebx
and ebx, 7
and eax, 0xfffffff8
or al, byte [ebp - 0x20]
or edx, ebx
movzx eax, al
movzx edx, dl
add eax, ecx
add eax, edx
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 4
add eax, edx
mov word [edi - 2], ax
cmp dword [ebp - 0x28], esi
jne 0x64a7f320
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp + 0x20]
add edx, 1
add dword [ebp - 0x28], esi
add ebx, dword [ebp + 0x20]
add ecx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edx
jne 0x64a7f30a
jmp 0x64a7dca0
cmp edx, 0x101004
je 0x64a86bf4
jg 0x64a81351
cmp edx, 0x61007
je 0x64a85045
cmp edx, 0xe200b
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x30], 0
mov edi, 0x80808081
mov dword [ebp - 0x28], 0
add eax, 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x14]
lea eax, [eax + esi*4]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x30]
add esi, dword [ebp + 0x14]
lea esi, [esi]
lea esi, [esi]
movzx eax, byte [ebx + 4]
add esi, 4
add ebx, 6
mov edx, eax
shl edx, 8
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
movzx eax, byte [ebx - 4]
shr edx, 7
mov ecx, edx
mov edx, eax
shl edx, 8
shl ecx, 0x10
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
movzx eax, byte [ebx - 6]
shr edx, 7
shl edx, 8
or ecx, edx
mov edx, eax
shl edx, 8
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
shr edx, 7
or ecx, edx
or ecx, 0xff000000
mov dword [esi - 4], ecx
cmp dword [ebp - 0x20], esi
jne 0x64a7f420
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x30], ebx
add dword [ebp - 0x20], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7f40d
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a86d32
jg 0x64a81249
cmp edx, 0xe200b
je 0x64a84c5e
cmp edx, 0x101004
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x24]
xor esi, esi
lea ebx, [eax + eax*2]
xor eax, eax
add ebx, edi
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov edx, edi
mov dword [ebp - 0x28], esi
add ecx, esi
nop
movzx esi, byte [edx + 2]
movzx eax, byte [edx + 1]
add edx, 3
add ecx, 2
add eax, esi
movzx esi, byte [edx - 3]
add eax, esi
lea eax, [eax + eax*4]
mov esi, eax
shl esi, 4
add eax, esi
mov word [ecx - 2], ax
cmp ebx, edx
jne 0x64a7f500
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
add edi, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
add eax, 1
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a7f4f2
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a86e5a
jg 0x64a810ff
cmp edx, 0xe200b
je 0x64a85ec7
cmp edx, 0x101004
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edx, edx
xor edi, edi
xor ecx, ecx
lea eax, [eax + esi*2]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], edi
add ebx, edi
add esi, edx
lea esi, [esi]
movzx edx, word [ebx]
add esi, 2
add ebx, 2
mov ecx, edx
mov eax, edx
mov edi, edx
shr cx, 3
shr ax, 9
and eax, 3
and ecx, 0xfffffffc
shr di, 0xd
or ecx, eax
mov eax, edx
shr ax, 8
movzx ecx, cl
and eax, 0xfffffff8
or eax, edi
movzx eax, al
add eax, ecx
mov ecx, edx
shl edx, 3
shr cx, 2
and ecx, 7
or ecx, edx
movzx ecx, cl
add eax, ecx
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 4
add eax, edx
mov word [esi - 2], ax
cmp dword [ebp - 0x20], ebx
jne 0x64a7f5b0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp + 0x20]
add ecx, 1
add dword [ebp - 0x20], esi
add edi, dword [ebp + 0x20]
add edx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], ecx
jne 0x64a7f596
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a8700b
jg 0x64a8105d
cmp edx, 0x61007
je 0x64a847c4
cmp edx, 0xe200b
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
mov edi, 0x80808081
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x20], 0
lea esi, [eax + esi*4]
mov ebx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add ebx, dword [ebp + 0x24]
add ecx, dword [ebp + 0x14]
lea esi, [esi]
movzx eax, byte [ebx]
add ecx, 4
add ebx, 2
mov edx, eax
shl edx, 8
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
mov eax, edx
shr eax, 7
imul edx, eax, 0x10100
or edx, eax
or edx, 0xff000000
mov dword [ecx - 4], edx
cmp esi, ecx
jne 0x64a7f6a8
mov edx, dword [ebp + 0x20]
add dword [ebp - 0x30], edx
mov edx, dword [ebp + 0x10]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x20]
add esi, edx
cmp dword [ebp + 0xc], eax
jne 0x64a7f695
jmp 0x64a7dca0
cmp edx, 0x101004
je 0x64a84744
jg 0x64a81ae5
cmp edx, 0x61007
je 0x64a87a18
cmp edx, 0xe200b
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
add eax, 1
mov dword [ebp - 0x38], eax
lea eax, [eax + esi*8]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x30]
add edi, dword [ebp + 0x14]
lea esi, [esi]
movzx esi, byte [ebx + 6]
movzx edx, byte [ebx]
mov eax, 0x80808081
add ebx, 8
add edi, 4
imul edx, esi
add edx, 0x7f
mul edx
mov eax, esi
shl eax, 0x18
shr edx, 7
or edx, eax
mov eax, 0x80808081
mov ecx, edx
movzx edx, byte [ebx - 4]
imul edx, esi
add edx, 0x7f
mul edx
mov eax, 0x80808081
shr edx, 7
shl edx, 0x10
or ecx, edx
movzx edx, byte [ebx - 6]
imul edx, esi
add edx, 0x7f
mul edx
shr edx, 7
shl edx, 8
or ecx, edx
mov dword [edi - 4], ecx
cmp dword [ebp - 0x20], ebx
jne 0x64a7f768
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7f758
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a83f1a
jg 0x64a81869
cmp edx, 0x61007
je 0x64a840c4
cmp edx, 0x101004
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x48], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x38], eax
mov edi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
add edi, dword [ebp + 0x14]
jmp 0x64a7f88f
mov ebx, esi
movzx esi, bl
mov dword [ebp - 0x20], esi
movzx esi, dl
mov ebx, dword [ebp - 0x20]
add ecx, 4
add edi, 2
add eax, ebx
add eax, esi
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 4
add eax, edx
mov word [edi - 2], ax
cmp dword [ebp - 0x38], ecx
je 0x64a7f91b
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx]
movzx ebx, byte [ecx + 3]
movzx esi, byte [ecx + 1]
mov byte [ebp - 0x20], al
mov byte [ebp - 0x28], dl
test bl, bl
je 0x64a7f860
movzx eax, bl
xor edx, edx
mov dword [ebp - 0x30], eax
mov eax, 0x7f8000
idiv dword [ebp - 0x30]
movzx edx, byte [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov eax, 0xff
cmp bl, dl
jb 0x64a7f8d7
movzx eax, dl
mov edx, dword [ebp - 0x30]
imul eax, edx
shr eax, 0xf
movzx eax, al
mov edx, esi
mov dword [ebp - 0x20], 0xff
cmp bl, dl
jb 0x64a7f8f6
mov esi, dword [ebp - 0x30]
movzx edx, dl
imul edx, esi
shr edx, 0xf
movzx esi, dl
mov dword [ebp - 0x20], esi
movzx edx, byte [ebp - 0x28]
mov esi, 0xff
cmp bl, dl
jb 0x64a7f86b
mov esi, dword [ebp - 0x30]
movzx ebx, dl
imul ebx, esi
shr ebx, 0xf
movzx esi, bl
jmp 0x64a7f86b
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], 1
add dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x38], ebx
add dword [ebp - 0x48], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7f84c
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a87350
jg 0x64a81465
cmp edx, 0xe200b
je 0x64a8428d
cmp edx, 0x101004
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x24]
xor esi, esi
lea ebx, [edi + eax*4]
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov edx, edi
mov dword [ebp - 0x28], edi
add ecx, esi
lea esi, [esi]
movzx edi, byte [edx + 2]
movzx eax, byte [edx + 1]
add edx, 4
add ecx, 2
add eax, edi
movzx edi, byte [edx - 4]
add eax, edi
lea eax, [eax + eax*4]
mov edi, eax
shl edi, 4
add eax, edi
mov word [ecx - 2], ax
cmp ebx, edx
jne 0x64a7f9a0
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
add esi, dword [ebp + 0x10]
add edi, dword [ebp + 0x20]
add eax, 1
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a7f98c
jmp 0x64a7dca0
cmp edx, 0x26200a
je 0x64a83253
jg 0x64a827c4
cmp edx, 0x101004
je 0x64a831a5
cmp edx, 0x10300c
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
test edi, edi
je 0x64a8894f
mov dword [ebp - 0x40], eax
movzx eax, word [0x64abe9f8]
mov dword [ebp - 0x38], 0
mov esi, dword [ebp + 0x24]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x40]
xor edx, edx
lea esi, [esi]
mov ecx, edx
shr ecx, 1
movzx ecx, byte [esi + ecx]
mov ebx, ecx
shr cl, 4
and ebx, 0xf
test dl, 1
cmovne ecx, ebx
movzx ecx, cl
cmp ecx, dword [edi + 4]
jae 0x64a7fac8
mov ecx, dword [edi + ecx*4 + 8]
add edx, 1
add eax, 6
movzx ebx, ch
mov byte [eax - 6], cl
mov dword [ebp - 0x30], ebx
mov ebx, ecx
shr ebx, 0x10
mov byte [eax - 5], cl
mov dword [ebp - 0x28], ebx
movzx ebx, word [ebp - 0x20]
mov bl, byte [ebp - 0x28]
mov bh, byte [ebp - 0x28]
mov word [eax - 2], bx
movzx ebx, byte [ebp - 0x30]
mov byte [eax - 4], bl
mov byte [eax - 3], bl
cmp dword [ebp + 8], edx
jne 0x64a7fa50
add dword [ebp - 0x38], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x40], edx
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a7fa47
jmp 0x64a7dca0
movzx ebx, word [ebp - 0x20]
mov byte [eax + 2], 0
add edx, 1
add eax, 6
mov byte [eax - 3], 0
mov word [eax - 2], bx
mov byte [eax - 6], 0
mov byte [eax - 5], 0
cmp dword [ebp + 8], edx
jne 0x64a7fa50
jmp 0x64a7faa9
cmp edx, 0x26200a
je 0x64a82dd9
jg 0x64a82a09
cmp edx, 0x101004
je 0x64a82e72
cmp edx, 0x10300c
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
test edi, edi
je 0x64a88dcc
mov dword [ebp - 0x40], eax
movzx eax, word [0x64abe9f8]
mov dword [ebp - 0x48], 0
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x38], 0
add esi, dword [ebp + 8]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
add edx, dword [ebp + 0x24]
lea esi, [esi]
nop
movzx ecx, byte [edx]
cmp ecx, dword [edi + 4]
jae 0x64a7fbd8
mov ecx, dword [edi + ecx*4 + 8]
add edx, 1
add eax, 6
movzx ebx, ch
mov byte [eax - 6], cl
mov dword [ebp - 0x30], ebx
mov ebx, ecx
shr ebx, 0x10
mov byte [eax - 5], cl
mov dword [ebp - 0x28], ebx
movzx ebx, word [ebp - 0x20]
mov bl, byte [ebp - 0x28]
mov bh, byte [ebp - 0x28]
mov word [eax - 2], bx
movzx ebx, byte [ebp - 0x30]
mov byte [eax - 4], bl
mov byte [eax - 3], bl
cmp esi, edx
jne 0x64a7fb70
mov edx, dword [ebp + 0x10]
add dword [ebp - 0x38], 1
add dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
add dword [ebp - 0x48], edx
cmp dword [ebp + 0xc], eax
jne 0x64a7fb5e
jmp 0x64a7dca0
movzx ebx, word [ebp - 0x20]
add edx, 1
mov byte [eax + 2], 0
add eax, 6
mov byte [eax - 3], 0
mov word [eax - 2], bx
mov byte [eax - 6], 0
mov byte [eax - 5], 0
cmp edx, esi
jne 0x64a7fb70
jmp 0x64a7fbb2
cmp edx, 0x26200a
je 0x64a834a8
jg 0x64a82577
cmp edx, 0x101004
je 0x64a835f1
cmp edx, 0x10300c
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
test edi, edi
je 0x64a88c57
mov dword [ebp - 0x40], eax
movzx eax, word [0x64abe9f8]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov word [ebp - 0x20], ax
mov esi, dword [ebp + 0x24]
mov ebx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x40]
add esi, ebx
lea esi, [esi]
mov ecx, edx
shr ecx, 3
movzx ebx, byte [esi + ecx]
mov ecx, edx
not ecx
and ecx, 7
sar ebx, cl
and ebx, 1
cmp ebx, dword [edi + 4]
jae 0x64a7fcf0
mov ecx, dword [edi + ebx*4 + 8]
add edx, 1
add eax, 6
movzx ebx, ch
mov byte [eax - 6], cl
mov dword [ebp - 0x30], ebx
mov ebx, ecx
shr ebx, 0x10
mov byte [eax - 5], cl
mov dword [ebp - 0x28], ebx
movzx ebx, word [ebp - 0x20]
mov bl, byte [ebp - 0x28]
mov bh, byte [ebp - 0x28]
mov word [eax - 2], bx
movzx ebx, byte [ebp - 0x30]
mov byte [eax - 4], bl
mov byte [eax - 3], bl
cmp dword [ebp + 8], edx
jne 0x64a7fc78
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x38], 1
add dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x48], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7fc67
jmp 0x64a7dca0
movzx ebx, word [ebp - 0x20]
mov byte [eax + 2], 0
add edx, 1
add eax, 6
mov byte [eax - 3], 0
mov word [eax - 2], bx
mov byte [eax - 6], 0
mov byte [eax - 5], 0
cmp dword [ebp + 8], edx
jne 0x64a7fc78
jmp 0x64a7fccd
cmp edx, 0x22009
je 0x64a87d0f
jg 0x64a821ce
cmp edx, 0x21006
je 0x64a88637
cmp edx, 0x21808
je 0x64a880c7
cmp edx, 0x21005
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
add esi, dword [ebp + 0x14]
nop
movzx eax, byte [ecx + 6]
test al, al
je 0x64a7fe20
movzx edx, byte [ecx + 4]
movzx edi, al
add ecx, 8
add esi, 2
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 6]
shl eax, 7
and ax, 0x7c00
mov ebx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 8]
shl eax, 2
and ax, 0x3e0
or ebx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
shr al, 3
movzx eax, al
or ebx, eax
mov word [esi - 2], bx
cmp dword [ebp - 0x20], ecx
jne 0x64a7fd90
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a7fd85
jmp 0x64a7dca0
xor ebx, ebx
add ecx, 8
add esi, 2
mov word [esi - 2], bx
cmp dword [ebp - 0x20], ecx
jne 0x64a7fd90
jmp 0x64a7fdf2
cmp eax, 0x21005
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
xor ebx, ebx
xor edx, edx
lea eax, [eax + esi*2]
mov dword [ebp - 0x28], eax
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], ecx
add esi, ebx
add edi, ecx
lea esi, [esi]
movzx edx, word [esi]
add edi, 4
add esi, 2
mov ecx, edx
mov eax, edx
mov ebx, edx
shr cx, 7
shr ax, 0xc
and eax, 7
and ecx, 0xfffffff8
shr bx, 2
or ecx, eax
mov eax, edx
shl edx, 3
shr ax, 6
movzx ecx, cl
and eax, 7
shl ecx, 0x10
mov byte [ebp - 0x20], al
mov eax, ebx
and ebx, 7
and eax, 0xfffffff8
or al, byte [ebp - 0x20]
or edx, ebx
movzx eax, al
movzx edx, dl
shl eax, 8
or eax, ecx
or eax, edx
mov dword [edi - 4], eax
cmp dword [ebp - 0x28], esi
jne 0x64a7fe80
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp + 0x20]
add edx, 1
add dword [ebp - 0x28], esi
add ebx, dword [ebp + 0x20]
add ecx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edx
jne 0x64a7fe6a
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a83b43
cmp edx, 0x34400d
jne 0x64a7e160
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edx, edx
xor ecx, ecx
lea esi, [eax + esi*4]
mov dword [ebp - 0x30], esi
nop
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x38], ecx
mov esi, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x48], eax
add edi, edx
movzx eax, byte [esi + 2]
movzx ecx, byte [esi + 3]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], eax
imul edx, ecx, 0x1010000
movzx eax, byte [esi + 1]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
xor eax, eax
mov ebx, ecx
xor ecx, ecx
or ecx, eax
mov eax, dword [ebp - 0x20]
shl ebx, 8
or ebx, edx
mov edx, eax
xor eax, eax
or eax, ecx
or edx, ebx
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
shld ebx, ecx, 0x18
shl ecx, 0x18
or ecx, eax
or ebx, edx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
movzx eax, byte [esi]
or ebx, edx
xor edx, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ebx
mov ecx, eax
mov ebx, edx
shld ebx, ecx, 8
shl ecx, 8
add ecx, eax
adc ebx, edx
or ecx, dword [ebp - 0x20]
or ebx, dword [ebp - 0x1c]
add esi, 4
mov dword [edi], ecx
add edi, 8
mov dword [edi - 4], ebx
cmp dword [ebp - 0x30], esi
jne 0x64a7ff50
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x20]
add ecx, 1
add dword [ebp - 0x30], ebx
add eax, dword [ebp + 0x20]
add edx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], ecx
jne 0x64a7ff40
jmp 0x64a7dca0
cmp edx, 0x30402
je 0x64a84859
cmp edx, 0x30803
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebp + 8]
xor ecx, ecx
lea eax, [ebx + eax*4]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x60], ecx
mov edx, ebx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], ebx
add edi, eax
lea esi, [esi]
nop
mov esi, dword [ebp + 0x1c]
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 1]
movzx ebx, byte [edx]
test esi, esi
je 0x64a80180
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a80180
movzx esi, bl
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x48], esi
movzx esi, cl
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a800b0
mov edx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x30]
add edx, 4
add edi, 1
mov byte [edi - 1], al
cmp dword [ebp - 0x5c], edx
jne 0x64a80060
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
add dword [ebp - 0x5c], edx
add ecx, 1
add eax, dword [ebp + 0x10]
add ebx, edx
cmp dword [ebp + 0xc], ecx
jne 0x64a8004b
jmp 0x64a7dca0
mov byte [ebp - 0x30], 0
jmp 0x64a80141
cmp edx, 0x30402
je 0x64a84357
cmp edx, 0x30803
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edx, edx
xor ecx, ecx
lea eax, [eax + esi*2]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x68], eax
add edi, eax
add ebx, edx
lea esi, [esi]
mov esi, dword [ebp + 0x1c]
movzx eax, word [edi]
test esi, esi
je 0x64a80330
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a80330
mov edx, eax
lea ecx, [eax*8]
mov byte [ebp - 0x30], 0
shr dx, 2
mov dword [ebp - 0x38], 0x7fff
and edx, 7
mov dword [ebp - 0x54], ebx
or edx, ecx
mov ecx, eax
mov dword [ebp - 0x58], edi
movzx esi, dl
mov edx, eax
shr cx, 9
shr dx, 3
and ecx, 3
mov dword [ebp - 0x48], esi
and edx, 0xfffffffc
or edx, ecx
movzx esi, dl
mov edx, eax
shr ax, 0xd
shr dx, 8
mov dword [ebp - 0x20], esi
xor esi, esi
and edx, 0xfffffff8
or edx, eax
movzx eax, dl
mov dword [ebp - 0x50], eax
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp edi, eax
cmovg edx, esi
cmovle eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a80260
mov ebx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x30]
add edi, 2
add ebx, 1
mov byte [ebx - 1], al
mov eax, dword [ebp - 0x5c]
cmp edi, eax
jne 0x64a801e0
mov ebx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
add dword [ebp - 0x5c], ebx
add ecx, 1
add edx, dword [ebp + 0x10]
add eax, ebx
cmp dword [ebp + 0xc], ecx
jne 0x64a801c6
jmp 0x64a7dca0
mov byte [ebp - 0x30], 0
jmp 0x64a802f1
cmp edx, 0x30101
je 0x64a85d2b
cmp edx, 0x30402
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], eax
xor eax, eax
lea esi, [esi]
mov esi, dword [ebp - 0x64]
movzx edx, byte [esi + eax*8 + 7]
movzx ebx, byte [esi + eax*8 + 5]
movzx edi, byte [esi + eax*8 + 3]
movzx ecx, byte [esi + eax*8 + 1]
mov esi, eax
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x60]
shr esi, 1
add esi, edx
mov dword [ebp - 0x5c], esi
movzx esi, byte [esi]
test al, 1
je 0x64a804d0
and esi, 0xfffffff0
mov edx, esi
mov esi, dword [ebp + 0x1c]
mov byte [ebp - 0x58], dl
test esi, esi
je 0x64a80493
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a80493
mov edx, edi
movzx esi, cl
mov dword [ebp - 0x38], 0x7fff
movzx edi, dl
xor edx, edx
mov dword [ebp - 0x48], esi
movzx esi, byte [ebp - 0x28]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x54], ebx
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x50], esi
xor esi, esi
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x54]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x50]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a80400
mov edx, eax
or byte [ebp - 0x58], dl
mov eax, dword [ebp - 0x68]
mov esi, dword [ebp - 0x5c]
movzx ebx, byte [ebp - 0x58]
add eax, 1
mov byte [esi], bl
cmp dword [ebp + 8], eax
jne 0x64a80380
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x6c], 1
add dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x60], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a80377
jmp 0x64a7dca0
and esi, 0xf
mov edx, esi
mov byte [ebp - 0x58], dl
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x64a80493
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a80493
mov edx, edi
movzx esi, cl
movzx edi, byte [ebp - 0x28]
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x48], esi
movzx esi, dl
mov edx, 0x7fff
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a80518
mov edx, eax
mov eax, dword [ebp - 0x68]
shl edx, 4
or byte [ebp - 0x58], dl
jmp 0x64a80493
cmp edx, 0x30101
je 0x64a85163
cmp edx, 0x30402
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x40], eax
xor edx, edx
lea esi, [esi]
lea esi, [esi]
mov esi, dword [ebp - 0x40]
mov ecx, edx
mov eax, dword [ebp - 0x48]
shr ecx, 1
lea ebx, [esi + ecx]
movzx eax, byte [eax + edx*2 + 1]
movzx ecx, byte [ebx]
test dl, 1
je 0x64a80720
mov esi, dword [ebp + 0x1c]
and ecx, 0xfffffff0
test esi, esi
je 0x64a806e7
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x38], esi
test esi, esi
je 0x64a806e7
mov byte [ebp - 0x20], 0
movzx edi, al
xor esi, esi
mov dword [ebp - 0x28], 0x7fff
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x54], cl
mov dword [ebp - 0x58], ebx
lea esi, [esi]
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov ebx, edi
mov edx, dword [eax + esi*4 + 8]
movzx ecx, dl
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, edi
cmovb eax, ebx
movzx ebx, dh
sub ecx, ebx
mov dword [ebp - 0x30], ecx
mov ecx, ebx
sub ecx, edi
cmp ebx, edi
mov ebx, edx
cmovb ecx, dword [ebp - 0x30]
shr ebx, 0x10
add ecx, eax
movzx ebx, bl
mov eax, edi
sub eax, ebx
mov dword [ebp - 0x30], eax
mov eax, ebx
sub eax, edi
cmp ebx, edi
cmovb eax, dword [ebp - 0x30]
shr edx, 0x18
mov ebx, dword [ebp - 0x28]
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x20]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x20], dl
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x38], esi
jne 0x64a80660
mov edx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x58]
movzx ecx, byte [ebp - 0x54]
or cl, byte [ebp - 0x20]
mov byte [ebx], cl
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a80600
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x5c], 1
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a805f4
jmp 0x64a7dca0
mov edi, dword [ebp + 0x1c]
and ecx, 0xf
test edi, edi
je 0x64a806e7
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x38], esi
test esi, esi
je 0x64a806e7
mov byte [ebp - 0x20], 0
movzx edi, al
xor esi, esi
mov dword [ebp - 0x28], 0x7fff
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x54], cl
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp + 0x1c]
mov ebx, edi
mov edx, dword [eax + esi*4 + 8]
movzx ecx, dl
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, edi
cmovb eax, ebx
movzx ebx, dh
sub ecx, ebx
mov dword [ebp - 0x30], ecx
mov ecx, ebx
sub ecx, edi
cmp ebx, edi
mov ebx, edx
cmovb ecx, dword [ebp - 0x30]
shr ebx, 0x10
add ecx, eax
movzx ebx, bl
mov eax, edi
sub eax, ebx
mov dword [ebp - 0x30], eax
mov eax, ebx
sub eax, edi
cmp ebx, edi
cmovb eax, dword [ebp - 0x30]
shr edx, 0x18
mov ebx, dword [ebp - 0x28]
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x20]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x20], dl
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x38], esi
jne 0x64a80750
mov eax, edx
movzx ecx, byte [ebp - 0x54]
mov edx, dword [ebp - 0x50]
shl eax, 4
mov ebx, dword [ebp - 0x58]
or ecx, eax
jmp 0x64a806e7
cmp edx, 0x30402
je 0x64a85a28
cmp edx, 0x30803
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x24]
xor ecx, ecx
lea eax, [eax + eax*2]
add eax, ebx
mov dword [ebp - 0x5c], eax
xor eax, eax
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x60], ecx
mov edx, ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x68], eax
add edi, eax
mov esi, dword [ebp + 0x1c]
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 1]
movzx ebx, byte [edx]
test esi, esi
je 0x64a80950
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a80950
movzx esi, bl
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x48], esi
movzx esi, cl
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp edi, eax
cmovg edx, esi
cmovle eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a80880
mov edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x30]
add edx, 3
add edi, 1
mov byte [edi - 1], al
cmp dword [ebp - 0x5c], edx
jne 0x64a80830
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
add dword [ebp - 0x5c], edx
add ecx, 1
add eax, dword [ebp + 0x10]
add ebx, edx
cmp dword [ebp + 0xc], ecx
jne 0x64a80820
jmp 0x64a7dca0
mov byte [ebp - 0x30], 0
jmp 0x64a80911
cmp edx, 0x30101
je 0x64a8617f
cmp edx, 0x30402
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x40], 0
nop
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x64]
movzx edx, word [eax + edi*2]
mov ecx, edx
mov eax, edx
mov esi, edx
shr cx, 7
shr ax, 0xc
and ecx, 0xfffffff8
and eax, 7
shr si, 2
mov ebx, ecx
mov ecx, esi
and esi, 7
or ebx, eax
mov eax, edx
and ecx, 0xfffffff8
shr ax, 6
and eax, 7
or eax, ecx
lea ecx, [edx*8]
sar dx, 0xf
or ecx, esi
mov byte [ebp - 0x20], al
mov esi, edi
mov eax, dword [ebp - 0x68]
shr esi, 1
add eax, esi
and edi, 1
mov dword [ebp - 0x60], eax
movzx eax, byte [eax]
je 0x64a80b20
mov edi, dword [ebp + 0x1c]
and eax, 0xfffffff0
mov byte [ebp - 0x5c], al
test edi, edi
je 0x64a80ae1
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x64a80ae1
movzx eax, byte [ebp - 0x20]
movzx ecx, cl
movzx edi, bl
xor esi, esi
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x20], eax
movzx eax, dl
xor edx, edx
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x58], edi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x54]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x58]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, 0xff
cmovb eax, edi
mov edi, dword [ebp - 0x50]
shr edx, 0x18
add eax, ecx
mov ecx, edx
sub ebx, edx
sub ecx, edi
cmp edx, edi
movzx edx, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a80a50
or byte [ebp - 0x5c], dl
movzx eax, byte [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
add dword [ebp - 0x40], 1
mov byte [esi], al
mov eax, dword [ebp - 0x40]
cmp dword [ebp + 8], eax
jne 0x64a809a0
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x6c], 1
add dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a80997
jmp 0x64a7dca0
mov esi, dword [ebp + 0x1c]
and eax, 0xf
mov byte [ebp - 0x5c], al
test esi, esi
je 0x64a80ae1
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x64a80ae1
movzx eax, cl
xor edi, edi
movzx ecx, bl
xor esi, esi
mov dword [ebp - 0x50], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x20], eax
movzx eax, dl
mov edx, 0x7fff
mov dword [ebp - 0x54], eax
mov eax, edi
mov dword [ebp - 0x38], edx
mov byte [ebp - 0x30], al
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x50]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x58]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, 0xff
cmovb eax, edi
mov edi, dword [ebp - 0x54]
shr edx, 0x18
add eax, ecx
mov ecx, edx
sub ebx, edx
sub ecx, edi
cmp edx, edi
movzx edx, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a80b68
mov eax, edx
shl eax, 4
or byte [ebp - 0x5c], al
jmp 0x64a80ae1
cmp edx, 0x30402
je 0x64a8681c
cmp edx, 0x30803
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edx, edx
xor ecx, ecx
lea eax, [eax + esi*2]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], edx
add edi, eax
add esi, edx
mov dword [ebp - 0x54], edi
mov edi, esi
lea esi, [esi]
nop
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp + 0x1c]
movzx eax, word [eax]
test ebx, ebx
je 0x64a80db0
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a80db0
mov ecx, eax
lea edx, [eax*8]
mov dword [ebp - 0x38], 0x7fff
shr cx, 2
mov dword [ebp - 0x58], edi
mov ebx, ecx
and ecx, 0xfffffff8
and ebx, 7
or edx, ebx
xor ebx, ebx
movzx esi, dl
mov edx, eax
mov byte [ebp - 0x30], bl
shr dx, 6
mov dword [ebp - 0x48], esi
and edx, 7
or edx, ecx
movzx esi, dl
mov edx, eax
shr ax, 0xc
shr dx, 7
and eax, 7
mov dword [ebp - 0x20], esi
xor esi, esi
and edx, 0xfffffff8
or edx, eax
movzx eax, dl
mov dword [ebp - 0x50], eax
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb ecx, edi
shr edx, 0x10
movzx ebx, dl
mov edx, dword [ebp - 0x50]
add ecx, eax
mov eax, ebx
mov edi, edx
sub eax, edx
sub edi, ebx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, edi
cmovl edx, esi
cmovge eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a80ce0
mov edi, dword [ebp - 0x58]
mov ebx, edx
add dword [ebp - 0x54], 2
add edi, 1
mov eax, dword [ebp - 0x54]
mov byte [edi - 1], bl
cmp dword [ebp - 0x5c], eax
jne 0x64a80c60
mov ebx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x5c], ebx
add ecx, 1
add edx, dword [ebp + 0x10]
add eax, ebx
cmp dword [ebp + 0xc], ecx
jne 0x64a80c43
jmp 0x64a7dca0
xor ebx, ebx
jmp 0x64a80d70
cmp edx, 0x26200a
je 0x64a86677
cmp edx, 0x34400d
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor ebx, ebx
xor ecx, ecx
lea eax, [eax + esi*2]
xor esi, esi
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x50], esi
add eax, ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x14]
add eax, esi
mov dword [ebp - 0x28], eax
lea esi, [esi]
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], edi
movzx eax, word [eax]
mov ecx, eax
mov ebx, eax
mov edx, eax
shr cx, 7
shr bx, 0xc
and ebx, 7
and ecx, 0xfffffff8
shr dx, 2
or ecx, ebx
mov ebx, edx
and edx, 7
movzx ecx, cl
and ebx, 0xfffffff8
mov esi, ecx
mov ecx, eax
shl eax, 3
shr cx, 6
or eax, edx
mov dword [ebp - 0x30], esi
mov edx, esi
and ecx, 7
movzx eax, al
shl edx, 8
or ecx, ebx
xor ebx, ebx
movzx ecx, cl
mov edi, ebx
mov dword [ebp - 0x38], ecx
mov ecx, eax
xor eax, eax
mov esi, ecx
shld edi, esi, 8
shl esi, 8
or eax, esi
or edx, edi
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edx, ebx
mov ebx, ecx
xor ecx, ecx
or ecx, eax
or ebx, edx
mov eax, esi
mov edx, edi
shld edx, eax, 0x18
shl eax, 0x18
shld edi, esi, 0x10
or edx, ebx
shl esi, 0x10
or eax, ecx
or eax, esi
mov esi, dword [ebp - 0x28]
or edx, edi
add dword [ebp - 0x20], 2
or edx, 0xffff0000
mov dword [esi], eax
add esi, 8
mov eax, dword [ebp - 0x20]
mov dword [esi - 4], edx
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x40], eax
jne 0x64a80e10
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x54]
mov edx, dword [ebp + 0x20]
add ecx, 1
add dword [ebp - 0x40], edx
add ebx, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], ecx
jne 0x64a80df4
jmp 0x64a7dca0
cmp edx, 0x26200a
je 0x64a86f2e
cmp edx, 0x34400d
jne 0x64a7e160
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
lea eax, [eax + esi*2]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x50]
add eax, dword [ebp + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], eax
lea esi, [esi]
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x24], 0
movzx ecx, word [eax]
mov edx, ecx
mov ebx, ecx
mov esi, ecx
shr dx, 7
shr bx, 0xc
and ebx, 7
and edx, 0xfffffff8
shr si, 2
or edx, ebx
mov ebx, esi
mov eax, esi
movzx edx, dl
and ebx, 0xfffffff8
and eax, 7
mov dword [ebp - 0x28], edx
mov edx, ecx
shr dx, 6
and edx, 7
or edx, ebx
movzx edx, dl
mov dword [ebp - 0x30], edx
lea edx, [ecx*8]
sar cx, 0xf
or eax, edx
movzx ecx, cl
imul edx, ecx, 0x1010000
movzx eax, al
mov ecx, dword [ebp - 0x28]
mov esi, eax
xor eax, eax
or eax, esi
mov ebx, ecx
xor ecx, ecx
or ecx, eax
mov eax, dword [ebp - 0x28]
or edx, edi
shl ebx, 8
or ebx, edx
mov edx, eax
xor eax, eax
or eax, ecx
or edx, ebx
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
shld ebx, ecx, 0x18
shl ecx, 0x18
or ecx, eax
or ebx, edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
shld edx, eax, 0x10
shl eax, 0x10
or eax, ecx
or edx, ebx
shld edi, esi, 8
add dword [ebp - 0x20], 2
shl esi, 8
or edx, edi
or eax, esi
mov esi, dword [ebp - 0x38]
mov dword [esi], eax
add esi, 8
mov eax, dword [ebp - 0x20]
mov dword [esi - 4], edx
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x40], eax
jne 0x64a80f60
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x48], 1
add dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x54], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x40], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a80f47
jmp 0x64a7dca0
cmp edx, 0x26200a
je 0x64a86de0
cmp edx, 0x34400d
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x20], 0
lea edi, [eax + esi*8]
mov ebx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add ebx, dword [ebp + 0x24]
add ecx, dword [ebp + 0x14]
lea esi, [esi]
movzx eax, byte [ebx]
mov edx, 0x1010101
add ecx, 8
add ebx, 2
imul esi, eax, 0x101
mul edx
add edx, esi
mov dword [ecx - 8], eax
or edx, 0xffff0000
mov dword [ecx - 4], edx
cmp edi, ecx
jne 0x64a810b8
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x20]
add edi, ebx
cmp dword [ebp + 0xc], eax
jne 0x64a810a9
jmp 0x64a7dca0
cmp edx, 0x26200a
je 0x64a86c75
cmp edx, 0x34400d
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor ebx, ebx
xor ecx, ecx
lea eax, [eax + esi*2]
xor esi, esi
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x50], esi
add eax, ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x14]
add eax, esi
mov dword [ebp - 0x28], eax
lea esi, [esi]
nop
mov eax, dword [ebp - 0x20]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], edi
mov edi, ebx
movzx eax, word [eax]
mov edx, eax
mov ecx, eax
shr dx, 8
shr cx, 0xd
and edx, 0xfffffff8
or edx, ecx
mov ecx, eax
movzx edx, dl
shr cx, 9
mov esi, edx
mov edx, eax
and ecx, 3
shr dx, 3
mov dword [ebp - 0x30], esi
and edx, 0xfffffffc
or edx, ecx
movzx edx, dl
mov dword [ebp - 0x38], edx
mov edx, eax
shl eax, 3
shr dx, 2
and edx, 7
or edx, eax
xor eax, eax
movzx edx, dl
mov ecx, edx
mov edx, esi
mov esi, ecx
shl edx, 8
shld edi, esi, 8
shl esi, 8
or eax, esi
or edx, edi
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edx, ebx
mov ebx, ecx
xor ecx, ecx
or ecx, eax
or ebx, edx
mov eax, esi
mov edx, edi
shld edx, eax, 0x18
shl eax, 0x18
shld edi, esi, 0x10
or edx, ebx
shl esi, 0x10
or eax, ecx
or eax, esi
mov esi, dword [ebp - 0x28]
or edx, edi
add dword [ebp - 0x20], 2
or edx, 0xffff0000
mov dword [esi], eax
add esi, 8
mov eax, dword [ebp - 0x20]
mov dword [esi - 4], edx
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x40], eax
jne 0x64a81160
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x54]
mov edx, dword [ebp + 0x20]
add ecx, 1
add dword [ebp - 0x40], edx
add ebx, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], ecx
jne 0x64a8113f
jmp 0x64a7dca0
cmp edx, 0x26200a
je 0x64a86b74
cmp edx, 0x34400d
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x24]
xor esi, esi
xor ebx, ebx
lea eax, [eax + eax*2]
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x48], ebx
add eax, esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x54], ecx
lea esi, [esi]
mov edx, dword [ebp - 0x20]
xor ebx, ebx
xor edi, edi
add dword [ebp - 0x20], 3
mov dword [ebp - 0x2c], ebx
movzx eax, byte [edx + 2]
mov ecx, eax
movzx eax, byte [edx + 1]
mov ebx, ecx
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov esi, eax
movzx eax, byte [edx]
shl ebx, 8
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ebx
mov ecx, eax
mov ebx, edx
shld edx, eax, 8
shl eax, 8
or eax, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edx, ebx
mov ebx, ecx
xor ecx, ecx
or ecx, eax
or ebx, edx
mov eax, esi
mov edx, edi
shld edx, eax, 0x18
shl eax, 0x18
shld edi, esi, 0x10
or eax, ecx
shl esi, 0x10
or edx, ebx
or eax, esi
or edx, edi
mov esi, dword [ebp - 0x28]
or edx, 0xffff0000
mov dword [esi], eax
add esi, 8
mov eax, dword [ebp - 0x20]
mov dword [esi - 4], edx
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x40]
cmp eax, esi
jne 0x64a812a0
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp + 0x20]
add ebx, 1
add dword [ebp - 0x40], edx
add ecx, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], ebx
jne 0x64a81289
jmp 0x64a7dca0
cmp edx, 0x26200a
je 0x64a8420c
cmp edx, 0x34400d
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x48], 0
add eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x14]
lea eax, [eax + esi*8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x50]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
lea esi, [esi]
mov ebx, dword [ebp - 0x20]
xor edx, edx
xor edi, edi
add dword [ebp - 0x20], 6
mov dword [ebp - 0x24], 0
movzx eax, byte [ebx + 4]
mov dword [ebp - 0x28], eax
movzx eax, byte [ebx + 2]
mov ecx, dword [ebp - 0x28]
mov esi, eax
movzx eax, byte [ebx]
mov ebx, ecx
xor ecx, ecx
shl ebx, 8
mov dword [ebp - 0x38], ecx
mov ecx, eax
mov dword [ebp - 0x34], ebx
mov ebx, edx
shld edx, eax, 8
or edx, dword [ebp - 0x34]
shl eax, 8
or eax, dword [ebp - 0x38]
or edx, ebx
or eax, ecx
mov ecx, dword [ebp - 0x28]
mov ebx, ecx
xor ecx, ecx
or ecx, eax
or ebx, edx
mov eax, esi
mov edx, edi
shld edx, eax, 0x18
shl eax, 0x18
shld edi, esi, 0x10
or eax, ecx
shl esi, 0x10
or edx, ebx
or eax, esi
or edx, edi
mov esi, dword [ebp - 0x30]
or edx, 0xffff0000
mov dword [esi], eax
add esi, 8
mov dword [esi - 4], edx
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x40], esi
jne 0x64a813b8
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x48], 1
add dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x50], ebx
add dword [ebp - 0x40], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a813a2
jmp 0x64a7dca0
cmp edx, 0x26200a
je 0x64a8404e
cmp edx, 0x34400d
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 8]
xor esi, esi
xor ebx, ebx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x48], ebx
add eax, esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x54], ecx
lea esi, [esi]
nop
mov ebx, dword [ebp - 0x20]
xor edx, edx
xor edi, edi
add dword [ebp - 0x20], 4
mov dword [ebp - 0x24], 0
movzx eax, byte [ebx + 2]
mov dword [ebp - 0x28], eax
movzx eax, byte [ebx + 1]
mov ecx, dword [ebp - 0x28]
mov esi, eax
movzx eax, byte [ebx]
mov ebx, ecx
xor ecx, ecx
shl ebx, 8
mov dword [ebp - 0x38], ecx
mov ecx, eax
mov dword [ebp - 0x34], ebx
mov ebx, edx
shld edx, eax, 8
or edx, dword [ebp - 0x34]
shl eax, 8
or eax, dword [ebp - 0x38]
or edx, ebx
or eax, ecx
mov ecx, dword [ebp - 0x28]
mov ebx, ecx
xor ecx, ecx
or ecx, eax
or ebx, edx
mov eax, esi
mov edx, edi
shld edx, eax, 0x18
shl eax, 0x18
shld edi, esi, 0x10
or eax, ecx
shl esi, 0x10
or edx, ebx
or eax, esi
or edx, edi
mov esi, dword [ebp - 0x30]
or edx, 0xffff0000
mov dword [esi], eax
add esi, 8
mov eax, dword [ebp - 0x20]
mov dword [esi - 4], edx
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x40]
cmp eax, esi
jne 0x64a814c0
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp + 0x20]
add ebx, 1
add dword [ebp - 0x40], edx
add ecx, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], ebx
jne 0x64a814a3
jmp 0x64a7dca0
cmp edx, 0x30101
je 0x64a83cfc
cmp edx, 0x30402
jne 0x64a7e160
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x5c], eax
xor ebx, ebx
lea esi, [esi]
nop
mov esi, dword [ebp - 0x5c]
movzx eax, byte [esi + ebx*4 + 1]
movzx ecx, byte [esi + ebx*4 + 3]
movzx edi, byte [esi + ebx*4 + 2]
movzx esi, byte [esi + ebx*4]
mov byte [ebp - 0x20], al
test cl, cl
je 0x64a8163a
movzx eax, cl
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, 0x7f8000
idiv dword [ebp - 0x28]
mov edx, edi
mov edi, 0xffffffff
mov dword [ebp - 0x28], eax
cmp cl, dl
jb 0x64a81609
movzx eax, dl
mov edx, dword [ebp - 0x28]
imul eax, edx
shr eax, 0xf
mov edi, eax
movzx eax, byte [ebp - 0x20]
cmp cl, al
jb 0x64a81860
mov edx, dword [ebp - 0x28]
imul eax, edx
shr eax, 0xf
mov byte [ebp - 0x20], al
mov eax, esi
mov esi, 0xffffffff
cmp cl, al
jb 0x64a8163a
mov esi, dword [ebp - 0x28]
movzx eax, al
imul eax, esi
shr eax, 0xf
mov esi, eax
mov edx, dword [ebp - 0x60]
mov eax, ebx
shr eax, 1
add edx, eax
movzx eax, byte [edx]
test bl, 1
je 0x64a81770
and eax, 0xfffffff0
mov byte [ebp - 0x58], al
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x64a8173c
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x64a8173c
mov eax, esi
mov byte [ebp - 0x30], 0
xor esi, esi
movzx eax, al
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x20], eax
mov eax, edi
movzx edi, al
movzx eax, cl
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], edi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x54]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x50]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a816a8
or byte [ebp - 0x58], al
mov ebx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
movzx eax, byte [ebp - 0x58]
add ebx, 1
mov byte [edx], al
cmp dword [ebp + 8], ebx
jne 0x64a815c0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x6c], 1
add dword [ebp - 0x60], ebx
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x5c], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a815b5
jmp 0x64a7dca0
and eax, 0xf
mov byte [ebp - 0x58], al
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x64a8173c
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x64a8173c
mov eax, esi
mov byte [ebp - 0x30], 0
xor esi, esi
movzx eax, al
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x20], eax
mov eax, edi
mov edi, 0x7fff
movzx eax, al
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x50], eax
movzx eax, cl
mov dword [ebp - 0x54], eax
lea esi, [esi]
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a817c0
mov ecx, eax
mov ebx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
shl ecx, 4
or byte [ebp - 0x58], cl
jmp 0x64a8173c
mov byte [ebp - 0x20], 0xff
jmp 0x64a81621
cmp edx, 0x26200a
je 0x64a878ed
cmp edx, 0x34400d
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x64]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x60]
jmp 0x64a81971
mov eax, edi
movzx eax, al
mov esi, eax
mov edx, eax
xor eax, eax
mov edi, esi
mov dword [ebp - 0x38], eax
xor esi, esi
movzx eax, cl
shl edi, 8
mov dword [ebp - 0x34], edx
xor edx, edx
movzx ecx, byte [ebp - 0x50]
mov dword [ebp - 0x28], esi
mov esi, eax
mov dword [ebp - 0x24], edi
mov edi, edx
shl esi, 0x10
shld edi, eax, 0x10
mov dword [ebp - 0x48], esi
mov esi, ecx
shld edx, eax, 0x18
mov dword [ebp - 0x44], edi
shl esi, 8
xor edi, edi
shl eax, 0x18
mov dword [ebp - 0x1c], edi
shld edi, ecx, 8
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
imul edx, ecx, 0x1010000
mov esi, dword [ebp - 0x28]
xor eax, eax
or esi, dword [ebp - 0x38]
or eax, esi
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x30]
add ebx, 4
or edi, dword [ebp - 0x34]
or eax, dword [ebp - 0x48]
or edx, edi
or eax, dword [ebp - 0x20]
or edx, dword [ebp - 0x44]
add esi, 8
or edx, dword [ebp - 0x1c]
or eax, dword [ebp - 0x50]
or edx, dword [ebp - 0x4c]
or eax, dword [ebp - 0x40]
or edx, dword [ebp - 0x3c]
mov dword [esi - 8], eax
mov dword [esi - 4], edx
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x58], ebx
je 0x64a81ac1
movzx eax, byte [ebx + 2]
movzx edx, byte [ebx + 3]
movzx ecx, byte [ebx + 1]
mov byte [ebp - 0x28], al
mov edi, eax
movzx eax, byte [ebx]
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x40], cl
mov byte [ebp - 0x50], al
test dl, dl
je 0x64a818c8
movzx ecx, dl
mov eax, 0x7f8000
xor edx, edx
idiv ecx
mov edx, edi
mov dword [ebp - 0x54], eax
movzx eax, byte [ebp - 0x20]
cmp al, dl
jb 0x64a81a50
mov esi, dword [ebp - 0x54]
movzx eax, dl
imul eax, esi
shr eax, 0xf
movzx eax, al
mov esi, eax
mov edx, eax
xor eax, eax
mov edi, esi
xor esi, esi
mov dword [ebp - 0x38], eax
shl edi, 8
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], edx
movzx edx, byte [ebp - 0x20]
movzx eax, byte [ebp - 0x40]
cmp dl, al
jb 0x64a81aa0
mov esi, dword [ebp - 0x54]
xor edx, edx
mov edi, edx
imul eax, esi
shr eax, 0xf
movzx eax, al
mov esi, eax
shld edx, eax, 0x10
shld edi, esi, 0x18
shl eax, 0x10
mov dword [ebp - 0x44], edx
shl esi, 0x18
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x20]
movzx edx, byte [ebp - 0x50]
cmp al, dl
jb 0x64a81a78
mov esi, dword [ebp - 0x54]
movzx eax, dl
xor edx, edx
mov edi, edx
mov dword [ebp - 0x1c], edx
imul eax, esi
shr eax, 0xf
movzx eax, al
mov esi, eax
shld edi, eax, 8
mov dword [ebp - 0x20], eax
shl esi, 8
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], esi
jmp 0x64a81926
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xff
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xff00
jmp 0x64a819db
mov dword [ebp - 0x50], 0xff00
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x20], 0xff
mov dword [ebp - 0x1c], 0
jmp 0x64a81926
mov dword [ebp - 0x48], 0xff0000
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xff000000
mov dword [ebp - 0x3c], 0
jmp 0x64a81a17
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x5c], 1
add dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x58], ebx
add dword [ebp - 0x60], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a818b4
jmp 0x64a7dca0
cmp edx, 0x10300c
je 0x64a87653
cmp edx, 0x26200a
jne 0x64a7e160
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
add eax, 1
mov dword [ebp - 0x28], eax
lea ebx, [eax + esi*8]
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ecx, esi
lea esi, [esi]
nop
movzx edi, byte [edx + 6]
movzx eax, byte [edx + 4]
add edx, 8
add ecx, 4
shl edi, 0x18
shl eax, 0x10
or eax, edi
movzx edi, byte [edx - 8]
or eax, edi
movzx edi, byte [edx - 6]
shl edi, 8
or eax, edi
mov dword [ecx - 4], eax
cmp ebx, edx
jne 0x64a81b38
mov edi, dword [ebp + 0x20]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
add esi, dword [ebp + 0x10]
add ebx, edi
cmp dword [ebp + 0xc], eax
jne 0x64a81b2b
jmp 0x64a7dca0
cmp edx, 0x30101
je 0x64a84eb7
cmp edx, 0x30402
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x68], 0
add eax, 1
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x58], eax
lea esi, [esi]
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x5c]
movzx ecx, byte [esi + 4]
movzx eax, byte [esi + 2]
movzx edx, byte [esi]
mov esi, dword [ebp - 0x40]
mov ebx, esi
shr ebx, 1
add edi, ebx
and esi, 1
movzx ebx, byte [edi]
je 0x64a81d10
mov esi, dword [ebp + 0x1c]
and ebx, 0xfffffff0
test esi, esi
je 0x64a81cd5
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a81cd5
mov dword [ebp - 0x20], eax
movzx eax, cl
mov ecx, 0x7fff
xor esi, esi
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x30], 0
mov byte [ebp - 0x60], bl
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x64], edi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x54]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb ecx, edi
shr edx, 0x10
movzx ebx, dl
mov edx, dword [ebp - 0x50]
add ecx, eax
mov eax, ebx
mov edi, edx
sub eax, edx
sub edi, ebx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
movzx ebx, byte [ebp - 0x30]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
mov edx, dword [ebp - 0x38]
cmovne eax, ecx
cmp eax, edx
cmovl ebx, esi
cmovge eax, edx
add esi, 1
mov byte [ebp - 0x30], bl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a81c40
mov edi, dword [ebp - 0x64]
movzx ebx, byte [ebp - 0x60]
or bl, byte [ebp - 0x30]
add dword [ebp - 0x40], 1
mov eax, dword [ebp - 0x40]
add dword [ebp - 0x58], 6
mov byte [edi], bl
cmp dword [ebp + 8], eax
jne 0x64a81bd8
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x68], 1
add dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x5c], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a81bc4
jmp 0x64a7dca0
mov esi, dword [ebp + 0x1c]
and ebx, 0xf
test esi, esi
je 0x64a81cd5
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a81cd5
movzx esi, dl
mov edx, 0x7fff
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x30], 0
mov byte [ebp - 0x60], bl
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x50], esi
xor esi, esi
lea esi, [esi]
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x50]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x54]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a81d50
movzx ebx, byte [ebp - 0x60]
mov eax, edx
mov edi, dword [ebp - 0x64]
shl eax, 4
or ebx, eax
jmp 0x64a81cd5
cmp edx, 0x30101
je 0x64a838b4
cmp edx, 0x30402
jne 0x64a7e160
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x64], eax
xor eax, eax
lea esi, [esi]
xor esi, esi
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x70], eax
mov eax, esi
lea esi, [esi]
mov esi, dword [ebp - 0x68]
movzx edx, byte [esi + eax*4 + 2]
movzx ebx, byte [esi + eax*4 + 1]
movzx ecx, byte [esi + eax*4]
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x64]
mov byte [ebp - 0x20], bl
movzx ebx, byte [esi + eax*4 + 3]
mov esi, eax
shr esi, 1
add esi, edx
mov dword [ebp - 0x60], esi
movzx esi, byte [esi]
test al, 1
je 0x64a81f90
and esi, 0xfffffff0
mov edx, esi
mov byte [ebp - 0x5c], dl
test edi, edi
je 0x64a81f56
mov esi, dword [edi + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a81f56
movzx esi, cl
movzx edx, byte [ebp - 0x28]
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x50], esi
movzx esi, byte [ebp - 0x20]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x20], esi
movzx esi, bl
mov ebx, 0x7fff
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x54], esi
xor esi, esi
nop
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x58]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x48], esi
jne 0x64a81ec0
mov edx, eax
or byte [ebp - 0x5c], dl
mov eax, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x60]
movzx ebx, byte [ebp - 0x5c]
add eax, 1
mov byte [esi], bl
cmp dword [ebp + 8], eax
jne 0x64a81e40
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x68], ebx
mov ebx, dword [ebp + 0x10]
add eax, 1
add dword [ebp - 0x64], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a81e30
jmp 0x64a7dca0
and esi, 0xf
mov edx, esi
mov byte [ebp - 0x5c], dl
test edi, edi
je 0x64a81f56
mov esi, dword [edi + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a81f56
movzx esi, cl
mov edx, 0x7fff
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x50], esi
movzx esi, byte [ebp - 0x20]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x20], esi
movzx esi, byte [ebp - 0x28]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x54], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x54]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x58]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x48], esi
jne 0x64a81fd8
mov edx, eax
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x6c]
shl edx, 4
or byte [ebp - 0x5c], dl
jmp 0x64a81f56
cmp edx, 0x26200a
je 0x64a88556
cmp edx, 0x34400d
jne 0x64a7e160
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x50]
add edi, dword [ebp + 0x14]
lea esi, [esi]
movzx eax, byte [esi + 6]
test al, al
je 0x64a821b0
movzx edx, byte [esi + 2]
movzx ebx, al
xor ecx, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], ebx
mov eax, edx
mov dword [ebp - 0x34], 0
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, byte [esi]
movzx eax, al
mov dword [ebp - 0x20], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, byte [esi + 4]
movzx eax, al
mov dword [ebp - 0x38], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
imul edx, dword [ebp - 0x30], 0x1010000
movzx eax, al
imul ebx, eax, 0x101
xor eax, eax
or ecx, eax
mov eax, dword [ebp - 0x20]
or ebx, edx
mov edx, dword [ebp - 0x1c]
shld edx, eax, 0x18
shl eax, 0x18
or eax, ecx
or edx, ebx
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
shld ebx, ecx, 0x10
shl ecx, 0x10
or eax, ecx
or edx, ebx
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
or eax, ecx
or edx, ebx
shld ebx, ecx, 8
shl ecx, 8
or edx, ebx
or eax, ecx
mov dword [edi + 4], edx
add esi, 8
add edi, 8
mov dword [edi - 8], eax
cmp dword [ebp - 0x28], esi
jne 0x64a820d0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], 1
add dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
add dword [ebp - 0x48], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a820c4
jmp 0x64a7dca0
mov dword [edi], 0
add esi, 8
add edi, 8
mov dword [edi - 4], 0
cmp dword [ebp - 0x28], esi
jne 0x64a820d0
jmp 0x64a82189
cmp edx, 0x30101
je 0x64a87ef8
cmp edx, 0x30402
jne 0x64a7e160
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x58], eax
xor edi, edi
lea esi, [esi]
mov esi, dword [ebp - 0x58]
movzx ecx, byte [esi + edi*8 + 7]
test cl, cl
je 0x64a82480
movzx edx, byte [esi + edi*8 + 5]
movzx ebx, cl
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, byte [esi + edi*8 + 3]
mov dword [ebp - 0x28], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, byte [esi + edi*8 + 1]
mov dword [ebp - 0x20], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
mov ebx, dword [ebp - 0x5c]
mov edx, edi
shr edx, 1
add ebx, edx
movzx edx, byte [ebx]
test edi, 1
je 0x64a82390
mov esi, dword [ebp + 0x1c]
and edx, 0xfffffff0
test esi, esi
je 0x64a8235f
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a8235f
movzx eax, al
mov byte [ebp - 0x30], 0
xor esi, esi
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x28]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x50], eax
movzx eax, cl
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], dl
mov dword [ebp - 0x68], ebx
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a822c8
movzx edx, byte [ebp - 0x64]
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x68]
or edx, eax
mov byte [ebx], dl
add edi, 1
cmp dword [ebp + 8], edi
jne 0x64a82218
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x6c], 1
add dword [ebp - 0x5c], ebx
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x58], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8220f
jmp 0x64a7dca0
mov esi, dword [ebp + 0x1c]
and edx, 0xf
test esi, esi
je 0x64a8235f
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a8235f
movzx eax, al
mov byte [ebp - 0x30], 0
xor esi, esi
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x28]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x50], eax
movzx eax, cl
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], dl
mov dword [ebp - 0x68], ebx
lea esi, [esi]
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a823e0
movzx edx, byte [ebp - 0x64]
shl eax, 4
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x68]
or edx, eax
jmp 0x64a8235f
mov byte [ebp - 0x20], 0
xor eax, eax
mov byte [ebp - 0x28], 0
jmp 0x64a8225e
cmp edx, 0x22009
je 0x64a7e7b0
cmp edx, 0x61007
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
test edi, edi
je 0x64a88829
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
xor eax, eax
lea esi, [esi]
nop
mov edx, eax
shr edx, 1
movzx edx, byte [esi + edx]
mov ecx, edx
shr dl, 4
and ecx, 0xf
test al, 1
cmovne edx, ecx
movzx edx, dl
cmp edx, dword [edi + 4]
jae 0x64a82560
mov edx, dword [edi + edx*4 + 8]
mov ebx, edx
mov ecx, edx
shr ebx, 0x18
shr ecx, 0x10
shl ebx, 8
shl ecx, 7
and cx, 0x7c00
and bx, 0x8000
or ebx, ecx
mov ecx, edx
shr dx, 6
shr cl, 3
and dx, 0x3e0
movzx ecx, cl
or ecx, ebx
mov ebx, dword [ebp - 0x20]
or ecx, edx
mov word [ebx + eax*2], cx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a824e0
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x20], edx
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a824d5
jmp 0x64a7dca0
mov ebx, dword [ebp - 0x20]
xor edx, edx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a824e0
jmp 0x64a82541
cmp edx, 0x34400d
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
test edi, edi
je 0x64a888ed
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp - 0x50]
xor esi, esi
add eax, ebx
mov dword [ebp - 0x28], eax
lea esi, [esi]
mov ebx, dword [ebp - 0x28]
mov eax, esi
mov ecx, esi
shr eax, 3
not ecx
movzx eax, byte [ebx + eax]
and ecx, 7
sar eax, cl
and eax, 1
cmp eax, dword [edi + 4]
jae 0x64a826b0
mov ecx, dword [edi + eax*4 + 8]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 0
movzx eax, cl
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x40], eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [ebp - 0x30], eax
movzx eax, ch
shr ecx, 0x18
imul edx, ecx, 0x1010000
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
xor eax, eax
mov ebx, ecx
xor ecx, ecx
shl ebx, 8
or ecx, eax
mov eax, dword [ebp - 0x40]
or ebx, edx
mov edx, dword [ebp - 0x3c]
or ecx, eax
or ebx, edx
shld edx, eax, 8
shl eax, 8
or edx, ebx
mov ebx, dword [ebp - 0x34]
or eax, ecx
mov ecx, dword [ebp - 0x38]
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, eax
or ebx, edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
shld edx, eax, 0x18
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edx, ebx
mov ebx, ecx
xor ecx, ecx
or edx, ebx
mov ebx, dword [ebp - 0x20]
or eax, ecx
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
add esi, 1
cmp dword [ebp + 8], esi
jne 0x64a825c8
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x48], 1
add dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x50], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a825b5
jmp 0x64a7dca0
mov eax, dword [ebp - 0x20]
mov dword [eax + esi*8], 0
mov dword [eax + esi*8 + 4], 0
add esi, 1
cmp dword [ebp + 8], esi
jne 0x64a825c8
jmp 0x64a8268a
cmp edx, 0x22009
je 0x64a7dc18
cmp edx, 0x61007
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
test edi, edi
je 0x64a88bf9
mov dword [ebp - 0x30], 0
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x28], 0
mov esi, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
xor eax, eax
add esi, edx
lea esi, [esi]
mov edx, eax
mov ecx, eax
shr edx, 3
not ecx
movzx edx, byte [esi + edx]
and ecx, 7
sar edx, cl
and edx, 1
cmp edx, dword [edi + 4]
jae 0x64a827b0
mov edx, dword [edi + edx*4 + 8]
mov ecx, edx
shr ecx, 0x18
shl ecx, 8
and cx, 0x8000
mov word [ebp - 0x20], cx
mov ecx, edx
shr ecx, 0x10
shl ecx, 7
and cx, 0x7c00
or cx, word [ebp - 0x20]
mov word [ebp - 0x20], cx
mov ecx, edx
shr dx, 6
shr cl, 3
and dx, 0x3e0
movzx ecx, cl
or cx, word [ebp - 0x20]
or ecx, edx
mov word [ebx + eax*2], cx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a82728
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], edx
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a82717
jmp 0x64a7dca0
xor edx, edx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a82728
jmp 0x64a8278f
cmp edx, 0x34400d
jne 0x64a7e160
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
test edi, edi
je 0x64a88a64
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x28], eax
xor esi, esi
lea esi, [esi]
nop
mov ebx, dword [ebp - 0x28]
mov eax, esi
shr eax, 1
movzx eax, byte [ebx + eax]
mov edx, eax
shr al, 4
and edx, 0xf
test esi, 1
cmovne eax, edx
movzx eax, al
cmp eax, dword [edi + 4]
jae 0x64a828f8
mov ecx, dword [edi + eax*4 + 8]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 0
movzx eax, cl
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x40], eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [ebp - 0x30], eax
movzx eax, ch
shr ecx, 0x18
imul edx, ecx, 0x1010000
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
xor eax, eax
mov ebx, ecx
xor ecx, ecx
shl ebx, 8
or ecx, eax
mov eax, dword [ebp - 0x40]
or ebx, edx
mov edx, dword [ebp - 0x3c]
or ecx, eax
or ebx, edx
shld edx, eax, 8
shl eax, 8
or edx, ebx
mov ebx, dword [ebp - 0x34]
or eax, ecx
mov ecx, dword [ebp - 0x38]
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, eax
or ebx, edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
shld edx, eax, 0x18
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edx, ebx
mov ebx, ecx
xor ecx, ecx
or edx, ebx
mov ebx, dword [ebp - 0x20]
or eax, ecx
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
add esi, 1
cmp dword [ebp + 8], esi
jne 0x64a82808
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x48], 1
add dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a82801
jmp 0x64a7dca0
mov eax, dword [ebp - 0x20]
mov dword [eax + esi*8], 0
mov dword [eax + esi*8 + 4], 0
add esi, 1
cmp dword [ebp + 8], esi
jne 0x64a82808
jmp 0x64a828d1
cmp edx, 0x22009
je 0x64a836a8
cmp edx, 0x61007
jne 0x64a7e160
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
test edi, edi
je 0x64a88ee4
mov eax, dword [ebp + 0x24]
add eax, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
add eax, dword [ebp + 0x24]
add edx, dword [ebp + 0x14]
lea esi, [esi]
nop
movzx ecx, byte [eax]
cmp ecx, dword [edi + 4]
jae 0x64a829f0
mov ecx, dword [edi + ecx*4 + 8]
add eax, 1
add edx, 2
mov esi, ecx
mov ebx, ecx
shr esi, 0x18
shr ebx, 0x10
shl esi, 8
shl ebx, 7
and bx, 0x7c00
and si, 0x8000
or esi, ebx
mov ebx, ecx
shr cx, 6
shr bl, 3
and cx, 0x3e0
movzx ebx, bl
or ebx, esi
or ebx, ecx
mov word [edx - 2], bx
cmp dword [ebp - 0x20], eax
jne 0x64a82980
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x38], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8296c
jmp 0x64a7dca0
mov esi, dword [ebp - 0x20]
xor ecx, ecx
add eax, 1
add edx, 2
mov word [edx - 2], cx
cmp eax, esi
jne 0x64a82980
jmp 0x64a829cc
cmp edx, 0x34400d
jne 0x64a7e160
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
test edi, edi
je 0x64a88f42
mov eax, dword [ebp + 0x24]
add eax, dword [ebp + 8]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x54]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x58]
add esi, dword [ebp + 0x24]
movzx eax, byte [esi]
cmp eax, dword [edi + 4]
jae 0x64a82b38
mov eax, dword [edi + eax*4 + 8]
xor ebx, ebx
mov dword [ebp - 0x2c], 0
add esi, 1
mov dword [ebp - 0x3c], ebx
movzx edx, ah
mov dword [ebp - 0x34], 0
mov ecx, edx
movzx edx, al
mov dword [ebp - 0x30], edx
mov edx, eax
shr eax, 0x18
shr edx, 0x10
shld ebx, ecx, 0x18
mov dword [ebp - 0x40], ecx
movzx edx, dl
mov dword [ebp - 0x48], eax
shl ecx, 0x18
xor eax, eax
mov dword [ebp - 0x38], edx
imul edx, dword [ebp - 0x48], 0x1010000
or eax, ecx
mov ecx, dword [ebp - 0x38]
or eax, dword [ebp - 0x30]
or edx, ebx
mov ebx, ecx
xor ecx, ecx
or edx, dword [ebp - 0x2c]
or eax, ecx
mov ecx, dword [ebp - 0x38]
shl ebx, 8
or edx, ebx
mov ebx, ecx
xor ecx, ecx
or ecx, eax
or ebx, edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
shld edx, eax, 8
shl eax, 8
or eax, ecx
or edx, ebx
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
shld ebx, ecx, 0x10
shl ecx, 0x10
or edx, ebx
mov ebx, dword [ebp - 0x20]
or eax, ecx
mov dword [ebx], eax
add ebx, 8
mov dword [ebx - 4], edx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x28], esi
jne 0x64a82a60
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x50], 1
add dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
add dword [ebp - 0x58], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a82a51
jmp 0x64a7dca0
mov eax, dword [ebp - 0x20]
add esi, 1
mov dword [eax], 0
add eax, 8
mov dword [eax - 4], 0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
cmp esi, eax
jne 0x64a82a60
jmp 0x64a82b11
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88f75
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
xor edx, edx
lea esi, [esi]
mov eax, edx
shr eax, 1
movzx eax, byte [esi + eax]
mov ebx, eax
shr al, 4
and ebx, 0xf
test dl, 1
cmovne eax, ebx
movzx eax, al
cmp eax, dword [edi + 4]
jae 0x64a82bf0
mov eax, dword [edi + eax*4 + 8]
add edx, 1
add ecx, 3
mov ebx, eax
mov byte [ecx - 2], ah
shr ebx, 0x10
mov byte [ecx - 3], al
mov byte [ecx - 1], bl
cmp dword [ebp + 8], edx
jne 0x64a82b98
add dword [ebp - 0x20], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edx
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a82b8c
jmp 0x64a7dca0
mov byte [ecx + 2], 0
add edx, 1
add ecx, 3
mov byte [ecx - 2], 0
mov byte [ecx - 3], 0
cmp dword [ebp + 8], edx
jne 0x64a82b98
jmp 0x64a82bd3
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
test edi, edi
je 0x64a88d6a
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
xor eax, eax
lea esi, [esi]
mov edx, eax
shr edx, 1
movzx edx, byte [esi + edx]
mov ecx, edx
shr dl, 4
and ecx, 0xf
test al, 1
cmovne edx, ecx
movzx edx, dl
cmp edx, dword [edi + 4]
jae 0x64a82cb0
mov ecx, dword [edi + edx*4 + 8]
mov ebx, ecx
mov edx, ecx
shr cl, 3
shr ebx, 0x10
shr dx, 6
movzx ecx, cl
shl ebx, 7
and dx, 0x3e0
and bx, 0x7c00
or edx, ebx
mov ebx, dword [ebp - 0x20]
or edx, ecx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a82c40
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x20], edx
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a82c37
jmp 0x64a7dca0
mov ebx, dword [ebp - 0x20]
xor edx, edx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a82c40
jmp 0x64a82c92
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
test edi, edi
je 0x64a88eb1
mov eax, dword [ebp + 0x24]
add eax, dword [ebp + 8]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
add ebx, dword [ebp + 0x24]
add ecx, dword [ebp + 0x14]
nop
movzx eax, byte [ebx]
cmp eax, dword [edi + 4]
jae 0x64a82dc0
mov eax, dword [edi + eax*4 + 8]
add ebx, 1
add ecx, 4
mov dword [ebp - 0x20], eax
mov esi, eax
movzx edx, byte [ebp - 0x20]
mov eax, 0x80808081
shr esi, 0x18
imul edx, esi
add edx, 0x7f
mul edx
mov eax, esi
shl eax, 0x18
shr edx, 7
or edx, eax
mov eax, 0x80808081
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x20]
shr edx, 0x10
movzx edx, dl
imul edx, esi
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x30]
shr edx, 7
shl edx, 0x10
or eax, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
movzx edx, ah
mov eax, 0x80808081
imul edx, esi
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x30]
shr edx, 7
shl edx, 8
or eax, edx
mov dword [ecx - 4], eax
cmp dword [ebp - 0x28], ebx
jne 0x64a82d10
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x38], 1
add dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
add dword [ebp - 0x48], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a82d03
jmp 0x64a7dca0
mov eax, dword [ebp - 0x28]
add ebx, 1
mov dword [ecx], 0
add ecx, 4
cmp ebx, eax
jne 0x64a82d10
jmp 0x64a82d9a
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88d99
mov dword [ebp - 0x28], 0
mov ebx, dword [ebp + 0x24]
xor esi, esi
mov dword [ebp - 0x20], 0
add ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x28]
add edx, dword [ebp + 0x14]
add eax, esi
lea esi, [esi]
nop
movzx ecx, byte [eax]
cmp ecx, dword [edi + 4]
jae 0x64a82e60
mov ecx, dword [edi + ecx*4 + 8]
add eax, 1
add edx, 4
mov dword [edx - 4], ecx
cmp ebx, eax
jne 0x64a82e20
add dword [ebp - 0x20], 1
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], ecx
add ebx, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a82e0d
jmp 0x64a7dca0
add eax, 1
mov dword [edx], 0
add edx, 4
cmp eax, ebx
jne 0x64a82e20
jmp 0x64a82e39
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88f13
mov esi, dword [ebp + 0x24]
add esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
add eax, dword [ebp + 0x24]
add ecx, dword [ebp + 0x14]
lea esi, [esi]
movzx edx, byte [eax]
cmp edx, dword [edi + 4]
jae 0x64a82f20
mov ebx, dword [edi + edx*4 + 8]
add eax, 1
add ecx, 2
mov edx, ebx
shr edx, 0x10
movzx esi, dl
movzx edx, bh
movzx ebx, bl
add esi, edx
mov edx, esi
add edx, ebx
lea edx, [edx + edx*4]
mov ebx, edx
shl ebx, 4
add edx, ebx
mov word [ecx - 2], dx
cmp dword [ebp - 0x20], eax
jne 0x64a82ec0
mov esi, dword [ebp + 0x20]
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x10]
add dword [ebp - 0x20], esi
add dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x38], esi
cmp dword [ebp + 0xc], eax
jne 0x64a82eae
jmp 0x64a7dca0
mov esi, dword [ebp - 0x20]
xor edx, edx
add eax, 1
add ecx, 2
mov word [ecx - 2], dx
cmp eax, esi
jne 0x64a82ec0
jmp 0x64a82ef9
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
test edi, edi
je 0x64a88a31
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp - 0x40]
xor ebx, ebx
add eax, esi
mov dword [ebp - 0x28], eax
lea esi, [esi]
mov esi, dword [ebp - 0x28]
mov eax, ebx
mov ecx, ebx
shr eax, 3
not ecx
movzx eax, byte [esi + eax]
and ecx, 7
sar eax, cl
and eax, 1
cmp eax, dword [edi + 4]
jae 0x64a83030
mov ecx, dword [edi + eax*4 + 8]
mov eax, 0x80808081
mov esi, ecx
movzx edx, cl
shr esi, 0x18
imul edx, esi
add edx, 0x7f
mul edx
mov eax, esi
shl eax, 0x18
shr edx, 7
or edx, eax
mov eax, 0x80808081
mov dword [ebp - 0x30], edx
mov edx, ecx
shr edx, 0x10
movzx edx, dl
imul edx, esi
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x30]
shr edx, 7
shl edx, 0x10
or eax, edx
movzx edx, ch
imul edx, esi
mov dword [ebp - 0x30], eax
mov eax, 0x80808081
mov esi, dword [ebp - 0x20]
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x30]
shr edx, 7
shl edx, 8
or eax, edx
mov dword [esi + ebx*4], eax
add ebx, 1
cmp dword [ebp + 8], ebx
jne 0x64a82f78
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x38], 1
add dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x40], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a82f67
jmp 0x64a7dca0
mov eax, dword [ebp - 0x20]
mov dword [eax + ebx*4], 0
add ebx, 1
cmp dword [ebp + 8], ebx
jne 0x64a82f78
jmp 0x64a8300f
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
test edi, edi
je 0x64a88920
mov eax, dword [ebp + 0x24]
add eax, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
add eax, dword [ebp + 0x24]
add edx, dword [ebp + 0x14]
movzx ecx, byte [eax]
cmp ecx, dword [edi + 4]
jae 0x64a830f0
mov ebx, dword [edi + ecx*4 + 8]
add eax, 1
add edx, 2
mov esi, ebx
mov ecx, ebx
shr bl, 3
shr esi, 0x10
shr cx, 6
movzx ebx, bl
shl esi, 7
and cx, 0x3e0
and si, 0x7c00
or ecx, esi
or ecx, ebx
mov word [edx - 2], cx
cmp dword [ebp - 0x20], eax
jne 0x64a83090
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x38], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a83084
jmp 0x64a7dca0
xor esi, esi
add eax, 1
add edx, 2
mov word [edx - 2], si
mov esi, dword [ebp - 0x20]
cmp eax, esi
jne 0x64a83090
jmp 0x64a830cd
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88af9
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
lea ebx, [esi + esi*2]
mov dword [ebp - 0x30], eax
add eax, ebx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
add edx, dword [ebp + 0x24]
jmp 0x64a83170
mov ecx, dword [edi + ecx*4 + 8]
mov esi, ecx
mov byte [eax + 1], ch
shr esi, 0x10
mov byte [eax], cl
mov ebx, esi
mov byte [eax + 2], bl
mov esi, dword [ebp - 0x20]
add eax, 3
add edx, 1
cmp eax, esi
je 0x64a83185
movzx ecx, byte [edx]
cmp ecx, dword [edi + 4]
jb 0x64a83150
mov byte [eax + 2], 0
mov byte [eax + 1], 0
mov byte [eax], 0
jmp 0x64a83163
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x38], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a83142
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88aca
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
xor eax, eax
lea esi, [esi]
mov edx, eax
shr edx, 1
movzx edx, byte [esi + edx]
mov ecx, edx
shr dl, 4
and ecx, 0xf
test al, 1
cmovne edx, ecx
movzx edx, dl
cmp edx, dword [edi + 4]
jae 0x64a83240
mov ecx, dword [edi + edx*4 + 8]
mov ebx, ecx
movzx edx, ch
movzx ecx, cl
shr ebx, 0x10
movzx ebx, bl
add edx, ebx
mov ebx, dword [ebp - 0x20]
add edx, ecx
lea edx, [edx + edx*4]
mov ecx, edx
shl ecx, 4
add edx, ecx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a831d8
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x20], edx
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a831d3
jmp 0x64a7dca0
mov ebx, dword [ebp - 0x20]
xor ecx, ecx
mov word [ebx + eax*2], cx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a831d8
jmp 0x64a83224
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
test edi, edi
je 0x64a88a97
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x24]
mov dword [ebp - 0x20], 0
xor edx, edx
mov eax, edx
shr eax, 1
movzx eax, byte [ebx + eax]
mov ecx, eax
shr al, 4
and ecx, 0xf
test dl, 1
cmovne eax, ecx
movzx eax, al
cmp eax, dword [edi + 4]
jae 0x64a832c8
mov eax, dword [edi + eax*4 + 8]
mov dword [esi + edx*4], eax
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a83280
add dword [ebp - 0x20], 1
add esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x20]
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a8327e
jmp 0x64a7dca0
mov dword [esi + edx*4], 0
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a83280
jmp 0x64a832ad
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
test edi, edi
je 0x64a888ba
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x28], eax
xor ecx, ecx
lea esi, [esi]
mov esi, dword [ebp - 0x28]
mov eax, ecx
shr eax, 1
movzx eax, byte [esi + eax]
mov edx, eax
shr al, 4
and edx, 0xf
test cl, 1
cmovne eax, edx
movzx eax, al
cmp eax, dword [edi + 4]
jae 0x64a833d0
mov ebx, dword [edi + eax*4 + 8]
mov eax, 0x80808081
mov esi, ebx
movzx edx, bl
shr esi, 0x18
imul edx, esi
add edx, 0x7f
mul edx
mov eax, esi
shl eax, 0x18
shr edx, 7
or edx, eax
mov eax, 0x80808081
mov dword [ebp - 0x30], edx
mov edx, ebx
shr edx, 0x10
movzx edx, dl
imul edx, esi
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x30]
shr edx, 7
shl edx, 0x10
or eax, edx
movzx edx, bh
imul edx, esi
mov dword [ebp - 0x30], eax
mov eax, 0x80808081
mov esi, dword [ebp - 0x20]
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x30]
shr edx, 7
shl edx, 8
or eax, edx
mov dword [esi + ecx*4], eax
add ecx, 1
cmp dword [ebp + 8], ecx
jne 0x64a83310
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x38], 1
add dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8330a
jmp 0x64a7dca0
mov eax, dword [ebp - 0x20]
mov dword [eax + ecx*4], 0
add ecx, 1
cmp dword [ebp + 8], ecx
jne 0x64a83310
jmp 0x64a833ab
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
test edi, edi
je 0x64a8888b
mov dword [ebp - 0x30], 0
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x28], 0
mov esi, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
xor eax, eax
add esi, edx
lea esi, [esi]
mov edx, eax
mov ecx, eax
shr edx, 3
not ecx
movzx edx, byte [esi + edx]
and ecx, 7
sar edx, cl
and edx, 1
cmp edx, dword [edi + 4]
jae 0x64a83498
mov ecx, dword [edi + edx*4 + 8]
mov edx, ecx
shr edx, 0x10
shl edx, 7
and dx, 0x7c00
mov word [ebp - 0x20], dx
mov edx, ecx
shr cl, 3
shr dx, 6
movzx ecx, cl
and dx, 0x3e0
or dx, word [ebp - 0x20]
or edx, ecx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a83428
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], edx
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a83417
jmp 0x64a7dca0
xor edx, edx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a83428
jmp 0x64a8347a
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
test edi, edi
je 0x64a88858
mov dword [ebp - 0x28], 0
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], 0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp - 0x28]
xor edx, edx
add esi, eax
lea esi, [esi]
mov eax, edx
mov ecx, edx
shr eax, 3
not ecx
movzx eax, byte [esi + eax]
and ecx, 7
sar eax, cl
and eax, 1
cmp eax, dword [edi + 4]
jae 0x64a83530
mov eax, dword [edi + eax*4 + 8]
mov dword [ebx + edx*4], eax
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a834e8
add dword [ebp - 0x20], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edx
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a834d7
jmp 0x64a7dca0
mov dword [ebx + edx*4], 0
add edx, 1
cmp dword [ebp + 8], edx
jne 0x64a834e8
jmp 0x64a83511
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88727
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp - 0x30]
xor edx, edx
mov ebx, dword [ebp - 0x28]
add esi, eax
mov eax, edx
mov ecx, edx
shr eax, 3
not ecx
movzx eax, byte [esi + eax]
and ecx, 7
sar eax, cl
and eax, 1
cmp eax, dword [edi + 4]
jae 0x64a835d8
mov eax, dword [edi + eax*4 + 8]
add edx, 1
add ebx, 3
mov ecx, eax
mov byte [ebx - 2], ah
shr ecx, 0x10
mov byte [ebx - 3], al
mov byte [ebx - 1], cl
cmp dword [ebp + 8], edx
jne 0x64a83580
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a83573
jmp 0x64a7dca0
mov byte [ebx + 2], 0
add edx, 1
add ebx, 3
mov byte [ebx - 2], 0
mov byte [ebx - 3], 0
cmp dword [ebp + 8], edx
jne 0x64a83580
jmp 0x64a835b7
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a89102
mov dword [ebp - 0x30], 0
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x28], 0
mov esi, dword [ebp + 0x24]
mov edx, dword [ebp - 0x30]
xor eax, eax
add esi, edx
mov dword [ebp - 0x20], esi
lea esi, [esi]
mov esi, dword [ebp - 0x20]
mov edx, eax
mov ecx, eax
shr edx, 3
not ecx
movzx edx, byte [esi + edx]
and ecx, 7
sar edx, cl
and edx, 1
cmp edx, dword [edi + 4]
jae 0x64a83698
mov ecx, dword [edi + edx*4 + 8]
mov edx, ecx
shr edx, 0x10
movzx esi, dl
movzx edx, ch
movzx ecx, cl
add esi, edx
mov edx, esi
add edx, ecx
lea edx, [edx + edx*4]
mov ecx, edx
shl ecx, 4
add edx, ecx
mov word [ebx + eax*2], dx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a83630
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], edx
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a83620
jmp 0x64a7dca0
xor ecx, ecx
mov word [ebx + eax*2], cx
add eax, 1
cmp dword [ebp + 8], eax
jne 0x64a83630
jmp 0x64a8367b
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
test edi, edi
je 0x64a88d37
mov dword [ebp - 0x28], 0
mov ebx, dword [ebp + 0x24]
xor esi, esi
mov dword [ebp - 0x20], 0
add ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x28]
add edx, dword [ebp + 0x14]
add eax, esi
lea esi, [esi]
nop
movzx ecx, byte [eax]
cmp ecx, dword [edi + 4]
jae 0x64a83730
mov ecx, dword [edi + ecx*4 + 8]
add eax, 1
add edx, 4
and ecx, 0xffffff
mov dword [edx - 4], ecx
cmp ebx, eax
jne 0x64a836f0
add dword [ebp - 0x20], 1
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], ecx
add ebx, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a836dc
jmp 0x64a7dca0
add eax, 1
mov dword [edx], 0
add edx, 4
cmp eax, ebx
jne 0x64a836f0
jmp 0x64a8370f
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 8]
xor edx, edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x60], eax
xor eax, eax
lea esi, [esi]
nop
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x68], ecx
add edi, eax
mov dword [ebp - 0x6c], eax
lea esi, [esi]
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp + 0x1c]
movzx edx, byte [eax + 2]
movzx ecx, byte [eax + 1]
movzx ebx, byte [eax]
movzx eax, byte [eax + 3]
test esi, esi
je 0x64a838b0
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a838b0
movzx esi, bl
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x48], esi
movzx esi, cl
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x5c], edi
mov byte [ebp - 0x30], al
mov dword [ebp - 0x20], esi
movzx esi, dl
mov dword [ebp - 0x50], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
mov edi, dword [ebp - 0x38]
cmovb ecx, ebx
movzx eax, byte [ebp - 0x30]
add ecx, edx
cmp ecx, edi
cmovl eax, esi
cmovge ecx, edi
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a837e0
mov edi, dword [ebp - 0x5c]
mov byte [edi], al
add edi, 1
add dword [ebp - 0x58], 4
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x60], eax
jne 0x64a83788
mov ebx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
add dword [ebp - 0x60], ebx
add edx, 1
add eax, dword [ebp + 0x10]
add ecx, ebx
cmp dword [ebp + 0xc], edx
jne 0x64a83770
jmp 0x64a7dca0
xor eax, eax
jmp 0x64a8386e
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x68], 0
xor edx, edx
mov dword [ebp - 0x6c], eax
lea esi, [esi]
mov dword [ebp - 0x70], edx
xor eax, eax
lea esi, [esi]
mov edx, dword [ebp - 0x6c]
mov ecx, eax
shr ecx, 3
movzx ebx, byte [edx + eax*4 + 2]
movzx esi, byte [edx + eax*4 + 1]
movzx edi, byte [edx + eax*4]
movzx edx, byte [edx + eax*4 + 3]
mov byte [ebp - 0x28], bl
mov ebx, dword [ebp - 0x68]
mov byte [ebp - 0x30], dl
add ecx, ebx
add ecx, dword [ebp + 0x14]
mov ebx, 1
mov dword [ebp - 0x58], ecx
mov ecx, eax
mov edx, dword [ebp - 0x58]
not ecx
and ecx, 7
shl ebx, cl
mov dword [ebp - 0x60], ecx
mov ecx, ebx
not ecx
and cl, byte [edx]
mov edx, dword [ebp + 0x1c]
mov byte [ebp - 0x5c], cl
test edx, edx
je 0x64a83a19
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x40], ebx
test ebx, ebx
je 0x64a83a19
mov ecx, edi
movzx edi, byte [ebp - 0x30]
mov edx, 0x7fff
mov byte [ebp - 0x30], 0
movzx ebx, cl
mov dword [ebp - 0x64], eax
mov ecx, esi
mov dword [ebp - 0x48], ebx
movzx ebx, byte [ebp - 0x28]
movzx esi, cl
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
mov edi, dword [ebp - 0x38]
cmovb ecx, ebx
movzx eax, byte [ebp - 0x30]
add ecx, edx
cmp ecx, edi
cmovl eax, esi
cmovge ecx, edi
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a83980
movzx ecx, byte [ebp - 0x60]
mov edx, eax
mov eax, dword [ebp - 0x64]
shl edx, cl
or byte [ebp - 0x5c], dl
mov esi, dword [ebp - 0x58]
movzx ebx, byte [ebp - 0x5c]
add eax, 1
mov byte [esi], bl
cmp dword [ebp + 8], eax
jne 0x64a838e8
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp + 0x20]
add dword [ebp - 0x6c], esi
mov esi, dword [ebp + 0x10]
add edx, 1
add dword [ebp - 0x68], esi
cmp dword [ebp + 0xc], edx
jne 0x64a838e0
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
xor edi, edi
mov ecx, dword [ebp + 0x24]
lea ebx, [eax + eax*2]
add ebx, esi
lea esi, [esi]
mov dword [ebp - 0x20], edi
mov eax, esi
mov edx, ecx
mov dword [ebp - 0x28], ecx
lea esi, [esi]
movzx edi, word [edx]
movzx ecx, byte [edx + 2]
add eax, 3
add edx, 4
mov byte [eax - 1], cl
mov word [eax - 3], di
cmp ebx, eax
jne 0x64a83a88
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
add esi, dword [ebp + 0x10]
add ecx, dword [ebp + 0x20]
add edi, 1
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edi
jne 0x64a83a78
jmp 0x64a7dca0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edi, edi
xor ecx, ecx
lea esi, [eax + esi*4]
nop
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov edx, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], eax
add ebx, edi
movzx ecx, byte [edx + 2]
movzx edi, byte [edx + 1]
add edx, 4
add ebx, 2
movzx eax, byte [edx - 4]
shl ecx, 7
shl edi, 2
and di, 0x3e0
and cx, 0x7c00
shr al, 3
or ecx, edi
movzx edi, al
or ecx, edi
mov word [ebx - 2], cx
cmp esi, edx
jne 0x64a83af0
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add edi, dword [ebp + 0x10]
add ecx, 1
add eax, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a83ae0
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x24]
xor ecx, ecx
mov edi, dword [ebp + 0x14]
lea ebx, [esi + eax*4]
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
lea esi, [esi]
mov dword [ebp - 0x38], ecx
mov eax, edi
mov edx, esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x48], esi
lea esi, [esi]
nop
movzx ecx, byte [edx]
movzx edi, byte [edx + 2]
add eax, 6
add edx, 4
movzx esi, byte [edx - 3]
mov byte [eax - 5], cl
movzx ecx, word [ebp - 0x20]
mov ebx, edi
mov word [ebp - 0x28], di
mov cl, bl
mov ebx, esi
mov ch, byte [ebp - 0x28]
mov byte [eax - 4], bl
mov byte [eax - 3], bl
movzx ebx, byte [eax - 5]
mov word [eax - 2], cx
mov byte [eax - 6], bl
cmp dword [ebp - 0x30], edx
jne 0x64a83b90
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x48]
add ecx, 1
add esi, dword [ebp + 0x20]
add edi, dword [ebp + 0x10]
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a83b78
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor edi, edi
lea ebx, [eax + esi*4]
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], edi
mov edx, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x30], eax
add ecx, esi
movzx esi, byte [edx + 3]
movzx edi, byte [edx + 2]
add edx, 4
add ecx, 2
movzx eax, byte [edx - 4]
shl esi, 8
shl edi, 7
and di, 0x7c00
and si, 0x8000
shr al, 3
or esi, edi
movzx edi, al
or esi, edi
movzx edi, byte [edx - 3]
shl edi, 2
and di, 0x3e0
or esi, edi
mov word [ecx - 2], si
cmp ebx, edx
jne 0x64a83c20
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add esi, dword [ebp + 0x10]
add edi, 1
add eax, dword [ebp + 0x20]
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], edi
jne 0x64a83c10
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x24]
xor esi, esi
lea ebx, [edi + eax*4]
xor eax, eax
lea esi, [esi]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov edx, edi
mov dword [ebp - 0x28], esi
add ecx, esi
lea esi, [esi]
movzx esi, byte [edx + 2]
movzx eax, byte [edx + 1]
add edx, 4
add ecx, 2
add eax, esi
movzx esi, byte [edx - 4]
add eax, esi
lea eax, [eax + eax*4]
mov esi, eax
shl esi, 4
add eax, esi
mov word [ecx - 2], ax
cmp ebx, edx
jne 0x64a83cb8
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
add edi, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
add eax, 1
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a83ca8
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x68], eax
xor ebx, ebx
lea esi, [esi]
nop
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx + ebx*4 + 1]
movzx esi, byte [edx + ebx*4 + 3]
movzx edi, byte [edx + ebx*4 + 2]
mov byte [ebp - 0x20], al
movzx eax, byte [edx + ebx*4]
mov byte [ebp - 0x28], al
mov eax, esi
test al, al
je 0x64a83da3
movzx ecx, al
xor edx, edx
mov eax, 0x7f8000
idiv ecx
mov edx, esi
mov ecx, edi
cmp dl, cl
jb 0x64a83f10
movzx edx, cl
imul edx, eax
shr edx, 0xf
mov edi, edx
movzx edx, byte [ebp - 0x20]
mov ecx, esi
cmp cl, dl
jb 0x64a83f00
imul edx, eax
shr edx, 0xf
mov byte [ebp - 0x20], dl
movzx edx, byte [ebp - 0x28]
mov ecx, esi
cmp cl, dl
jb 0x64a83ef0
imul edx, eax
shr edx, 0xf
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x6c]
mov eax, ebx
shr eax, 3
add eax, edx
add eax, dword [ebp + 0x14]
mov edx, eax
mov eax, ebx
not eax
and eax, 7
mov ecx, eax
mov eax, 1
shl eax, cl
not eax
and al, byte [edx]
mov byte [ebp - 0x58], al
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x64a83eb9
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x64a83eb9
movzx eax, byte [ebp - 0x28]
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x20], eax
mov eax, edi
mov edi, 0x7fff
movzx eax, al
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x50], eax
mov eax, esi
xor esi, esi
movzx eax, al
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x54], eax
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
mov edi, dword [ebp - 0x38]
cmovb ecx, ebx
movzx eax, byte [ebp - 0x30]
add ecx, edx
cmp ecx, edi
cmovl eax, esi
cmovge ecx, edi
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a83e20
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
shl eax, cl
or byte [ebp - 0x58], al
movzx eax, byte [ebp - 0x58]
add ebx, 1
mov byte [edx], al
cmp dword [ebp + 8], ebx
jne 0x64a83d30
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x70], 1
add dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a83d26
jmp 0x64a7dca0
mov byte [ebp - 0x28], 0xff
jmp 0x64a83da3
mov byte [ebp - 0x20], 0xff
jmp 0x64a83d8c
mov edi, 0xffffffff
jmp 0x64a83d75
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x50], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x40], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov ebx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
jmp 0x64a83fca
mov edx, dword [ebp - 0x38]
movzx eax, al
imul eax, edx
shr eax, 0xf
mov byte [ebp - 0x28], al
mov edx, esi
cmp byte [ebp - 0x30], dl
jb 0x64a84020
mov eax, dword [ebp - 0x38]
movzx esi, dl
imul esi, eax
shr esi, 0xf
mov edx, edi
cmp byte [ebp - 0x30], dl
jb 0x64a84010
movzx eax, dl
mov edx, dword [ebp - 0x38]
imul eax, edx
shr eax, 0xf
mov edi, eax
movzx edx, byte [ebp - 0x28]
movzx eax, word [ebp - 0x20]
add ecx, 4
add ebx, 6
mov al, dl
mov ah, dl
mov word [ebx - 2], ax
mov eax, esi
mov byte [ebx - 4], al
mov byte [ebx - 3], al
mov eax, edi
mov byte [ebx - 6], al
mov byte [ebx - 5], al
cmp dword [ebp - 0x40], ecx
je 0x64a8402a
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx + 3]
movzx esi, byte [ecx + 1]
movzx edi, byte [ecx]
mov byte [ebp - 0x28], al
test dl, dl
je 0x64a83f9f
movzx eax, dl
mov byte [ebp - 0x30], dl
xor edx, edx
mov dword [ebp - 0x38], eax
mov eax, 0x7f8000
idiv dword [ebp - 0x38]
movzx edx, byte [ebp - 0x30]
mov dword [ebp - 0x38], eax
movzx eax, byte [ebp - 0x28]
cmp dl, al
jae 0x64a83f60
mov byte [ebp - 0x28], 0xff
jmp 0x64a83f6f
mov edi, 0xffffffff
jmp 0x64a83f9f
mov esi, 0xffffffff
jmp 0x64a83f86
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x48], 1
add dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x40], ebx
add dword [ebp - 0x50], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a83f57
jmp 0x64a7dca0
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x24]
xor esi, esi
lea ebx, [edi + eax*4]
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov edx, edi
mov dword [ebp - 0x28], edi
add ecx, esi
nop
movzx edi, byte [edx + 2]
movzx eax, byte [edx + 1]
add edx, 4
add ecx, 4
shl edi, 0x10
shl eax, 8
or eax, edi
movzx edi, byte [edx - 4]
or eax, edi
or eax, 0xff000000
mov dword [ecx - 4], eax
cmp edx, ebx
jne 0x64a84080
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
add esi, dword [ebp + 0x10]
add edi, dword [ebp + 0x20]
add eax, 1
add ebx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a84071
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x50], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x40], eax
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x50]
add edi, dword [ebp + 0x14]
jmp 0x64a84150
shl edx, 7
mov eax, edx
lea edx, [esi*4]
and ax, 0x7c00
and dx, 0x3e0
mov word [ebp - 0x20], ax
movzx eax, byte [ebp - 0x28]
shr al, 3
movzx esi, al
movzx eax, word [ebp - 0x20]
shl ecx, 8
add ebx, 4
add edi, 2
and cx, 0x8000
or eax, edx
or ecx, eax
or ecx, esi
mov word [edi - 2], cx
cmp dword [ebp - 0x40], ebx
je 0x64a841e8
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 3]
movzx esi, byte [ebx + 1]
mov byte [ebp - 0x30], dl
mov byte [ebp - 0x28], al
test cl, cl
je 0x64a84108
movzx eax, cl
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, 0x7f8000
idiv dword [ebp - 0x20]
movzx edx, byte [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, 0x7c00
mov word [ebp - 0x20], ax
cmp cl, dl
jb 0x64a841a4
movzx eax, dl
mov edx, dword [ebp - 0x38]
imul eax, edx
shr eax, 0xf
shl eax, 7
and ax, 0x7c00
mov word [ebp - 0x20], ax
mov eax, esi
mov edx, 0x3e0
cmp cl, al
jb 0x64a841c3
movzx edx, al
mov eax, dword [ebp - 0x38]
imul edx, eax
shr edx, 0xf
shl edx, 2
and dx, 0x3e0
movzx eax, byte [ebp - 0x28]
mov esi, 0x1f
cmp cl, al
jb 0x64a8412b
movzx esi, al
mov eax, dword [ebp - 0x38]
imul esi, eax
shr esi, 0x12
and esi, 0x1f
jmp 0x64a8412b
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x48], 1
add dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x40], ebx
add dword [ebp - 0x50], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a840f7
jmp 0x64a7dca0
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
lea ebx, [eax + esi*4]
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ecx, esi
lea esi, [esi]
movzx edi, byte [edx + 4]
movzx eax, byte [edx + 2]
add ecx, 4
add edx, 6
shl edi, 0x10
shl eax, 8
or eax, edi
movzx edi, byte [edx - 6]
or eax, edi
or eax, 0xff000000
mov dword [ecx - 4], eax
cmp ebx, ecx
jne 0x64a84248
add dword [ebp - 0x20], 1
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edi
add esi, dword [ebp + 0x10]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a8423d
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
xor ecx, ecx
mov edi, 0x80808081
lea esi, [eax + esi*4]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x28]
mov ebx, eax
mov dword [ebp - 0x38], ecx
add esi, dword [ebp + 0x14]
lea esi, [esi]
nop
movzx eax, byte [ebx + 2]
add ebx, 4
add esi, 4
mov edx, eax
shl edx, 8
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
movzx eax, byte [ebx - 3]
shr edx, 7
mov ecx, edx
mov edx, eax
shl edx, 8
shl ecx, 0x10
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
movzx eax, byte [ebx - 4]
shr edx, 7
shl edx, 8
or ecx, edx
mov edx, eax
shl edx, 8
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
mov eax, dword [ebp - 0x20]
shr edx, 7
or ecx, edx
or ecx, 0xff000000
mov dword [esi - 4], ecx
cmp ebx, eax
jne 0x64a842d0
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x28], ebx
add ecx, 1
mov ebx, dword [ebp + 0x20]
add eax, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
cmp dword [ebp + 0xc], ecx
jne 0x64a842bd
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp + 0x1c]
xor edx, edx
lea esi, [esi]
nop
mov eax, dword [ebp - 0x60]
movzx esi, word [eax + edx*2]
mov eax, esi
mov ecx, esi
mov edi, esi
shr ax, 8
shr cx, 0xd
and eax, 0xfffffff8
shr di, 3
or eax, ecx
mov ecx, esi
mov byte [ebp - 0x28], al
shr cx, 9
mov eax, edi
mov edi, dword [ebp - 0x5c]
and ecx, 3
and eax, 0xfffffffc
or eax, ecx
mov ecx, esi
shl esi, 3
shr cx, 2
and ecx, 7
or ecx, esi
mov esi, edx
shr esi, 1
add esi, edi
mov dword [ebp - 0x58], esi
movzx edi, byte [esi]
test dl, 1
je 0x64a844f8
and edi, 0xfffffff0
test ebx, ebx
je 0x64a844c1
mov esi, dword [ebx + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a844c1
movzx esi, al
movzx eax, byte [ebp - 0x28]
movzx ecx, cl
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x50], eax
mov eax, edi
mov byte [ebp - 0x64], al
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
nop
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x54]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a84428
movzx edi, byte [ebp - 0x64]
mov eax, edx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x68]
or edi, eax
mov esi, dword [ebp - 0x58]
mov eax, edi
add edx, 1
mov byte [esi], al
cmp dword [ebp + 8], edx
jne 0x64a84388
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x60], ebx
mov ebx, dword [ebp + 0x10]
add eax, 1
add dword [ebp - 0x5c], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8437b
jmp 0x64a7dca0
and edi, 0xf
test ebx, ebx
je 0x64a844c1
mov esi, dword [ebx + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a844c1
movzx esi, cl
movzx eax, al
movzx ecx, byte [ebp - 0x28]
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x20], eax
mov eax, edi
mov dword [ebp - 0x38], 0x7fff
mov byte [ebp - 0x64], al
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x50], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x54]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a84538
mov eax, edx
movzx edi, byte [ebp - 0x64]
mov edx, dword [ebp - 0x68]
shl eax, 4
mov ebx, dword [ebp - 0x40]
or edi, eax
jmp 0x64a844c1
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x64], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], esi
mov eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0x6c]
add edi, dword [ebp + 0x14]
mov dword [ebp - 0x58], eax
lea esi, [esi]
nop
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp + 0x1c]
movzx edx, byte [eax + 4]
movzx ecx, byte [eax + 2]
movzx ebx, byte [eax]
movzx eax, byte [eax + 6]
test esi, esi
je 0x64a84740
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a84740
movzx esi, bl
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x48], esi
movzx esi, cl
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x5c], edi
mov byte [ebp - 0x30], al
mov dword [ebp - 0x20], esi
movzx esi, dl
mov dword [ebp - 0x50], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
mov edi, dword [ebp - 0x38]
cmovb ecx, ebx
movzx eax, byte [ebp - 0x30]
add ecx, edx
cmp ecx, edi
cmovl eax, esi
cmovge ecx, edi
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a84678
mov edi, dword [ebp - 0x5c]
mov byte [edi], al
add edi, 1
add dword [ebp - 0x58], 8
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x60], eax
jne 0x64a84620
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x64], 1
add dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x60], ebx
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8460f
jmp 0x64a7dca0
xor eax, eax
jmp 0x64a84706
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
add eax, 1
mov dword [ebp - 0x28], eax
lea ebx, [eax + esi*8]
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ecx, esi
lea esi, [esi]
movzx edi, byte [edx + 4]
movzx eax, byte [edx + 2]
add edx, 8
add ecx, 2
add eax, edi
movzx edi, byte [edx - 8]
add eax, edi
lea eax, [eax + eax*4]
mov edi, eax
shl edi, 4
add eax, edi
mov word [ecx - 2], ax
cmp ebx, edx
jne 0x64a84780
mov edi, dword [ebp + 0x20]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
add esi, dword [ebp + 0x10]
add ebx, edi
cmp dword [ebp + 0xc], eax
jne 0x64a84772
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x20], 0
lea edi, [eax + esi*2]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add esi, dword [ebp + 0x24]
add ecx, dword [ebp + 0x14]
lea esi, [esi]
movzx eax, byte [esi]
add ecx, 2
add esi, 2
mov ebx, eax
mov edx, eax
shl eax, 2
shl ebx, 7
and ax, 0x3e0
shr dl, 3
and bx, 0x7c00
movzx edx, dl
or eax, ebx
or eax, edx
or ax, 0x8000
mov word [ecx - 2], ax
cmp edi, ecx
jne 0x64a84808
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x20]
add edi, ebx
cmp dword [ebp + 0xc], eax
jne 0x64a847f8
jmp 0x64a7dca0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp + 0x1c]
xor edx, edx
lea esi, [esi]
mov eax, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
mov esi, edx
shr esi, 1
movzx ebx, byte [eax + edx*4 + 2]
add esi, edi
mov dword [ebp - 0x58], esi
movzx edi, byte [esi]
mov byte [ebp - 0x28], bl
movzx ebx, byte [eax + edx*4 + 1]
movzx eax, byte [eax + edx*4]
mov byte [ebp - 0x20], al
test dl, 1
je 0x64a849d0
and edi, 0xfffffff0
test ecx, ecx
je 0x64a84999
mov esi, dword [ecx + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a84999
mov dword [ebp - 0x50], eax
movzx eax, bl
movzx ebx, byte [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x20], eax
mov eax, edi
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x7fff
mov byte [ebp - 0x64], al
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x40], ecx
lea esi, [esi]
nop
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x54]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a84900
movzx edi, byte [ebp - 0x64]
mov eax, edx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x68]
or edi, eax
mov esi, dword [ebp - 0x58]
mov eax, edi
add edx, 1
mov byte [esi], al
cmp dword [ebp + 8], edx
jne 0x64a84888
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x5c], ebx
mov ebx, dword [ebp + 0x10]
add eax, 1
add dword [ebp - 0x60], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8487d
jmp 0x64a7dca0
and edi, 0xf
test ecx, ecx
je 0x64a84999
mov eax, dword [ecx + 4]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x64a84999
movzx eax, byte [ebp - 0x20]
mov byte [ebp - 0x30], 0
xor esi, esi
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x50], eax
movzx eax, bl
movzx ebx, byte [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, edi
mov byte [ebp - 0x64], al
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x40], ecx
lea esi, [esi]
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb ecx, edi
shr edx, 0x10
movzx ebx, dl
mov edx, dword [ebp - 0x54]
add ecx, eax
mov eax, ebx
mov edi, edx
sub eax, edx
sub edi, ebx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a84a10
mov eax, edx
movzx edi, byte [ebp - 0x64]
mov edx, dword [ebp - 0x68]
shl eax, 4
mov ecx, dword [ebp - 0x40]
or edi, eax
jmp 0x64a84999
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
xor ebx, ebx
lea esi, [esi]
nop
mov esi, dword [ebp - 0x64]
mov edx, ebx
mov eax, dword [ebp - 0x68]
shr edx, 3
add edx, esi
mov esi, dword [ebp + 0x14]
movzx eax, word [eax + ebx*2]
add esi, edx
mov edx, ebx
not edx
mov dword [ebp - 0x58], esi
and edx, 7
mov edi, edx
mov dword [ebp - 0x5c], edx
mov edx, 1
mov ecx, edi
mov edi, dword [ebp + 0x1c]
shl edx, cl
not edx
and dl, byte [esi]
mov byte [ebp - 0x54], dl
test edi, edi
je 0x64a84c29
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a84c29
mov edx, eax
lea ecx, [eax*8]
mov edi, 0x7fff
mov byte [ebp - 0x30], 0
shr dx, 2
mov dword [ebp - 0x60], ebx
and edx, 7
mov dword [ebp - 0x38], edi
or edx, ecx
mov ecx, eax
movzx esi, dl
mov edx, eax
shr cx, 9
shr dx, 3
and ecx, 3
mov dword [ebp - 0x48], esi
and edx, 0xfffffffc
or edx, ecx
movzx esi, dl
mov edx, eax
shr ax, 0xd
shr dx, 8
mov dword [ebp - 0x20], esi
xor esi, esi
and edx, 0xfffffff8
or edx, eax
movzx eax, dl
mov dword [ebp - 0x50], eax
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, edi
cmovl edx, esi
cmovge eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a84b90
movzx ecx, byte [ebp - 0x5c]
mov eax, edx
mov ebx, dword [ebp - 0x60]
shl eax, cl
or byte [ebp - 0x54], al
mov esi, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x54]
add ebx, 1
mov byte [esi], al
cmp dword [ebp + 8], ebx
jne 0x64a84ae0
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x68], ebx
mov ebx, dword [ebp + 0x10]
add eax, 1
add dword [ebp - 0x64], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a84ad6
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x28], 0
xor ecx, ecx
mov edi, 0x80808081
lea edx, [esi + esi*2]
lea esi, [eax + edx]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], ecx
mov esi, dword [ebp - 0x28]
mov ebx, eax
mov dword [ebp - 0x38], eax
add esi, dword [ebp + 0x14]
nop
movzx eax, byte [ebx + 2]
add ebx, 3
add esi, 4
mov edx, eax
shl edx, 8
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
movzx eax, byte [ebx - 2]
shr edx, 7
mov ecx, edx
mov edx, eax
shl edx, 8
shl ecx, 0x10
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
movzx eax, byte [ebx - 3]
shr edx, 7
shl edx, 8
or ecx, edx
mov edx, eax
shl edx, 8
sub edx, eax
add edx, 0x7f
mov eax, edx
mul edi
mov eax, dword [ebp - 0x20]
shr edx, 7
or ecx, edx
or ecx, 0xff000000
mov dword [esi - 4], ecx
cmp ebx, eax
jne 0x64a84ca0
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x28], ebx
add ecx, 1
mov ebx, dword [ebp + 0x20]
add eax, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
cmp dword [ebp + 0xc], ecx
jne 0x64a84c91
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ebx, ebx
xor edx, edx
lea edi, [eax + esi*2]
xor eax, eax
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], ebx
add ecx, ebx
add esi, eax
nop
movzx edx, word [ecx]
add ecx, 2
add esi, 2
mov ebx, edx
mov eax, edx
and edx, 0x1f
shr bx, 1
shr ax, 1
and bx, 0x3e0
and ax, 0x7c00
or eax, ebx
or eax, edx
or ax, 0x8000
mov word [esi - 2], ax
cmp ecx, edi
jne 0x64a84d60
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
add eax, dword [ebp + 0x10]
add edx, 1
add ebx, dword [ebp + 0x20]
add edi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], edx
jne 0x64a84d4c
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
xor esi, esi
add eax, 1
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
lea ebx, [eax + eax*2]
lea eax, [ebx + edi]
mov dword [ebp - 0x28], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x30]
mov edx, edi
nop
movzx ebx, byte [eax + 4]
movzx ecx, word [ebp - 0x20]
add eax, 8
add edx, 3
mov cl, byte [eax - 8]
mov ch, byte [eax - 6]
mov byte [edx - 1], bl
mov word [edx - 3], cx
cmp dword [ebp - 0x28], edx
jne 0x64a84df0
mov ebx, dword [ebp + 0x20]
add esi, 1
add dword [ebp - 0x30], ebx
add edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], esi
jne 0x64a84de9
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
xor edi, edi
add eax, 1
mov dword [ebp - 0x28], eax
lea esi, [eax + esi*8]
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ebx, edi
lea esi, [esi]
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 2]
add edx, 8
add ebx, 2
shl eax, 8
shl ecx, 3
and cx, 0x7e0
and ax, 0xf800
or eax, ecx
movzx ecx, byte [edx - 8]
shr cl, 3
movzx ecx, cl
or eax, ecx
mov word [ebx - 2], ax
cmp esi, edx
jne 0x64a84e68
mov edx, dword [ebp + 0x20]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x20]
add edi, dword [ebp + 0x10]
add esi, edx
cmp dword [ebp + 0xc], eax
jne 0x64a84e5a
jmp 0x64a7dca0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], 0
add eax, 1
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x60], eax
lea esi, [esi]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x60]
mov ecx, esi
not esi
shr ecx, 3
movzx edx, byte [eax + 4]
movzx ebx, byte [eax + 2]
add ecx, edi
mov edi, esi
add ecx, dword [ebp + 0x14]
mov esi, 1
and edi, 7
mov dword [ebp - 0x58], ecx
movzx eax, byte [eax]
mov ecx, edi
shl esi, cl
mov ecx, esi
mov esi, dword [ebp - 0x58]
not ecx
and cl, byte [esi]
mov byte [ebp - 0x5c], cl
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x64a85007
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a85007
mov ecx, 0x7fff
mov dword [ebp - 0x48], eax
xor esi, esi
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x38], ecx
lea esi, [esi]
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, edi
cmovl edx, esi
cmovge eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a84f70
mov edi, dword [ebp - 0x64]
mov eax, edx
mov ecx, edi
shl eax, cl
or byte [ebp - 0x5c], al
movzx eax, byte [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
add dword [ebp - 0x54], 1
mov byte [esi], al
mov eax, dword [ebp - 0x54]
add dword [ebp - 0x60], 6
cmp dword [ebp + 8], eax
jne 0x64a84ef8
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x6c], 1
add dword [ebp - 0x70], ebx
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a84ee4
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
xor edi, edi
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
lea esi, [eax + esi*2]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x28]
add ebx, edi
nop
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 2]
add ebx, 2
add ecx, 6
shl eax, 7
shl edx, 2
and dx, 0x3e0
and ax, 0x7c00
or eax, edx
movzx edx, byte [ecx - 6]
shr dl, 3
movzx edx, dl
or eax, edx
or ax, 0x8000
mov word [ebx - 2], ax
cmp esi, ebx
jne 0x64a85080
add dword [ebp - 0x20], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edx
add edi, dword [ebp + 0x10]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a85076
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
xor edi, edi
mov dword [ebp - 0x28], eax
lea esi, [esi + esi*2]
add esi, eax
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ebx, edi
lea esi, [esi]
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 1]
add edx, 3
add ebx, 2
shl eax, 7
shl ecx, 2
and cx, 0x3e0
and ax, 0x7c00
or eax, ecx
movzx ecx, byte [edx - 3]
shr cl, 3
movzx ecx, cl
or eax, ecx
or ax, 0x8000
mov word [ebx - 2], ax
cmp edx, esi
jne 0x64a85110
mov edx, dword [ebp + 0x20]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x20]
add edi, dword [ebp + 0x10]
add esi, edx
cmp dword [ebp + 0xc], eax
jne 0x64a85101
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], eax
xor edx, edx
nop
mov esi, dword [ebp - 0x58]
mov ecx, edx
mov eax, dword [ebp - 0x5c]
mov ebx, 1
shr ecx, 3
mov edi, dword [ebp + 0x1c]
add ecx, esi
mov esi, dword [ebp + 0x14]
movzx eax, byte [eax + edx*2 + 1]
add esi, ecx
mov ecx, edx
not ecx
mov dword [ebp - 0x40], esi
and ecx, 7
shl ebx, cl
not ebx
and bl, byte [esi]
test edi, edi
je 0x64a85282
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x38], esi
test esi, esi
je 0x64a85282
mov byte [ebp - 0x20], 0
movzx edi, al
xor esi, esi
mov dword [ebp - 0x28], 0x7fff
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x50], ecx
mov byte [ebp - 0x54], bl
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov ebx, edi
mov edx, dword [eax + esi*4 + 8]
movzx ecx, dl
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, edi
cmovb eax, ebx
movzx ebx, dh
sub ecx, ebx
mov dword [ebp - 0x30], ecx
mov ecx, ebx
sub ecx, edi
cmp ebx, edi
mov ebx, edx
cmovb ecx, dword [ebp - 0x30]
shr ebx, 0x10
add ecx, eax
movzx ebx, bl
mov eax, edi
sub eax, ebx
mov dword [ebp - 0x30], eax
mov eax, ebx
sub eax, edi
cmp ebx, edi
cmovb eax, dword [ebp - 0x30]
shr edx, 0x18
mov ebx, dword [ebp - 0x28]
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x20]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x20], dl
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x38], esi
jne 0x64a851f8
mov ecx, dword [ebp - 0x50]
mov eax, edx
movzx ebx, byte [ebp - 0x54]
mov edx, dword [ebp - 0x48]
shl eax, cl
or ebx, eax
mov eax, dword [ebp - 0x40]
add edx, 1
mov byte [eax], bl
cmp dword [ebp + 8], edx
jne 0x64a85190
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x60], 1
add dword [ebp - 0x5c], ebx
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x58], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8518d
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov dword [ebp - 0x68], 0
mov edx, dword [ebp + 0x24]
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], edx
lea esi, [esi]
lea esi, [esi]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x60]
mov ecx, esi
not esi
shr ecx, 3
movzx edx, byte [eax + 2]
movzx ebx, byte [eax + 1]
add ecx, edi
mov edi, esi
add ecx, dword [ebp + 0x14]
mov esi, 1
and edi, 7
mov dword [ebp - 0x58], ecx
movzx eax, byte [eax]
mov ecx, edi
shl esi, cl
mov ecx, esi
mov esi, dword [ebp - 0x58]
not ecx
and cl, byte [esi]
mov byte [ebp - 0x5c], cl
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x64a853ff
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a853ff
mov ecx, 0x7fff
mov dword [ebp - 0x48], eax
xor esi, esi
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x50], edx
lea esi, [esi]
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, edi
cmovl edx, esi
cmovge eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a85368
mov edi, dword [ebp - 0x64]
mov eax, edx
mov ecx, edi
shl eax, cl
or byte [ebp - 0x5c], al
movzx eax, byte [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
add dword [ebp - 0x54], 1
mov byte [esi], al
mov eax, dword [ebp - 0x54]
add dword [ebp - 0x60], 3
cmp dword [ebp + 8], eax
jne 0x64a852f0
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
mov ebx, dword [ebp + 0x10]
add edx, dword [ebp + 0x20]
add dword [ebp - 0x68], ebx
add eax, 1
cmp dword [ebp + 0xc], eax
jne 0x64a852d6
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor ecx, ecx
xor ebx, ebx
lea eax, [eax + esi*2]
xor esi, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x38], esi
add eax, esi
mov dword [ebp - 0x40], ecx
add edi, ecx
mov dword [ebp - 0x20], eax
lea esi, [esi]
movzx ebx, word [edi]
mov eax, ebx
mov edx, ebx
mov esi, ebx
shr ax, 7
shr dx, 0xc
and edx, 7
and eax, 0xfffffff8
shr si, 2
or eax, edx
movzx eax, al
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
add edx, 0x7f
mul edx
mov eax, ebx
shl ebx, 3
shr ax, 6
and eax, 7
shr edx, 7
mov ecx, edx
mov edx, esi
and esi, 7
and edx, 0xfffffff8
or ebx, esi
shl ecx, 0x10
or eax, edx
movzx ebx, bl
movzx eax, al
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
add edx, 0x7f
mul edx
mov eax, 0x80808081
shr edx, 7
shl edx, 8
or ecx, edx
mov edx, ebx
shl edx, 8
sub edx, ebx
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x20]
shr edx, 7
or ecx, edx
or ecx, 0xff000000
add eax, 4
add edi, 2
mov dword [eax - 4], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x28], edi
jne 0x64a85480
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x20]
add ebx, 1
add dword [ebp - 0x28], edx
add ecx, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], ebx
jne 0x64a85464
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
add eax, dword [ebp + 8]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x60], 0
add eax, 1
mov dword [ebp - 0x64], eax
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x68]
add edi, dword [ebp + 0x14]
lea esi, [esi]
mov esi, dword [ebp + 0x1c]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 2]
movzx ecx, byte [ebx]
test esi, esi
je 0x64a856b0
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a856b0
movzx esi, cl
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x48], esi
movzx esi, dl
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, edi
cmovl edx, esi
cmovge eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a855e0
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x30]
add ebx, 6
add edi, 1
mov byte [edi - 1], al
cmp dword [ebp - 0x5c], edi
jne 0x64a85590
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x60], 1
add dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x60]
add dword [ebp - 0x5c], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x64], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a85580
jmp 0x64a7dca0
mov byte [ebp - 0x30], 0
jmp 0x64a85671
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
xor edi, edi
mov ecx, dword [ebp + 0x24]
lea ebx, [eax + eax*2]
add ebx, esi
mov dword [ebp - 0x20], edi
mov eax, esi
mov edx, ecx
mov dword [ebp - 0x28], ecx
lea esi, [esi]
lea esi, [esi]
movzx edi, word [edx]
movzx ecx, byte [edx + 2]
add eax, 3
add edx, 4
mov byte [eax - 1], cl
mov word [eax - 3], di
cmp eax, ebx
jne 0x64a856f0
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
add esi, dword [ebp + 0x10]
add ecx, dword [ebp + 0x20]
add edi, 1
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edi
jne 0x64a856dc
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edi, edi
xor ecx, ecx
lea esi, [eax + esi*4]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov edx, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], eax
add ebx, edi
lea esi, [esi]
nop
movzx ecx, byte [edx + 2]
movzx edi, byte [edx + 1]
add edx, 4
add ebx, 2
movzx eax, byte [edx - 4]
shl ecx, 8
shl edi, 3
and di, 0x7e0
and cx, 0xf800
shr al, 3
or ecx, edi
movzx edi, al
or ecx, edi
mov word [ebx - 2], cx
cmp esi, edx
jne 0x64a85760
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add edi, dword [ebp + 0x10]
add ecx, 1
add eax, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a85747
jmp 0x64a7dca0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x58], eax
mov edi, dword [ebp - 0x68]
lea esi, [esi]
movzx edx, byte [edi + 2]
movzx ecx, byte [edi + 3]
movzx esi, byte [edi + 1]
movzx ebx, byte [edi]
mov byte [ebp - 0x28], dl
test cl, cl
je 0x64a85866
movzx eax, cl
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, 0x7f8000
idiv dword [ebp - 0x20]
movzx edx, byte [ebp - 0x28]
mov dword [ebp - 0x20], eax
cmp cl, dl
jb 0x64a85990
movzx eax, dl
mov edx, dword [ebp - 0x20]
imul eax, edx
shr eax, 0xf
mov byte [ebp - 0x28], al
mov eax, esi
mov esi, 0xffffffff
cmp cl, al
jb 0x64a85855
mov esi, dword [ebp - 0x20]
movzx eax, al
imul eax, esi
shr eax, 0xf
mov esi, eax
cmp cl, bl
jb 0x64a859a0
mov eax, dword [ebp - 0x20]
imul ebx, eax
shr ebx, 0xf
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x64a85980
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x64a85980
movzx eax, bl
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x48], eax
mov eax, esi
xor esi, esi
movzx eax, al
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x28]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x50], eax
movzx eax, cl
mov dword [ebp - 0x54], eax
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a858b0
mov edi, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x30]
add edi, 4
mov byte [esi], al
mov eax, dword [ebp - 0x60]
add esi, 1
mov dword [ebp - 0x58], esi
cmp edi, eax
jne 0x64a857f8
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x64], 1
add dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x60], ebx
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a857e6
jmp 0x64a7dca0
mov byte [ebp - 0x30], 0
jmp 0x64a8593e
mov byte [ebp - 0x28], 0xff
jmp 0x64a8583c
mov ebx, 0xffffffff
jmp 0x64a85866
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
lea ebx, [eax + esi*4]
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ecx, esi
lea esi, [esi]
nop
movzx edi, byte [edx + 4]
movzx eax, byte [edx + 2]
add ecx, 4
add edx, 6
shl edi, 0x10
shl eax, 8
or eax, edi
movzx edi, byte [edx - 6]
or eax, edi
mov dword [ecx - 4], eax
cmp ebx, ecx
jne 0x64a859e8
add dword [ebp - 0x20], 1
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edi
add esi, dword [ebp + 0x10]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a859db
jmp 0x64a7dca0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x24]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x40], 0
mov ebx, edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], edx
lea esi, [esi]
nop
movzx eax, byte [ebx + 1]
mov edi, dword [ebp - 0x5c]
movzx edx, byte [ebx + 2]
movzx ecx, byte [ebx]
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x40]
mov esi, eax
shr esi, 1
add edi, esi
test al, 1
movzx esi, byte [edi]
mov eax, esi
je 0x64a85ba0
and eax, 0xfffffff0
mov byte [ebp - 0x58], al
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x64a85b64
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x64a85b64
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x38], 0x7fff
xor esi, esi
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x20], eax
movzx eax, dl
xor edx, edx
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x64], edi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x54]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp ebx, eax
cmovg edx, esi
cmovle eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a85ad0
or byte [ebp - 0x58], dl
mov ebx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
movzx eax, byte [ebp - 0x58]
add dword [ebp - 0x40], 1
add ebx, 3
mov byte [edi], al
mov eax, dword [ebp - 0x40]
cmp dword [ebp + 8], eax
jne 0x64a85a60
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x10]
add edx, dword [ebp + 0x20]
add dword [ebp - 0x5c], ebx
add eax, 1
cmp dword [ebp + 0xc], eax
jne 0x64a85a49
jmp 0x64a7dca0
and eax, 0xf
mov byte [ebp - 0x58], al
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x64a85b64
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x64a85b64
movzx eax, cl
mov ecx, 0x7fff
mov byte [ebp - 0x30], 0
xor esi, esi
mov dword [ebp - 0x50], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x64], edi
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x50]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x54]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a85be0
mov eax, edx
mov ebx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
shl eax, 4
or byte [ebp - 0x58], al
jmp 0x64a85b64
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
xor ecx, ecx
xor edi, edi
lea eax, [eax + eax*2]
add eax, ebx
mov dword [ebp - 0x20], eax
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x28], edi
mov edx, ebx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], ebx
add esi, ecx
lea esi, [esi]
lea esi, [esi]
movzx eax, word [esi]
add edx, 3
add esi, 2
mov ecx, eax
mov edi, eax
mov ebx, eax
shr cx, 7
shr di, 0xc
and edi, 7
and ecx, 0xfffffff8
shr bx, 2
or ecx, edi
mov edi, ebx
and ebx, 7
mov byte [edx - 1], cl
mov ecx, eax
and edi, 0xfffffff8
shl eax, 3
shr cx, 6
or eax, ebx
and ecx, 7
mov byte [edx - 3], al
or ecx, edi
mov byte [edx - 2], cl
cmp dword [ebp - 0x20], edx
jne 0x64a85cc0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp + 0x10]
add edi, 1
add dword [ebp - 0x20], esi
add ebx, dword [ebp + 0x10]
add ecx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], edi
jne 0x64a85ca6
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], eax
xor eax, eax
lea esi, [esi]
nop
mov edx, dword [ebp - 0x6c]
mov ecx, eax
shr ecx, 3
movzx ebx, byte [edx + eax*8 + 5]
movzx esi, byte [edx + eax*8 + 3]
movzx edi, byte [edx + eax*8 + 1]
movzx edx, byte [edx + eax*8 + 7]
mov byte [ebp - 0x28], bl
mov ebx, dword [ebp - 0x68]
mov byte [ebp - 0x30], dl
add ecx, ebx
add ecx, dword [ebp + 0x14]
mov ebx, 1
mov dword [ebp - 0x58], ecx
mov ecx, eax
mov edx, dword [ebp - 0x58]
not ecx
and ecx, 7
shl ebx, cl
mov dword [ebp - 0x60], ecx
mov ecx, ebx
not ecx
and cl, byte [edx]
mov edx, dword [ebp + 0x1c]
mov byte [ebp - 0x5c], cl
test edx, edx
je 0x64a85e91
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x40], ebx
test ebx, ebx
je 0x64a85e91
mov ecx, edi
movzx edi, byte [ebp - 0x30]
mov edx, 0x7fff
mov byte [ebp - 0x30], 0
movzx ebx, cl
mov dword [ebp - 0x64], eax
mov ecx, esi
mov dword [ebp - 0x48], ebx
movzx ebx, byte [ebp - 0x28]
movzx esi, cl
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a85df8
movzx ecx, byte [ebp - 0x60]
mov edx, eax
mov eax, dword [ebp - 0x64]
shl edx, cl
or byte [ebp - 0x5c], dl
mov esi, dword [ebp - 0x58]
movzx ebx, byte [ebp - 0x5c]
add eax, 1
mov byte [esi], bl
cmp dword [ebp + 8], eax
jne 0x64a85d60
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x70], 1
add dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a85d55
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ebx, ebx
xor ecx, ecx
lea eax, [eax + esi*2]
mov dword [ebp - 0x20], eax
xor eax, eax
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x38], ecx
add esi, ecx
add edi, ebx
lea esi, [esi]
movzx ebx, word [esi]
mov eax, ebx
mov edx, ebx
shr ax, 3
shr dx, 9
and edx, 3
and eax, 0xfffffffc
or eax, edx
movzx eax, al
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
add edx, 0x7f
mul edx
mov eax, ebx
shr ax, 8
and eax, 0xfffffff8
shr edx, 7
mov ecx, edx
mov edx, ebx
shr dx, 0xd
shl ecx, 8
or eax, edx
movzx eax, al
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
add edx, 0x7f
mul edx
mov eax, ebx
shl ebx, 3
shr ax, 2
and eax, 7
shr edx, 7
or eax, ebx
shl edx, 0x10
movzx eax, al
or ecx, edx
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, 0x80808081
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x20]
shr edx, 7
or ecx, edx
or ecx, 0xff000000
add esi, 2
add edi, 4
mov dword [edi - 4], ecx
cmp esi, eax
jne 0x64a85f08
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x20]
add eax, 1
add dword [ebp - 0x20], edx
add ecx, dword [ebp + 0x20]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a85eef
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
xor edi, edi
lea esi, [eax + eax*2]
xor eax, eax
add esi, ecx
mov ebx, dword [ebp + 0x24]
mov dword [ebp - 0x20], eax
mov edx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x30], edi
add ebx, edi
lea esi, [esi]
movzx eax, word [ebx]
add edx, 3
add ebx, 2
mov ecx, eax
mov edi, eax
shr cx, 8
shr di, 0xd
and ecx, 0xfffffff8
or ecx, edi
mov edi, eax
mov byte [edx - 1], cl
mov ecx, eax
shr di, 9
shr cx, 3
and edi, 3
and ecx, 0xfffffffc
or ecx, edi
mov byte [edx - 2], cl
mov ecx, eax
shl eax, 3
shr cx, 2
and ecx, 7
or ecx, eax
mov byte [edx - 3], cl
cmp edx, esi
jne 0x64a86008
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
add ecx, dword [ebp + 0x10]
add eax, 1
add edi, dword [ebp + 0x20]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a85ff4
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov edi, 1
mov dword [ebp - 0x28], 0
lea esi, [esi + esi*2]
mov dword [ebp - 0x30], eax
add esi, eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add ebx, edi
lea esi, [esi]
nop
movzx ecx, byte [ebx]
movzx edx, word [ebp - 0x20]
add eax, 3
add ebx, 2
mov dl, cl
mov byte [eax - 1], cl
mov dh, cl
mov word [eax - 3], dx
cmp esi, eax
jne 0x64a860b8
mov edx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
add edi, dword [ebp + 0x20]
add esi, edx
cmp dword [ebp + 0xc], eax
jne 0x64a860ab
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x20], 0
lea edi, [eax + esi*2]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add esi, dword [ebp + 0x24]
add ecx, dword [ebp + 0x14]
movzx edx, byte [esi]
add ecx, 2
add esi, 2
mov ebx, edx
lea eax, [edx*8]
shr dl, 3
shl ebx, 8
and ax, 0x7e0
movzx edx, dl
and bx, 0xf800
or eax, ebx
or eax, edx
mov word [ecx - 2], ax
cmp edi, ecx
jne 0x64a86130
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x20]
add edi, ebx
cmp dword [ebp + 0xc], eax
jne 0x64a86124
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], 0
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x6c]
mov edx, esi
movzx eax, word [eax + esi*2]
not esi
shr edx, 3
add edx, ebx
add edx, dword [ebp + 0x14]
mov edi, edx
mov edx, esi
and edx, 7
mov esi, edx
mov dword [ebp - 0x60], edx
mov edx, 1
mov ecx, esi
shl edx, cl
not edx
and dl, byte [edi]
mov byte [ebp - 0x5c], dl
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x64a86306
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a86306
mov ecx, eax
lea edx, [eax*8]
mov byte [ebp - 0x30], 0
shr cx, 2
mov dword [ebp - 0x64], edi
mov ebx, ecx
and ecx, 0xfffffff8
and ebx, 7
or edx, ebx
mov ebx, 0x7fff
movzx esi, dl
mov edx, eax
mov dword [ebp - 0x38], ebx
shr dx, 6
mov dword [ebp - 0x48], esi
and edx, 7
or edx, ecx
mov ecx, eax
movzx esi, dl
mov edx, eax
shr cx, 0xc
shr dx, 7
sar ax, 0xf
and ecx, 7
mov dword [ebp - 0x20], esi
and edx, 0xfffffff8
movzx eax, al
or edx, ecx
mov dword [ebp - 0x54], eax
movzx esi, dl
mov dword [ebp - 0x50], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, 0xff
cmovb eax, edi
mov edi, dword [ebp - 0x54]
shr edx, 0x18
add eax, ecx
mov ecx, edx
sub ebx, edx
sub ecx, edi
cmp edx, edi
mov edi, dword [ebp - 0x38]
movzx edx, byte [ebp - 0x30]
cmovb ecx, ebx
add eax, ecx
cmp eax, edi
cmovge eax, edi
cmovl edx, esi
add esi, 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x30], dl
cmp esi, eax
jne 0x64a86268
movzx ecx, byte [ebp - 0x60]
mov eax, edx
mov edi, dword [ebp - 0x64]
shl eax, cl
or byte [ebp - 0x5c], al
movzx eax, byte [ebp - 0x5c]
add dword [ebp - 0x58], 1
mov byte [edi], al
mov eax, dword [ebp - 0x58]
cmp dword [ebp + 8], eax
jne 0x64a861b0
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x70], 1
add dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x6c], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a861a9
jmp 0x64a7dca0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x6c], eax
lea esi, [esi]
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x64]
mov edx, esi
movzx eax, word [eax + esi*2]
not esi
shr edx, 3
add edx, ebx
add edx, dword [ebp + 0x14]
mov edi, edx
mov edx, esi
and edx, 7
mov esi, edx
mov dword [ebp - 0x5c], edx
mov edx, 1
mov ecx, esi
mov esi, dword [ebp + 0x1c]
shl edx, cl
not edx
and dl, byte [edi]
mov byte [ebp - 0x58], dl
test esi, esi
je 0x64a864b9
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a864b9
mov ecx, eax
lea edx, [eax*8]
mov byte [ebp - 0x30], 0
shr cx, 2
mov dword [ebp - 0x60], edi
mov ebx, ecx
and ecx, 0xfffffff8
and ebx, 7
or edx, ebx
mov ebx, 0x7fff
movzx esi, dl
mov edx, eax
mov dword [ebp - 0x38], ebx
shr dx, 6
mov dword [ebp - 0x48], esi
and edx, 7
or edx, ecx
movzx esi, dl
mov edx, eax
shr ax, 0xc
shr dx, 7
and eax, 7
mov dword [ebp - 0x20], esi
xor esi, esi
and edx, 0xfffffff8
or edx, eax
movzx eax, dl
mov dword [ebp - 0x50], eax
lea esi, [esi]
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb ecx, edi
shr edx, 0x10
movzx ebx, dl
mov edx, dword [ebp - 0x50]
add ecx, eax
mov eax, ebx
mov edi, edx
sub eax, edx
sub edi, ebx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, edi
cmovl edx, esi
cmovge eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a86420
movzx ecx, byte [ebp - 0x5c]
mov eax, edx
mov edi, dword [ebp - 0x60]
shl eax, cl
or byte [ebp - 0x58], al
movzx eax, byte [ebp - 0x58]
add dword [ebp - 0x54], 1
mov byte [edi], al
mov eax, dword [ebp - 0x54]
cmp dword [ebp + 8], eax
jne 0x64a86370
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x68], ebx
mov ebx, dword [ebp + 0x10]
add eax, 1
add dword [ebp - 0x64], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a86362
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0
lea eax, [eax + esi*2]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
mov edi, dword [ebp - 0x40]
add edi, dword [ebp + 0x24]
lea esi, [esi]
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov esi, ecx
mov edx, ecx
shr ax, 2
sar si, 0xf
mov word [ebp - 0x20], ax
mov eax, esi
shr dx, 7
movzx esi, al
mov eax, ecx
and edx, 0xfffffff8
shr ax, 0xc
and eax, 7
or edx, eax
mov eax, 0x80808081
movzx edx, dl
imul edx, esi
add edx, 0x7f
mul edx
movzx eax, byte [ebp - 0x20]
and eax, 7
shr edx, 7
mov ebx, edx
lea edx, [ecx*8]
or edx, eax
mov eax, 0x80808081
shl ebx, 0x10
movzx edx, dl
imul edx, esi
add edx, 0x7f
mul edx
mov eax, esi
shl eax, 0x18
shr edx, 7
or edx, eax
movzx eax, byte [ebp - 0x20]
or ebx, edx
mov edx, ecx
shr dx, 6
and eax, 0xfffffff8
and edx, 7
or edx, eax
mov eax, 0x80808081
movzx edx, dl
imul edx, esi
add edx, 0x7f
mul edx
mov eax, dword [ebp - 0x28]
shr edx, 7
shl edx, 8
or ebx, edx
add eax, 4
mov dword [eax - 4], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
cmp edi, eax
jne 0x64a86538
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x38], 1
add dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x48], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a86526
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor edi, edi
xor edx, edx
lea ebx, [eax + esi*2]
xor esi, esi
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], edx
add eax, esi
add ecx, edi
lea esi, [esi]
movzx edx, word [eax]
add eax, 2
add ecx, 2
or dx, 0x8000
mov word [ecx - 2], dx
cmp ebx, eax
jne 0x64a86648
mov edx, dword [ebp - 0x20]
add esi, dword [ebp + 0x20]
add edi, dword [ebp + 0x10]
add ebx, dword [ebp + 0x20]
add edx, 1
cmp dword [ebp + 0xc], edx
jne 0x64a86638
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
xor ebx, ebx
xor edx, edx
lea eax, [eax + esi*2]
mov dword [ebp - 0x28], eax
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], ebx
add esi, ebx
add edi, ecx
lea esi, [esi]
movzx edx, word [esi]
add edi, 4
add esi, 2
mov ecx, edx
mov eax, edx
mov ebx, edx
shr cx, 7
shr ax, 0xc
and eax, 7
and ecx, 0xfffffff8
shr bx, 2
or ecx, eax
mov eax, edx
shl edx, 3
shr ax, 6
movzx ecx, cl
and eax, 7
shl ecx, 0x10
mov byte [ebp - 0x20], al
mov eax, ebx
and ebx, 7
and eax, 0xfffffff8
or al, byte [ebp - 0x20]
or edx, ebx
movzx eax, al
movzx edx, dl
shl eax, 8
or eax, ecx
or eax, edx
or eax, 0xff000000
mov dword [edi - 4], eax
cmp dword [ebp - 0x28], esi
jne 0x64a866b8
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp + 0x20]
add edx, 1
add dword [ebp - 0x28], esi
add ebx, dword [ebp + 0x20]
add ecx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edx
jne 0x64a8669f
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x24]
lea eax, [eax + esi*2]
mov dword [ebp - 0x30], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x48]
add edi, dword [ebp + 0x24]
lea esi, [esi]
nop
movzx edx, word [edi]
add edi, 2
add ecx, 6
mov ebx, edx
mov eax, edx
mov esi, edx
shr bx, 7
shr ax, 0xc
and eax, 7
and ebx, 0xfffffff8
shr si, 6
or ebx, eax
mov eax, edx
shl edx, 3
shr ax, 2
mov word [ebp - 0x28], ax
mov eax, esi
movzx esi, byte [ebp - 0x28]
and eax, 7
and esi, 0xfffffff8
or esi, eax
movzx eax, byte [ebp - 0x28]
and eax, 7
or eax, edx
movzx edx, word [ebp - 0x20]
mov byte [ecx - 6], al
mov dl, bl
mov byte [ecx - 5], al
mov eax, dword [ebp - 0x30]
mov dh, bl
mov ebx, esi
mov word [ecx - 2], dx
mov byte [ecx - 4], bl
mov byte [ecx - 3], bl
cmp edi, eax
jne 0x64a86790
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x38], 1
add dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x48], ebx
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8677e
jmp 0x64a7dca0
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
mov edi, dword [ebp + 0x1c]
xor edx, edx
lea esi, [esi]
nop
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + edx*2]
mov ebx, ecx
mov eax, ecx
mov esi, ecx
shr bx, 7
shr ax, 0xc
and eax, 7
and ebx, 0xfffffff8
shr si, 6
or ebx, eax
mov eax, esi
mov byte [ebp - 0x28], bl
mov ebx, ecx
and eax, 7
shl ecx, 3
shr bx, 2
mov esi, ebx
and ebx, 7
and esi, 0xfffffff8
or ecx, ebx
mov ebx, edx
or eax, esi
mov esi, dword [ebp - 0x5c]
shr ebx, 1
add esi, ebx
mov dword [ebp - 0x58], esi
movzx ebx, byte [esi]
test dl, 1
je 0x64a869c0
and ebx, 0xfffffff0
test edi, edi
je 0x64a86988
mov esi, dword [edi + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a86988
movzx esi, al
movzx eax, byte [ebp - 0x28]
movzx ecx, cl
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x7fff
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x64], bl
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x20], esi
xor esi, esi
lea esi, [esi]
nop
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x54]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a868f0
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x40]
movzx ebx, byte [ebp - 0x64]
or bl, byte [ebp - 0x30]
mov eax, dword [ebp - 0x58]
add edx, 1
mov byte [eax], bl
cmp dword [ebp + 8], edx
jne 0x64a86850
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x60], ebx
mov ebx, dword [ebp + 0x10]
add eax, 1
add dword [ebp - 0x5c], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a86840
jmp 0x64a7dca0
and ebx, 0xf
test edi, edi
je 0x64a86988
mov esi, dword [edi + 4]
mov dword [ebp - 0x48], esi
test esi, esi
je 0x64a86988
movzx eax, al
movzx esi, cl
mov ecx, 0x7fff
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x28]
mov byte [ebp - 0x64], bl
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x50], esi
xor esi, esi
lea esi, [esi]
nop
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x54]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
cmovb eax, edi
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], esi
jne 0x64a86a00
mov eax, edx
movzx ebx, byte [ebp - 0x64]
mov edx, dword [ebp - 0x68]
shl eax, 4
mov edi, dword [ebp - 0x40]
or ebx, eax
jmp 0x64a86988
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor edx, edx
mov esi, dword [ebp + 0x14]
lea eax, [eax + ebx*2]
xor ebx, ebx
mov dword [ebp - 0x30], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0x38], ebx
mov ecx, esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x48], esi
add edi, edx
lea esi, [esi]
movzx edx, word [edi]
add ecx, 6
add edi, 2
mov ebx, edx
mov eax, edx
mov esi, edx
shr bx, 7
shr ax, 0xc
and eax, 7
and ebx, 0xfffffff8
shr si, 6
or ebx, eax
mov eax, edx
shl edx, 3
shr ax, 2
mov word [ebp - 0x28], ax
mov eax, esi
movzx esi, byte [ebp - 0x28]
and eax, 7
and esi, 0xfffffff8
or esi, eax
movzx eax, byte [ebp - 0x28]
and eax, 7
or eax, edx
movzx edx, word [ebp - 0x20]
mov byte [ecx - 6], al
mov dl, bl
mov byte [ecx - 5], al
mov dh, bl
mov ebx, esi
mov word [ecx - 2], dx
mov byte [ecx - 4], bl
mov byte [ecx - 3], bl
cmp dword [ebp - 0x30], edi
jne 0x64a86ae8
mov ebx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp + 0x20]
add ebx, 1
add dword [ebp - 0x30], edi
add esi, dword [ebp + 0x10]
add edx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ebx
jne 0x64a86ad5
jmp 0x64a7dca0
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x64a7dca0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], eax
lea ebx, [esi + esi*2]
xor esi, esi
add ebx, eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ecx, esi
lea esi, [esi]
movzx edi, byte [edx + 2]
movzx eax, byte [edx + 1]
add edx, 3
add ecx, 4
shl edi, 0x10
shl eax, 8
or eax, edi
movzx edi, byte [edx - 3]
or eax, edi
or eax, 0xff000000
mov dword [ecx - 4], eax
cmp edx, ebx
jne 0x64a86bb0
mov edi, dword [ebp + 0x20]
add dword [ebp - 0x20], 1
add dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
add esi, dword [ebp + 0x10]
add ebx, edi
cmp dword [ebp + 0xc], eax
jne 0x64a86ba1
jmp 0x64a7dca0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
lea ebx, [eax + esi*2]
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x28]
add ecx, esi
lea esi, [esi]
movzx edi, byte [edx + 4]
movzx eax, byte [edx + 2]
add ecx, 2
add edx, 6
add eax, edi
movzx edi, byte [edx - 6]
add eax, edi
lea eax, [eax + eax*4]
mov edi, eax
shl edi, 4
add eax, edi
mov word [ecx - 2], ax
cmp ebx, ecx
jne 0x64a86c30
add dword [ebp - 0x20], 1
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edi
add esi, dword [ebp + 0x10]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a86c25
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
xor edi, edi
xor edx, edx
lea eax, [eax + esi*2]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], edi
add ebx, edi
add esi, ecx
movzx ecx, word [ebx]
add esi, 4
add ebx, 2
mov edx, ecx
mov eax, ecx
mov edi, ecx
shr dx, 3
shr ax, 9
and eax, 3
and edx, 0xfffffffc
shr di, 0xd
or edx, eax
mov eax, ecx
shr ax, 8
movzx edx, dl
and eax, 0xfffffff8
shl edx, 8
or eax, edi
movzx eax, al
shl eax, 0x10
or eax, edx
mov edx, ecx
shl ecx, 3
shr dx, 2
and edx, 7
or edx, ecx
movzx edx, dl
or eax, edx
or eax, 0xff000000
mov dword [esi - 4], eax
cmp dword [ebp - 0x20], ebx
jne 0x64a86cb0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp + 0x20]
add edx, 1
add dword [ebp - 0x20], esi
add edi, dword [ebp + 0x20]
add ecx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edx
jne 0x64a86c9d
jmp 0x64a7dca0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x48], esi
lea eax, [eax + eax*2]
add eax, esi
mov dword [ebp - 0x30], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
lea esi, [esi]
nop
movzx ecx, byte [edx]
movzx edi, byte [edx + 2]
add edx, 3
add eax, 6
movzx esi, byte [edx - 2]
mov byte [eax - 5], cl
movzx ecx, word [ebp - 0x20]
mov ebx, edi
mov word [ebp - 0x28], di
mov cl, bl
mov ebx, esi
mov ch, byte [ebp - 0x28]
mov esi, dword [ebp - 0x30]
mov byte [eax - 4], bl
mov byte [eax - 3], bl
movzx ebx, byte [eax - 5]
mov word [eax - 2], cx
mov byte [eax - 6], bl
cmp edx, esi
jne 0x64a86d80
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x38], 1
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a86d71
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 1
xor edi, edi
mov dword [ebp - 0x20], 0
lea esi, [eax + esi*4]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp + 0x24]
add edx, edi
lea esi, [esi]
movzx ebx, byte [ecx]
add edx, 4
add ecx, 2
imul eax, ebx, 0x10100
or eax, ebx
or eax, 0xff000000
mov dword [edx - 4], eax
cmp esi, edx
jne 0x64a86e20
add dword [ebp - 0x20], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edx
add edi, dword [ebp + 0x10]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a86e0f
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
xor ebx, ebx
mov edi, dword [ebp + 0x14]
lea eax, [eax + esi*2]
mov dword [ebp - 0x30], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x38], ebx
mov edx, edi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x48], edi
add esi, ecx
nop
movzx eax, word [esi]
add esi, 2
add edx, 6
mov ebx, eax
mov ecx, eax
mov edi, eax
shr bx, 8
shr cx, 0xd
and ebx, 0xfffffff8
shr di, 9
or ebx, ecx
mov ecx, eax
and edi, 3
shr cx, 3
and ecx, 0xfffffffc
or ecx, edi
mov edi, eax
shl eax, 3
shr di, 2
mov byte [edx - 4], cl
and edi, 7
mov byte [edx - 3], cl
or eax, edi
movzx edi, word [ebp - 0x20]
mov byte [ebp - 0x28], al
mov eax, edi
mov al, bl
mov edi, eax
mov eax, edi
mov ah, bl
mov word [edx - 2], ax
movzx eax, byte [ebp - 0x28]
mov byte [edx - 6], al
mov byte [edx - 5], al
mov eax, dword [ebp - 0x30]
cmp esi, eax
jne 0x64a86ea0
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0x20]
add ebx, 1
add dword [ebp - 0x30], esi
add edi, dword [ebp + 0x10]
add ecx, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ebx
jne 0x64a86e8e
jmp 0x64a7dca0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], 0
lea eax, [eax + esi*2]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x40]
add esi, dword [ebp + 0x24]
lea esi, [esi]
movzx eax, word [esi]
add esi, 2
mov ebx, eax
mov edx, eax
shr bx, 2
sar dx, 0xf
mov edi, ebx
mov ecx, edx
lea edx, [eax*8]
and ebx, 0xfffffff8
and edi, 7
shl ecx, 0x18
or edx, edi
mov edi, eax
movzx edx, dl
shr di, 0xc
or ecx, edx
mov edx, eax
and edi, 7
shr ax, 6
shr dx, 7
and eax, 7
and edx, 0xfffffff8
or eax, ebx
or edx, edi
movzx eax, al
movzx edx, dl
shl eax, 8
shl edx, 0x10
or edx, ecx
or edx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], edx
add eax, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
cmp esi, eax
jne 0x64a86f78
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], 1
add dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x38], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a86f65
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
xor edi, edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x24]
lea esi, [eax + esi*2]
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x30]
add ecx, edi
lea esi, [esi]
movzx edx, byte [ecx + 1]
movzx ebx, word [ebp - 0x20]
add ecx, 2
add eax, 6
mov bl, dl
mov byte [eax - 4], dl
mov bh, dl
mov byte [eax - 3], dl
mov word [eax - 2], bx
mov byte [eax - 6], dl
mov byte [eax - 5], dl
cmp esi, ecx
jne 0x64a87050
add dword [ebp - 0x28], 1
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], edx
add edi, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], eax
jne 0x64a87044
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov dword [ebp - 0x58], 1
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x5c], 0
add ebx, dword [ebp + 8]
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
add ecx, dword [ebp + 0x24]
add edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x1c]
movzx eax, byte [ecx]
test esi, esi
je 0x64a871d0
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x38], esi
test esi, esi
je 0x64a871d0
mov byte [ebp - 0x20], 0
movzx edi, al
xor esi, esi
mov dword [ebp - 0x28], 0x7fff
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x50], ecx
lea esi, [esi]
nop
mov eax, dword [ebp + 0x1c]
mov ebx, edi
mov edx, dword [eax + esi*4 + 8]
movzx ecx, dl
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, edi
cmovb eax, ebx
movzx ebx, dh
sub ecx, ebx
mov dword [ebp - 0x30], ecx
mov ecx, ebx
sub ecx, edi
cmp ebx, edi
mov ebx, edx
cmovb ecx, dword [ebp - 0x30]
shr ebx, 0x10
add ecx, eax
movzx ebx, bl
mov eax, edi
sub eax, ebx
mov dword [ebp - 0x30], eax
mov eax, ebx
sub eax, edi
cmp ebx, edi
cmovb eax, dword [ebp - 0x30]
shr edx, 0x18
mov ebx, dword [ebp - 0x28]
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x20]
cmovne eax, ecx
cmp eax, ebx
cmovl edx, esi
cmovge eax, ebx
add esi, 1
mov byte [ebp - 0x20], dl
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x38], esi
jne 0x64a87110
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
movzx eax, byte [ebp - 0x20]
add edx, 1
add ecx, 2
mov byte [edx - 1], al
cmp ebx, edx
jne 0x64a870d0
mov edx, dword [ebp + 0x10]
add dword [ebp - 0x54], 1
add dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x54]
add ebx, edx
mov edx, dword [ebp + 0x20]
add dword [ebp - 0x58], edx
cmp dword [ebp + 0xc], eax
jne 0x64a870c4
jmp 0x64a7dca0
mov byte [ebp - 0x20], 0
jmp 0x64a87193
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
xor edx, edx
mov esi, dword [ebp - 0x64]
mov ecx, edx
shr ecx, 3
movzx ebx, byte [esi + edx*4 + 2]
movzx eax, byte [esi + edx*4 + 1]
movzx edi, byte [esi + edx*4]
mov esi, dword [ebp - 0x68]
add ecx, esi
add ecx, dword [ebp + 0x14]
mov esi, 1
mov dword [ebp - 0x54], ecx
mov ecx, edx
not ecx
and ecx, 7
shl esi, cl
mov dword [ebp - 0x5c], ecx
mov ecx, esi
mov esi, dword [ebp - 0x54]
not ecx
and cl, byte [esi]
mov byte [ebp - 0x58], cl
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x64a8731b
mov esi, dword [ebp + 0x1c]
mov esi, dword [esi + 4]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x64a8731b
mov ecx, edi
movzx edi, bl
xor ebx, ebx
mov dword [ebp - 0x20], eax
movzx esi, cl
mov ecx, 0x7fff
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x30], bl
mov dword [ebp - 0x48], esi
xor esi, esi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov edx, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, dl
mov dword [ebp - 0x28], edx
mov eax, ecx
sub ebx, ecx
sub eax, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb eax, ebx
movzx ebx, dh
mov edx, ebx
mov edi, ecx
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
cmp ebx, edx
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
cmovb ecx, edi
shr ebx, 0x10
mov edi, edx
movzx ebx, bl
add ecx, eax
mov eax, ebx
sub edi, ebx
sub eax, edx
cmp ebx, edx
mov edx, dword [ebp - 0x28]
cmovb eax, edi
mov edi, dword [ebp - 0x38]
shr edx, 0x18
add eax, ecx
mov ecx, 0xff
sub ecx, edx
add ecx, eax
cmp edx, 0xff
movzx edx, byte [ebp - 0x30]
cmovne eax, ecx
cmp eax, edi
cmovl edx, esi
cmovge eax, edi
add esi, 1
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x40], esi
jne 0x64a87280
mov ebx, edx
movzx ecx, byte [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
mov eax, ebx
shl eax, cl
or byte [ebp - 0x58], al
mov esi, dword [ebp - 0x54]
movzx eax, byte [ebp - 0x58]
add edx, 1
mov byte [esi], al
cmp dword [ebp + 8], edx
jne 0x64a87200
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x64], ebx
mov ebx, dword [ebp + 0x10]
add eax, 1
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a871fb
jmp 0x64a7dca0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x64a7dca0
mov edx, dword [ebp + 8]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x24]
xor edx, edx
mov esi, dword [ebp + 0x14]
lea edi, [ebx + eax*4]
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov dword [ebp - 0x38], edx
mov eax, esi
mov ecx, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], esi
lea esi, [esi]
movzx edx, byte [ecx]
movzx esi, byte [ecx + 2]
add ecx, 4
add eax, 6
movzx ebx, byte [ecx - 3]
mov byte [eax - 5], dl
movzx edx, word [ebp - 0x20]
mov byte [ebp - 0x28], bl
mov ebx, esi
mov dl, bl
movzx ebx, byte [ebp - 0x28]
mov word [ebp - 0x30], si
mov dh, byte [ebp - 0x30]
mov byte [eax - 4], bl
mov byte [eax - 3], bl
movzx ebx, byte [eax - 5]
mov word [eax - 2], dx
mov byte [eax - 6], bl
cmp ecx, edi
jne 0x64a87390
mov edx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x48]
add ebx, dword [ebp + 0x20]
add edx, 1
add esi, dword [ebp + 0x10]
add edi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], edx
jne 0x64a8737f
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
xor edi, edi
xor ecx, ecx
lea esi, [eax + esi*4]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov edx, eax
mov dword [ebp - 0x28], eax
add ebx, edi
nop
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 1]
add edx, 4
add ebx, 2
shl eax, 7
shl ecx, 2
and cx, 0x3e0
and ax, 0x7c00
or eax, ecx
movzx ecx, byte [edx - 4]
shr cl, 3
movzx ecx, cl
or eax, ecx
or ax, 0x8000
mov word [ebx - 2], ax
cmp esi, edx
jne 0x64a87420
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
add edi, dword [ebp + 0x10]
add eax, dword [ebp + 0x20]
add ecx, 1
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a87411
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
xor esi, esi
add eax, 1
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
lea ebx, [eax + eax*2]
lea eax, [ebx + edi]
mov dword [ebp - 0x28], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x30]
mov edx, edi
lea esi, [esi]
nop
movzx ebx, byte [eax + 4]
movzx ecx, word [ebp - 0x20]
add eax, 6
add edx, 3
mov cl, byte [eax - 6]
mov ch, byte [eax - 4]
mov byte [edx - 1], bl
mov word [edx - 3], cx
cmp dword [ebp - 0x28], edx
jne 0x64a874b8
mov ebx, dword [ebp + 0x20]
add esi, 1
add dword [ebp - 0x30], ebx
add edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], esi
jne 0x64a874ae
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
xor edi, edi
xor ecx, ecx
lea esi, [esi + esi*2]
add esi, eax
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ecx
mov edx, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], eax
add ebx, edi
lea esi, [esi]
movzx ecx, byte [edx + 2]
movzx edi, byte [edx + 1]
add edx, 3
add ebx, 2
movzx eax, byte [edx - 3]
shl ecx, 8
shl edi, 3
and di, 0x7e0
and cx, 0xf800
shr al, 3
or ecx, edi
movzx edi, al
or ecx, edi
mov word [ebx - 2], cx
cmp esi, edx
jne 0x64a87530
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add edi, dword [ebp + 0x10]
add ecx, 1
add eax, dword [ebp + 0x20]
add esi, dword [ebp + 0x20]
cmp dword [ebp + 0xc], ecx
jne 0x64a87519
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
lea eax, [eax + esi*2]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x40]
add esi, dword [ebp + 0x24]
add edi, dword [ebp + 0x14]
lea esi, [esi]
lea esi, [esi]
movzx edx, word [esi]
add esi, 2
add edi, 4
mov ecx, edx
mov eax, edx
mov ebx, edx
shr cx, 7
shr ax, 0xc
and eax, 7
and ecx, 0xfffffff8
shr bx, 2
or ecx, eax
mov eax, edx
shl edx, 3
shr ax, 6
movzx ecx, cl
and eax, 7
shl ecx, 0x10
mov byte [ebp - 0x20], al
mov eax, ebx
and ebx, 7
and eax, 0xfffffff8
or al, byte [ebp - 0x20]
or edx, ebx
movzx eax, al
movzx edx, dl
shl eax, 8
or eax, ecx
or eax, edx
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x28]
cmp esi, eax
jne 0x64a875d0
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a875ba
jmp 0x64a7dca0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], esi
mov esi, dword [ebp + 8]
add eax, 1
mov dword [ebp - 0x48], eax
lea eax, [eax + esi*8]
mov dword [ebp - 0x30], eax
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
lea esi, [esi]
movzx ecx, byte [edx]
movzx edi, byte [edx + 4]
add eax, 6
add edx, 8
movzx esi, byte [edx - 6]
mov byte [eax - 5], cl
movzx ecx, word [ebp - 0x20]
mov ebx, edi
mov word [ebp - 0x28], di
mov cl, bl
mov ebx, esi
mov ch, byte [ebp - 0x28]
mov byte [eax - 4], bl
mov byte [eax - 3], bl
movzx ebx, byte [eax - 5]
mov word [eax - 2], cx
mov byte [eax - 6], bl
cmp dword [ebp - 0x30], edx
jne 0x64a876a0
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x38], 1
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87693
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov edi, dword [ebp + 8]
test edi, edi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
xor edi, edi
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
lea esi, [eax + esi*2]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x28]
add ebx, edi
lea esi, [esi]
nop
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 2]
add ebx, 2
add ecx, 6
shl eax, 8
shl edx, 3
and dx, 0x7e0
and ax, 0xf800
or eax, edx
movzx edx, byte [ecx - 6]
shr dl, 3
movzx edx, dl
or eax, edx
mov word [ebx - 2], ax
cmp esi, ebx
jne 0x64a87740
add dword [ebp - 0x20], 1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], edx
add edi, dword [ebp + 0x10]
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a8772f
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
lea eax, [eax + eax*2]
mov dword [ebp - 0x30], esi
add eax, esi
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
add esi, dword [ebp + 0x24]
nop
movzx eax, word [esi]
add edx, 3
add esi, 2
mov ecx, eax
mov edi, eax
mov ebx, eax
shr cx, 7
shr di, 0xc
and edi, 7
and ecx, 0xfffffff8
shr bx, 2
or ecx, edi
mov edi, ebx
and ebx, 7
mov byte [edx - 1], cl
mov ecx, eax
shl eax, 3
and edi, 0xfffffff8
shr cx, 6
or eax, ebx
and ecx, 7
mov byte [edx - 3], al
mov eax, dword [ebp - 0x20]
or ecx, edi
mov byte [edx - 2], cl
cmp edx, eax
jne 0x64a877d0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x38], ebx
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x20], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a877c5
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
lea eax, [eax + esi*2]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x38]
add ebx, dword [ebp + 0x24]
add edi, dword [ebp + 0x14]
lea esi, [esi]
movzx edx, word [ebx]
add ebx, 2
add edi, 2
mov esi, edx
mov eax, edx
mov ecx, edx
and edx, 0x1f
shr si, 2
shr ax, 6
and eax, 7
and esi, 0xfffffff8
shr cx, 7
or eax, esi
and ecx, 0xfffffff8
shl eax, 3
shl ecx, 8
and ax, 0x7e0
or eax, ecx
or eax, edx
mov word [edi - 2], ax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
jne 0x64a87888
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x38], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87875
jmp 0x64a7dca0
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x48], eax
mov edi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
add edi, dword [ebp + 0x14]
jmp 0x64a87963
shl eax, 0x10
mov ebx, esi
movzx esi, byte [ebp - 0x30]
mov dword [ebp - 0x28], eax
movzx edx, bl
shl edx, 8
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
add ecx, 4
add edi, 4
shl ebx, 0x18
or eax, edx
or ebx, eax
or ebx, esi
mov dword [edi - 4], ebx
cmp dword [ebp - 0x48], ecx
je 0x64a879f4
movzx eax, byte [ecx + 3]
movzx edx, byte [ecx]
movzx esi, byte [ecx + 1]
mov dword [ebp - 0x20], eax
mov ebx, eax
movzx eax, byte [ecx + 2]
mov byte [ebp - 0x30], dl
mov byte [ebp - 0x38], al
test bl, bl
je 0x64a87930
mov eax, 0x7f8000
xor edx, edx
mov dword [ebp - 0x28], 0xff0000
idiv dword [ebp - 0x20]
movzx edx, byte [ebp - 0x38]
mov dword [ebp - 0x40], eax
cmp bl, dl
jb 0x64a879b0
movzx eax, dl
mov edx, dword [ebp - 0x40]
imul eax, edx
add eax, eax
and eax, 0xff0000
mov dword [ebp - 0x28], eax
mov eax, esi
mov edx, 0xff00
cmp bl, al
jb 0x64a879cf
movzx esi, al
mov eax, dword [ebp - 0x40]
imul esi, eax
shr esi, 7
and esi, 0xff00
mov edx, esi
movzx eax, byte [ebp - 0x30]
mov esi, 0xff
cmp bl, al
jb 0x64a87942
movzx ebx, al
mov eax, dword [ebp - 0x40]
imul ebx, eax
shr ebx, 0xf
movzx esi, bl
jmp 0x64a87942
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x50], 1
add dword [ebp - 0x58], ebx
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x48], ebx
add dword [ebp - 0x54], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87920
jmp 0x64a7dca0
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
add eax, 1
mov dword [ebp - 0x30], eax
lea eax, [eax + esi*8]
xor esi, esi
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x30]
add ecx, esi
lea esi, [esi]
movzx eax, byte [edx + 6]
movzx edi, byte [edx + 4]
add ecx, 2
add edx, 8
movzx ebx, byte [edx - 8]
shl eax, 8
shl edi, 7
and di, 0x7c00
and ax, 0x8000
shr bl, 3
or eax, edi
movzx edi, bl
or eax, edi
movzx edi, byte [edx - 6]
shl edi, 2
and di, 0x3e0
or eax, edi
mov word [ecx - 2], ax
cmp dword [ebp - 0x20], edx
jne 0x64a87a58
mov edx, dword [ebp + 0x20]
add dword [ebp - 0x28], 1
add dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x20], edx
add esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], eax
jne 0x64a87a49
jmp 0x64a7dca0
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x40], 0
lea eax, [eax + eax*2]
mov dword [ebp - 0x48], esi
add eax, esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
jmp 0x64a87b3e
mov edx, dword [ebp - 0x30]
imul eax, edx
shr eax, 0xf
mov byte [ebp - 0x20], al
movzx eax, byte [ebp - 0x28]
mov edx, edi
cmp dl, al
jb 0x64a87ba0
mov edx, dword [ebp - 0x30]
imul eax, edx
shr eax, 0xf
mov byte [ebp - 0x28], al
mov eax, esi
add ebx, 3
add ecx, 4
mov byte [ebx - 1], al
movzx eax, byte [ebp - 0x20]
mov byte [ebx - 2], al
movzx eax, byte [ebp - 0x28]
mov byte [ebx - 3], al
mov eax, dword [ebp - 0x38]
cmp ebx, eax
je 0x64a87ba9
movzx eax, byte [ecx + 1]
movzx edi, byte [ecx + 3]
movzx esi, byte [ecx + 2]
mov byte [ebp - 0x20], al
movzx eax, byte [ecx]
mov byte [ebp - 0x28], al
mov eax, edi
test al, al
je 0x64a87b1e
movzx eax, al
xor edx, edx
mov dword [ebp - 0x30], eax
mov eax, 0x7f8000
idiv dword [ebp - 0x30]
mov edx, edi
mov dword [ebp - 0x30], eax
mov eax, esi
mov esi, 0xffffffff
cmp dl, al
jb 0x64a87b85
movzx esi, al
mov eax, dword [ebp - 0x30]
imul esi, eax
shr esi, 0xf
movzx eax, byte [ebp - 0x20]
mov edx, edi
cmp dl, al
jae 0x64a87af8
mov byte [ebp - 0x20], 0xff
jmp 0x64a87b04
mov byte [ebp - 0x28], 0xff
jmp 0x64a87b1e
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], 1
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x40]
add dword [ebp - 0x38], ebx
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x50], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87aeb
jmp 0x64a7dca0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], eax
lea eax, [eax + esi*4]
mov dword [ebp - 0x48], eax
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
add esi, dword [ebp + 0x14]
jmp 0x64a87c4d
shl edx, 8
shr bl, 3
mov edi, edx
movzx edx, word [ebp - 0x28]
movzx ebx, bl
and di, 0xf800
mov word [ebp - 0x20], di
shl edx, 3
and dx, 0x7e0
movzx eax, word [ebp - 0x20]
add ecx, 4
add esi, 2
or eax, edx
or eax, ebx
mov word [esi - 2], ax
mov eax, dword [ebp - 0x48]
cmp ecx, eax
je 0x64a87ceb
movzx eax, byte [ecx + 1]
movzx edi, byte [ecx + 3]
movzx edx, byte [ecx + 2]
movzx ebx, byte [ecx]
mov byte [ebp - 0x28], al
mov eax, edi
mov byte [ebp - 0x38], dl
mov byte [ebp - 0x30], bl
test al, al
je 0x64a87c10
movzx ebx, al
xor edx, edx
mov eax, 0x7f8000
idiv ebx
mov edx, 0xfffff800
mov ebx, edi
mov word [ebp - 0x20], dx
movzx edx, byte [ebp - 0x38]
mov dword [ebp - 0x40], eax
cmp bl, dl
jb 0x64a87ca3
mov ebx, eax
movzx eax, dl
imul eax, ebx
shr eax, 0xf
shl eax, 8
and ax, 0xf800
mov word [ebp - 0x20], ax
movzx eax, byte [ebp - 0x28]
mov ebx, edi
mov edx, 0x7e0
cmp bl, al
jb 0x64a87cc6
movzx edx, al
mov eax, dword [ebp - 0x40]
imul edx, eax
shr edx, 0xf
shl edx, 3
and dx, 0x7e0
mov ebx, 0x1f
mov eax, edi
cmp al, byte [ebp - 0x30]
jb 0x64a87c30
movzx ebx, byte [ebp - 0x30]
mov eax, dword [ebp - 0x40]
imul ebx, eax
shr ebx, 0x12
and ebx, 0x1f
jmp 0x64a87c30
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x50], 1
add dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x48], ebx
add dword [ebp - 0x58], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87c00
jmp 0x64a7dca0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
add esi, dword [ebp + 0x14]
nop
movzx eax, byte [ecx + 6]
test al, al
je 0x64a87dd0
movzx edx, byte [ecx + 4]
movzx edi, al
add ecx, 8
add esi, 4
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 6]
movzx ebx, al
mov eax, edx
shl eax, 8
shl ebx, 0x10
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 8]
movzx eax, al
shl eax, 8
or ebx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx eax, al
or ebx, eax
mov dword [esi - 4], ebx
cmp dword [ebp - 0x20], ecx
jne 0x64a87d50
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87d45
jmp 0x64a7dca0
mov dword [esi], 0
add ecx, 8
add esi, 4
cmp dword [ebp - 0x20], ecx
jne 0x64a87d50
jmp 0x64a87da6
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x24]
add eax, 1
mov dword [ebp - 0x48], eax
lea edi, [eax + esi*8]
movzx eax, word [0x64abe9f8]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x48]
lea esi, [esi]
movzx eax, byte [ebx + 6]
test al, al
je 0x64a87ed0
movzx edx, byte [ebx + 4]
movzx esi, al
add ebx, 8
add ecx, 6
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv esi
movzx edx, byte [ebx - 6]
mov dword [ebp - 0x30], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv esi
movzx edx, byte [ebx - 8]
mov dword [ebp - 0x38], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv esi
mov esi, dword [ebp - 0x30]
movzx edx, word [ebp - 0x20]
mov word [ebp - 0x30], si
mov dword [ebp - 0x28], eax
mov eax, esi
mov esi, dword [ebp - 0x38]
mov dl, al
mov dh, byte [ebp - 0x30]
movzx eax, byte [ebp - 0x28]
mov word [ecx - 2], dx
mov edx, esi
mov byte [ecx - 4], dl
mov byte [ecx - 3], dl
mov byte [ecx - 6], al
mov byte [ecx - 5], al
cmp edi, ebx
jne 0x64a87e30
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x40], 1
add dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x20]
add edi, dword [ebp + 0x20]
add dword [ebp - 0x48], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87e24
jmp 0x64a7dca0
movzx eax, word [ebp - 0x20]
add ebx, 8
mov byte [ecx + 2], 0
add ecx, 6
mov byte [ecx - 3], 0
mov word [ecx - 2], ax
mov byte [ecx - 6], 0
mov byte [ecx - 5], 0
cmp edi, ebx
jne 0x64a87e30
jmp 0x64a87ea7
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x68], eax
xor ebx, ebx
lea esi, [esi]
mov edi, dword [ebp - 0x68]
movzx esi, byte [edi + ebx*8 + 7]
mov eax, esi
test al, al
je 0x64a880b8
movzx edx, byte [edi + ebx*8 + 5]
movzx ecx, al
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ecx
movzx edx, byte [edi + ebx*8 + 3]
mov dword [ebp - 0x28], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ecx
movzx edx, byte [edi + ebx*8 + 1]
mov dword [ebp - 0x20], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ecx
mov edi, dword [ebp - 0x6c]
mov edx, ebx
shr edx, 3
add edx, edi
add edx, dword [ebp + 0x14]
mov edi, edx
mov dword [ebp - 0x58], edx
mov edx, ebx
not edx
mov ecx, edx
mov edx, 1
and ecx, 7
shl edx, cl
not edx
and dl, byte [edi]
mov edi, dword [ebp + 0x1c]
test edi, edi
je 0x64a88081
mov edi, dword [ebp + 0x1c]
mov edi, dword [edi + 4]
mov dword [ebp - 0x40], edi
test edi, edi
je 0x64a88081
movzx eax, al
mov edi, 0x7fff
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x20]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x28]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x50], eax
mov eax, esi
xor esi, esi
movzx eax, al
mov byte [ebp - 0x64], dl
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], edi
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
movzx eax, byte [ebp - 0x30]
cmovb ecx, ebx
mov ebx, dword [ebp - 0x38]
add ecx, edx
cmp ecx, ebx
cmovl eax, esi
cmovge ecx, ebx
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a87fe8
mov ecx, dword [ebp - 0x60]
movzx edx, byte [ebp - 0x64]
mov ebx, dword [ebp - 0x5c]
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0x58]
add ebx, 1
mov byte [eax], dl
cmp dword [ebp + 8], ebx
jne 0x64a87f28
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x70], 1
add dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a87f22
jmp 0x64a7dca0
mov byte [ebp - 0x20], 0
xor eax, eax
mov byte [ebp - 0x28], 0
jmp 0x64a87f70
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x30], 0
lea eax, [eax + eax*2]
mov dword [ebp - 0x40], esi
add esi, eax
mov eax, dword [ebp + 0x24]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x38]
lea esi, [esi]
movzx eax, byte [ebx + 6]
test al, al
je 0x64a88180
movzx edx, byte [ebx + 2]
movzx edi, al
add ecx, 3
add ebx, 8
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ebx - 8]
mov dword [ebp - 0x20], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ebx - 4]
mov dword [ebp - 0x28], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ebp - 0x20]
mov byte [ecx - 2], dl
mov byte [ecx - 1], al
movzx eax, byte [ebp - 0x28]
mov byte [ecx - 3], al
cmp esi, ecx
jne 0x64a88108
mov edx, dword [ebp + 0x10]
add dword [ebp - 0x30], 1
add dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x30]
add esi, edx
mov edx, dword [ebp + 0x20]
add dword [ebp - 0x38], edx
cmp dword [ebp + 0xc], eax
jne 0x64a880fb
jmp 0x64a7dca0
mov byte [ecx + 2], 0
add ecx, 3
add ebx, 8
mov byte [ecx - 2], 0
mov byte [ecx - 3], 0
cmp esi, ecx
jne 0x64a88108
jmp 0x64a8815e
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x64a7dca0
mov esi, dword [ebp + 8]
test esi, esi
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
add esi, dword [ebp + 0x14]
lea esi, [esi]
nop
movzx eax, byte [ecx + 6]
test al, al
je 0x64a88260
movzx edx, byte [ecx + 2]
movzx edi, al
add ecx, 8
add esi, 2
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 4]
movzx ebx, al
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 8]
movzx eax, al
add ebx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx eax, al
add ebx, eax
lea ebx, [ebx + ebx*4]
mov eax, ebx
shl eax, 4
add ebx, eax
mov word [esi - 2], bx
cmp dword [ebp - 0x20], ecx
jne 0x64a881e0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a881d2
jmp 0x64a7dca0
xor edi, edi
add ecx, 8
add esi, 2
mov word [esi - 2], di
cmp dword [ebp - 0x20], ecx
jne 0x64a881e0
jmp 0x64a8823b
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x64a7dca0
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x38]
add edi, dword [ebp + 0x14]
lea esi, [esi]
lea esi, [esi]
movzx ebx, byte [esi + 6]
test bl, bl
je 0x64a88380
movzx edx, byte [esi + 4]
add edi, 4
add esi, 8
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, al
mov eax, 0x80808081
imul edx, ebx
add edx, 0x7f
mul edx
shr edx, 7
shl edx, 0x10
mov ecx, edx
movzx edx, byte [esi - 8]
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, al
mov eax, 0x80808081
imul edx, ebx
add edx, 0x7f
mul edx
mov eax, ebx
shl eax, 0x18
shr edx, 7
or ecx, edx
movzx edx, byte [esi - 6]
or ecx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
movzx edx, al
mov eax, 0x80808081
imul edx, ebx
add edx, 0x7f
mul edx
shr edx, 7
shl edx, 8
or ecx, edx
mov dword [edi - 4], ecx
cmp dword [ebp - 0x20], esi
jne 0x64a882c0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a882ad
jmp 0x64a7dca0
mov dword [edi], 0
add esi, 8
add edi, 4
cmp dword [ebp - 0x20], esi
jne 0x64a882c0
jmp 0x64a88354
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x64], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], esi
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x58], eax
lea esi, [esi]
mov eax, dword [ebp - 0x58]
movzx ebx, byte [eax + 6]
test bl, bl
je 0x64a88540
movzx edx, byte [eax + 4]
movzx ecx, bl
mov edi, ecx
mov esi, edx
shl esi, 8
mov eax, esi
sub eax, edx
cdq
idiv ecx
mov esi, eax
mov eax, dword [ebp - 0x58]
movzx edx, byte [eax + 2]
mov ecx, edx
shl ecx, 8
mov eax, ecx
sub eax, edx
cdq
idiv edi
mov ecx, eax
mov eax, dword [ebp - 0x58]
movzx edx, byte [eax]
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x64a88550
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 4]
mov dword [ebp - 0x40], edx
test edx, edx
je 0x64a88550
movzx eax, al
mov edi, 0x7fff
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x48], eax
movzx eax, cl
mov dword [ebp - 0x20], eax
mov eax, esi
xor esi, esi
movzx eax, al
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x50], eax
movzx eax, bl
mov dword [ebp - 0x54], eax
nop
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 8]
mov ebx, edi
movzx ecx, al
mov dword [ebp - 0x28], eax
mov edx, ecx
sub ebx, ecx
sub edx, edi
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
cmovb edx, ebx
movzx ebx, ah
mov eax, ebx
mov edi, ecx
sub eax, ecx
sub edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb ecx, edi
shr eax, 0x10
movzx ebx, al
mov eax, dword [ebp - 0x50]
add ecx, edx
mov edx, ebx
mov edi, eax
sub edx, eax
sub edi, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
cmovb edx, edi
mov edi, dword [ebp - 0x54]
shr eax, 0x18
add edx, ecx
mov ebx, edi
mov ecx, eax
sub ebx, eax
sub ecx, edi
cmp eax, edi
mov edi, dword [ebp - 0x38]
cmovb ecx, ebx
movzx eax, byte [ebp - 0x30]
add ecx, edx
cmp ecx, edi
cmovl eax, esi
cmovge ecx, edi
add esi, 1
mov byte [ebp - 0x30], al
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x40], esi
jne 0x64a88470
mov esi, dword [ebp - 0x5c]
movzx eax, byte [ebp - 0x30]
add dword [ebp - 0x58], 8
mov byte [esi], al
add esi, 1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], esi
cmp dword [ebp - 0x60], eax
jne 0x64a883e0
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x64], 1
add dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x60], ebx
add dword [ebp - 0x68], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a883cd
jmp 0x64a7dca0
xor eax, eax
xor ecx, ecx
xor esi, esi
jmp 0x64a8842b
mov byte [ebp - 0x30], 0
jmp 0x64a884fb
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], esi
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
add esi, dword [ebp + 0x14]
lea esi, [esi]
movzx eax, byte [ebx + 6]
test al, al
je 0x64a88620
movzx edx, byte [ebx + 4]
movzx edi, al
add ebx, 8
add esi, 4
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ebx - 6]
movzx ecx, al
mov eax, edx
shl eax, 8
shl ecx, 0x10
sub eax, edx
cdq
idiv edi
movzx edx, byte [ebx - 8]
movzx eax, al
shl eax, 8
or ecx, eax
mov eax, edi
shl eax, 0x18
or ecx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx eax, al
or ecx, eax
mov dword [esi - 4], ecx
cmp dword [ebp - 0x20], ebx
jne 0x64a88598
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8858c
jmp 0x64a7dca0
mov dword [esi], 0
add ebx, 8
add esi, 4
cmp dword [ebp - 0x20], ebx
jne 0x64a88598
jmp 0x64a885f9
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 8]
test eax, eax
jle 0x64a7dca0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
add eax, 1
lea esi, [eax + esi*8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
add esi, dword [ebp + 0x14]
lea esi, [esi]
lea esi, [esi]
movzx eax, byte [ecx + 6]
test al, al
je 0x64a88710
movzx edx, byte [ecx + 4]
movzx edi, al
add ecx, 8
add esi, 2
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 6]
shl eax, 8
and ax, 0xf800
mov ebx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
movzx edx, byte [ecx - 8]
shl eax, 3
and ax, 0x7e0
or ebx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv edi
shr al, 3
movzx eax, al
or ebx, eax
mov word [esi - 2], bx
cmp dword [ebp - 0x20], ecx
jne 0x64a88680
mov ebx, dword [ebp + 0x10]
add dword [ebp - 0x28], 1
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x20]
add dword [ebp - 0x20], ebx
add dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], eax
jne 0x64a8866d
jmp 0x64a7dca0
xor edx, edx
add ecx, 8
add esi, 2
mov word [esi - 2], dx
cmp dword [ebp - 0x20], ecx
jne 0x64a88680
jmp 0x64a886e2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
xor edi, edi
movzx ebx, word [0x64abe9f8]
lea edx, [eax + eax*2]
sub eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
add edx, ecx
shr eax, 2
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
and eax, 0xfffffffc
lea esi, [eax + eax*2]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x58], esi
add esi, 2
mov dword [ebp - 0x48], esi
lea esi, [eax + 1]
add eax, 2
mov dword [ebp - 0x28], esi
lea esi, [esi + esi*2]
mov dword [ebp - 0x30], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x5c], esi
add esi, 2
mov dword [ebp - 0x60], eax
add eax, 2
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x20], 2
mov eax, ecx
jbe 0x64a887a0
test cl, 3
je 0x64a887c2
lea esi, [esi]
lea esi, [esi]
mov byte [eax + 2], 0
add eax, 3
mov word [eax - 3], bx
cmp eax, edx
jne 0x64a887a0
add edi, 1
add ecx, dword [ebp + 0x10]
add edx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edi
jne 0x64a88789
jmp 0x64a7dca0
mov eax, dword [ebp - 0x54]
lea esi, [eax + ecx]
mov eax, ecx
mov dword [eax], 0
add eax, 0xc
mov dword [eax - 8], 0
mov dword [eax - 4], 0
cmp eax, esi
jne 0x64a887ca
mov eax, dword [ebp - 0x38]
cmp dword [ebp + 8], eax
je 0x64a887af
mov eax, dword [ebp - 0x48]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x58]
mov word [ecx + eax], bx
mov eax, dword [ebp - 0x28]
cmp dword [ebp + 8], eax
jle 0x64a887af
mov eax, dword [ebp - 0x50]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x5c]
mov word [ecx + eax], bx
mov eax, dword [ebp - 0x30]
cmp dword [ebp + 8], eax
jle 0x64a887af
mov eax, dword [ebp - 0x40]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x60]
mov word [ecx + eax], bx
jmp 0x64a887af
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88834
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88867
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88896
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a888c9
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*8]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a888fc
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a8892b
jmp 0x64a7dca0
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], 0
lea edx, [esi + esi*2]
mov ecx, esi
lea ebx, [eax + edx*2]
mov edx, esi
shr ecx, 1
and edx, 0xfffffffe
add edx, ecx
movzx ecx, word [0x64abe9f8]
lea esi, [edx*4]
mov dword [ebp - 0x50], esi
mov esi, dword [ebp + 8]
and esi, 0xfffffffe
lea edx, [esi + esi*2]
mov dword [ebp - 0x48], esi
lea edi, [edx + edx]
lea esi, [edi + 4]
mov dword [ebp - 0x38], esi
lea esi, [edi + 2]
mov dword [ebp - 0x30], esi
lea esi, [edi + 3]
mov dword [ebp - 0x28], esi
lea esi, [edi + 1]
mov dword [ebp - 0x20], esi
cmp dword [ebp + 8], 1
mov edx, eax
je 0x64a889b0
test al, 3
je 0x64a889e7
nop
mov word [edx + 4], cx
add edx, 6
mov byte [edx - 4], 0
mov byte [edx - 3], 0
mov byte [edx - 6], 0
mov byte [edx - 5], 0
cmp edx, ebx
jne 0x64a889b0
lea esi, [esi]
nop
add dword [ebp - 0x40], 1
add eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x40]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a889a2
jmp 0x64a7dca0
mov esi, dword [ebp - 0x50]
add esi, eax
mov dword [edx], 0
add edx, 0xc
mov dword [edx - 8], 0
mov dword [edx - 4], 0
cmp edx, esi
jne 0x64a889ec
mov esi, dword [ebp - 0x48]
cmp dword [ebp + 8], esi
je 0x64a889d0
mov esi, dword [ebp - 0x38]
mov word [eax + esi], cx
mov esi, dword [ebp - 0x30]
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x28]
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x20]
mov byte [eax + edi], 0
mov byte [eax + esi], 0
jmp 0x64a889d0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88a40
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*8]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88a73
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88aa6
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88ad5
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
xor edi, edi
movzx ebx, word [0x64abe9f8]
lea edx, [eax + eax*2]
sub eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
add edx, ecx
shr eax, 2
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
and eax, 0xfffffffc
lea esi, [eax + eax*2]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x58], esi
add esi, 2
mov dword [ebp - 0x28], esi
lea esi, [eax + 1]
add eax, 2
mov dword [ebp - 0x30], esi
lea esi, [esi + esi*2]
mov dword [ebp - 0x48], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x5c], esi
add esi, 2
mov dword [ebp - 0x60], eax
add eax, 2
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x20], 2
mov eax, ecx
jbe 0x64a88b70
test cl, 3
je 0x64a88b92
lea esi, [esi]
nop
mov byte [eax + 2], 0
add eax, 3
mov word [eax - 3], bx
cmp eax, edx
jne 0x64a88b70
add edi, 1
add ecx, dword [ebp + 0x10]
add edx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edi
jne 0x64a88b5b
jmp 0x64a7dca0
mov eax, dword [ebp - 0x54]
lea esi, [eax + ecx]
mov eax, ecx
mov dword [eax], 0
add eax, 0xc
mov dword [eax - 8], 0
mov dword [eax - 4], 0
cmp eax, esi
jne 0x64a88b9a
mov eax, dword [ebp - 0x38]
cmp dword [ebp + 8], eax
je 0x64a88b7f
mov eax, dword [ebp - 0x28]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x58]
mov word [ecx + eax], bx
mov eax, dword [ebp - 0x30]
cmp dword [ebp + 8], eax
jle 0x64a88b7f
mov eax, dword [ebp - 0x50]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x5c]
mov word [ecx + eax], bx
mov eax, dword [ebp - 0x48]
cmp dword [ebp + 8], eax
jle 0x64a88b7f
mov eax, dword [ebp - 0x40]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x60]
mov word [ecx + eax], bx
jmp 0x64a88b7f
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88c04
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88c33
jmp 0x64a7dca0
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], 0
lea edx, [esi + esi*2]
mov ecx, esi
lea ebx, [eax + edx*2]
mov edx, esi
shr ecx, 1
and edx, 0xfffffffe
add edx, ecx
movzx ecx, word [0x64abe9f8]
lea esi, [edx*4]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x48], esi
and edx, 0xfffffffe
lea edx, [edx + edx*2]
lea edi, [edx + edx]
lea esi, [edi + 4]
mov dword [ebp - 0x38], esi
lea esi, [edi + 2]
mov dword [ebp - 0x30], esi
lea esi, [edi + 3]
mov dword [ebp - 0x28], esi
lea esi, [edi + 1]
mov dword [ebp - 0x20], esi
cmp dword [ebp + 8], 1
mov edx, eax
je 0x64a88cb8
test al, 3
je 0x64a88cef
lea esi, [esi]
nop
mov word [edx + 4], cx
add edx, 6
mov byte [edx - 4], 0
mov byte [edx - 3], 0
mov byte [edx - 6], 0
mov byte [edx - 5], 0
cmp ebx, edx
jne 0x64a88cb8
lea esi, [esi]
nop
add dword [ebp - 0x40], 1
add eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x40]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88ca7
jmp 0x64a7dca0
mov esi, dword [ebp - 0x48]
add esi, eax
mov dword [edx], 0
add edx, 0xc
mov dword [edx - 8], 0
mov dword [edx - 4], 0
cmp edx, esi
jne 0x64a88cf4
test byte [ebp + 8], 1
je 0x64a88cd8
mov esi, dword [ebp - 0x38]
mov word [eax + esi], cx
mov esi, dword [ebp - 0x30]
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x28]
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x20]
mov byte [eax + edi], 0
mov byte [eax + esi], 0
jmp 0x64a88cd8
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88d46
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88d75
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88da8
jmp 0x64a7dca0
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
lea edx, [esi + esi*2]
mov ecx, esi
lea ebx, [eax + edx*2]
mov edx, esi
shr ecx, 1
and edx, 0xfffffffe
add edx, ecx
movzx ecx, word [0x64abe9f8]
lea esi, [edx*4]
mov dword [ebp - 0x50], esi
mov esi, dword [ebp + 8]
and esi, 0xfffffffe
lea edx, [esi + esi*2]
mov dword [ebp - 0x48], esi
lea edi, [edx + edx]
lea esi, [edi + 4]
mov dword [ebp - 0x40], esi
lea esi, [edi + 2]
mov dword [ebp - 0x38], esi
lea esi, [edi + 3]
mov dword [ebp - 0x30], esi
lea esi, [edi + 1]
mov dword [ebp - 0x28], esi
cmp dword [ebp + 8], 1
mov edx, eax
je 0x64a88e30
test al, 3
je 0x64a88e67
lea esi, [esi]
nop
mov word [edx + 4], cx
add edx, 6
mov byte [edx - 4], 0
mov byte [edx - 3], 0
mov byte [edx - 6], 0
mov byte [edx - 5], 0
cmp edx, ebx
jne 0x64a88e30
lea esi, [esi]
nop
add dword [ebp - 0x20], 1
add eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x20]
add ebx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88e1f
jmp 0x64a7dca0
mov esi, dword [ebp - 0x50]
add esi, eax
mov dword [edx], 0
add edx, 0xc
mov dword [edx - 8], 0
mov dword [edx - 4], 0
cmp edx, esi
jne 0x64a88e6c
mov esi, dword [ebp - 0x48]
cmp dword [ebp + 8], esi
je 0x64a88e50
mov esi, dword [ebp - 0x40]
mov word [eax + esi], cx
mov esi, dword [ebp - 0x38]
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x30]
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x28]
mov byte [eax + edi], 0
mov byte [eax + esi], 0
jmp 0x64a88e50
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88ec0
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88eef
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp esi, dword [ebp + 0xc]
jne 0x64a88f1e
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*8]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a88f51
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
xor edi, edi
movzx ebx, word [0x64abe9f8]
lea edx, [eax + eax*2]
sub eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
add edx, ecx
shr eax, 2
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
and eax, 0xfffffffc
lea esi, [eax + eax*2]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x58], esi
add esi, 2
mov dword [ebp - 0x28], esi
lea esi, [eax + 1]
add eax, 2
mov dword [ebp - 0x38], esi
lea esi, [esi + esi*2]
mov dword [ebp - 0x50], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x5c], esi
add esi, 2
mov dword [ebp - 0x60], eax
add eax, 2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x20], 2
mov eax, ecx
jbe 0x64a88fe8
test cl, 3
je 0x64a8900a
lea esi, [esi]
mov byte [eax + 2], 0
add eax, 3
mov word [eax - 3], bx
cmp edx, eax
jne 0x64a88fe8
add edi, 1
add ecx, dword [ebp + 0x10]
add edx, dword [ebp + 0x10]
cmp dword [ebp + 0xc], edi
jne 0x64a88fd7
jmp 0x64a7dca0
mov eax, dword [ebp - 0x54]
lea esi, [ecx + eax]
mov eax, ecx
mov dword [eax], 0
add eax, 0xc
mov dword [eax - 8], 0
mov dword [eax - 4], 0
cmp esi, eax
jne 0x64a89012
mov eax, dword [ebp - 0x40]
cmp dword [ebp + 8], eax
je 0x64a88ff7
mov eax, dword [ebp - 0x28]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x58]
mov word [ecx + eax], bx
mov eax, dword [ebp - 0x38]
cmp dword [ebp + 8], eax
jle 0x64a88ff7
mov eax, dword [ebp - 0x30]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x5c]
mov word [ecx + eax], bx
mov eax, dword [ebp - 0x50]
cmp dword [ebp + 8], eax
jle 0x64a88ff7
mov eax, dword [ebp - 0x48]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x60]
mov word [ecx + eax], bx
jmp 0x64a88ff7
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a8907c
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a890ab
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a890de
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax + eax]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a8910d
jmp 0x64a7dca0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor esi, esi
lea ebx, [eax*4]
mov dword [esp], edi
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym._memset
add edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jne 0x64a89140
jmp 0x64a7dca0