Function at 0x7a16d0
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rdi
push rsi
push rbx
movzx r11d, byte [r8 + 0x20]
mov r10d, r11d
shr r10b, 2
and r10d, 7
test r11b, 0x20
je 0x7a1a13
lea rbx, [r8 + 0x30]
and r11d, 0x40
lea rax, [r8 + 0x48]
cmovne rax, rbx
movzx r8d, byte [rcx + 0x20]
mov r11d, r8d
shr r11b, 2
and r11d, 7
test r8b, 0x20
movzx ebx, r11b
je 0x7a1a20
lea rsi, [rcx + 0x30]
add rcx, 0x48
and r8d, 0x40
cmovne rcx, rsi
cmp r10d, ebx
je 0x7a1a2d
cmp r10d, 1
sete r8b
cmp ebx, 2
sete r11b
test r8b, r8b
je 0x7a1a50
test r11b, r11b
je 0x7a1a50
lea r11, [rax + r9]
and r9, 0xfffffffffffffffc
lea rbx, [rax + r9]
lea r10, [rcx + rdx*2]
cmp rax, rbx
jae 0x7a26b0
sub r9, 1
mov rsi, r9
shr rsi, 2
add rsi, 1
lea rdi, [rsi*4]
lea r8, [rax + rdi]
add rdx, rdi
lea rdx, [rcx + rdx*2]
cmp rax, rdx
setae cl
cmp r10, r8
setae dl
or cl, dl
je 0x7a2290
cmp r9, 0xb
jbe 0x7a2290
mov rcx, rsi
xor edx, edx
pxor xmm1, xmm1
shr rcx, 2
shl rcx, 4
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
movups xmmword [r10 + rdx*2 + 0x10], xmm0
punpcklbw xmm2, xmm1
movups xmmword [r10 + rdx*2], xmm2
add rdx, 0x10
cmp rcx, rdx
jne 0x7a17c0
mov rcx, rsi
and rcx, 0xfffffffffffffffc
lea rax, [rax + rcx*4]
cmp rsi, rcx
lea rdx, [r10 + rcx*8]
je 0x7a1869
movzx ecx, byte [rax]
mov word [rdx], cx
movzx ecx, byte [rax + 1]
mov word [rdx + 2], cx
movzx ecx, byte [rax + 2]
mov word [rdx + 4], cx
movzx ecx, byte [rax + 3]
mov word [rdx + 6], cx
lea rcx, [rax + 4]
cmp rbx, rcx
jbe 0x7a1869
movzx ecx, byte [rax + 4]
mov word [rdx + 8], cx
movzx ecx, byte [rax + 5]
mov word [rdx + 0xa], cx
movzx ecx, byte [rax + 6]
mov word [rdx + 0xc], cx
movzx ecx, byte [rax + 7]
mov word [rdx + 0xe], cx
lea rcx, [rax + 8]
cmp rbx, rcx
jbe 0x7a1869
movzx ecx, byte [rax + 8]
mov word [rdx + 0x10], cx
movzx ecx, byte [rax + 9]
mov word [rdx + 0x12], cx
movzx ecx, byte [rax + 0xa]
mov word [rdx + 0x14], cx
movzx eax, byte [rax + 0xb]
mov word [rdx + 0x16], ax
lea r10, [r10 + rsi*8]
cmp r11, r8
jbe 0x7a1a0e
mov rdx, r11
sub rdx, r8
lea rax, [r10 + rdx*2]
cmp r8, rax
setae cl
cmp r11, r10
setbe al
or cl, al
je 0x7a2272
lea rax, [r11 - 1]
sub rax, r8
cmp rax, 0xe
jbe 0x7a2272
mov rcx, rdx
xor eax, eax
pxor xmm1, xmm1
and rcx, 0xfffffffffffffff0
movdqu xmm0, xmmword [r8 + rax]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
movups xmmword [r10 + rax*2 + 0x10], xmm0
punpcklbw xmm2, xmm1
movups xmmword [r10 + rax*2], xmm2
add rax, 0x10
cmp rcx, rax
jne 0x7a18b2
mov rcx, rdx
and rcx, 0xfffffffffffffff0
lea rax, [r10 + rcx*2]
add r8, rcx
cmp rdx, rcx
je 0x7a1a0e
movzx edx, byte [r8]
mov word [rax], dx
lea rdx, [r8 + 1]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 1]
mov word [rax + 2], dx
lea rdx, [r8 + 2]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 2]
mov word [rax + 4], dx
lea rdx, [r8 + 3]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 3]
mov word [rax + 6], dx
lea rdx, [r8 + 4]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 4]
mov word [rax + 8], dx
lea rdx, [r8 + 5]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 5]
mov word [rax + 0xa], dx
lea rdx, [r8 + 6]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 6]
mov word [rax + 0xc], dx
lea rdx, [r8 + 7]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 7]
mov word [rax + 0xe], dx
lea rdx, [r8 + 8]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 8]
mov word [rax + 0x10], dx
lea rdx, [r8 + 9]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 9]
mov word [rax + 0x12], dx
lea rdx, [r8 + 0xa]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 0xa]
mov word [rax + 0x14], dx
lea rdx, [r8 + 0xb]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 0xb]
mov word [rax + 0x16], dx
lea rdx, [r8 + 0xc]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 0xc]
mov word [rax + 0x18], dx
lea rdx, [r8 + 0xd]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 0xd]
mov word [rax + 0x1a], dx
lea rdx, [r8 + 0xe]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, byte [r8 + 0xe]
mov word [rax + 0x1c], dx
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rax, qword [r8 + 0x48]
jmp 0x7a16fe
cmp r10d, ebx
mov rcx, qword [rcx + 0x48]
jne 0x7a1735
movzx r8d, r11b
imul rdx, r8
imul r8, r9
add rcx, rdx
mov rdx, rax
pop rbx
pop rsi
pop rdi
pop rbp
jmp sub.msvcrt.dll_memcpy
cmp ebx, 4
sete sil
test r8b, r8b
je 0x7a1db0
test sil, sil
je 0x7a1db0
lea rbx, [rax + r9]
and r9, 0xfffffffffffffffc
lea rdi, [rax + r9]
lea r11, [rcx + rdx*4]
cmp rax, rdi
jae 0x7a28b6
lea rbp, [r9 - 1]
mov r10, rax
mov rsi, rbp
shr rsi, 2
add rsi, 1
lea r9, [rsi*4]
lea r8, [rax + r9]
add rdx, r9
lea rdx, [rcx + rdx*4]
cmp rax, rdx
setae cl
cmp r11, r8
setae dl
or cl, dl
mov rdx, r11
je 0x7a1d80
cmp rbp, 0xb
jbe 0x7a1d80
mov rcx, rsi
pxor xmm3, xmm3
pxor xmm2, xmm2
shr rcx, 2
shl rcx, 4
add rcx, rax
nop
movdqu xmm0, xmmword [r10]
add r10, 0x10
add rdx, 0x40
movdqa xmm1, xmm0
punpckhbw xmm0, xmm3
punpcklbw xmm1, xmm3
movdqa xmm4, xmm1
punpckhwd xmm1, xmm2
movups xmmword [rdx - 0x30], xmm1
movdqa xmm1, xmm0
punpcklwd xmm4, xmm2
punpckhwd xmm0, xmm2
movups xmmword [rdx - 0x40], xmm4
movups xmmword [rdx - 0x10], xmm0
punpcklwd xmm1, xmm2
movups xmmword [rdx - 0x20], xmm1
cmp r10, rcx
jne 0x7a1ae0
mov rdx, rsi
and rdx, 0xfffffffffffffffc
lea rcx, [rax + rdx*4]
mov rax, rdx
shl rax, 4
add rax, r11
cmp rsi, rdx
je 0x7a1ba4
movzx edx, byte [rcx]
mov dword [rax], edx
movzx edx, byte [rcx + 1]
mov dword [rax + 4], edx
movzx edx, byte [rcx + 2]
mov dword [rax + 8], edx
movzx edx, byte [rcx + 3]
mov dword [rax + 0xc], edx
lea rdx, [rcx + 4]
cmp rdi, rdx
jbe 0x7a1ba4
movzx edx, byte [rcx + 4]
mov dword [rax + 0x10], edx
movzx edx, byte [rcx + 5]
mov dword [rax + 0x14], edx
movzx edx, byte [rcx + 6]
mov dword [rax + 0x18], edx
movzx edx, byte [rcx + 7]
mov dword [rax + 0x1c], edx
lea rdx, [rcx + 8]
cmp rdi, rdx
jbe 0x7a1ba4
movzx edx, byte [rcx + 8]
mov dword [rax + 0x20], edx
movzx edx, byte [rcx + 9]
mov dword [rax + 0x24], edx
movzx edx, byte [rcx + 0xa]
mov dword [rax + 0x28], edx
movzx edx, byte [rcx + 0xb]
mov dword [rax + 0x2c], edx
shl rsi, 4
add r11, rsi
cmp rbx, r8
jbe 0x7a1a0e
mov r9, rbx
mov rdx, r8
sub r9, r8
lea rax, [r11 + r9*4]
cmp r8, rax
setae cl
cmp r11, rbx
setae al
or cl, al
je 0x7a26b8
lea rax, [rbx - 1]
sub rax, r8
cmp rax, 0xe
jbe 0x7a26b8
mov rcx, r9
mov rax, r11
pxor xmm3, xmm3
pxor xmm2, xmm2
and rcx, 0xfffffffffffffff0
add rcx, r8
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx]
add rdx, 0x10
add rax, 0x40
movdqa xmm1, xmm0
punpckhbw xmm0, xmm3
punpcklbw xmm1, xmm3
movdqa xmm4, xmm1
punpckhwd xmm1, xmm2
movups xmmword [rax - 0x30], xmm1
movdqa xmm1, xmm0
punpcklwd xmm4, xmm2
punpckhwd xmm0, xmm2
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x10], xmm0
punpcklwd xmm1, xmm2
movups xmmword [rax - 0x20], xmm1
cmp rdx, rcx
jne 0x7a1c00
mov rcx, r9
and rcx, 0xfffffffffffffff0
lea rax, [r8 + rcx]
cmp r9, rcx
lea rdx, [r11 + rcx*4]
je 0x7a1a0e
movzx ecx, byte [rax]
mov dword [rdx], ecx
lea rcx, [rax + 1]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 1]
mov dword [rdx + 4], ecx
lea rcx, [rax + 2]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 2]
mov dword [rdx + 8], ecx
lea rcx, [rax + 3]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 3]
mov dword [rdx + 0xc], ecx
lea rcx, [rax + 4]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 4]
mov dword [rdx + 0x10], ecx
lea rcx, [rax + 5]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 5]
mov dword [rdx + 0x14], ecx
lea rcx, [rax + 6]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 6]
mov dword [rdx + 0x18], ecx
lea rcx, [rax + 7]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 7]
mov dword [rdx + 0x1c], ecx
lea rcx, [rax + 8]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 8]
mov dword [rdx + 0x20], ecx
lea rcx, [rax + 9]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 9]
mov dword [rdx + 0x24], ecx
lea rcx, [rax + 0xa]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 0xa]
mov dword [rdx + 0x28], ecx
lea rcx, [rax + 0xb]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 0xb]
mov dword [rdx + 0x2c], ecx
lea rcx, [rax + 0xc]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 0xc]
mov dword [rdx + 0x30], ecx
lea rcx, [rax + 0xd]
cmp rbx, rcx
jbe 0x7a1a0e
movzx ecx, byte [rax + 0xd]
mov dword [rdx + 0x34], ecx
lea rcx, [rax + 0xe]
cmp rbx, rcx
jbe 0x7a1a0e
movzx eax, byte [rax + 0xe]
mov dword [rdx + 0x38], eax
jmp 0x7a1a0e
movzx ecx, byte [rax]
add rax, 4
add rdx, 0x10
mov dword [rdx - 0x10], ecx
movzx ecx, byte [rax - 3]
mov dword [rdx - 0xc], ecx
movzx ecx, byte [rax - 2]
mov dword [rdx - 8], ecx
movzx ecx, byte [rax - 1]
mov dword [rdx - 4], ecx
cmp rdi, rax
ja 0x7a1d80
jmp 0x7a1ba4
cmp r10d, 2
sete r8b
test sil, sil
je 0x7a1f80
test r8b, r8b
je 0x7a1f80
lea rcx, [rcx + rdx*4]
add r9, r9
lea r11, [rax + r9]
and r9, 0xfffffffffffffff8
lea rdx, [rax + r9]
cmp rax, rdx
jae 0x7a1e89
lea rdx, [r9 - 1]
mov r9, rdx
shr r9, 3
add r9, 1
cmp rdx, 7
jbe 0x7a28be
mov r8, r9
xor edx, edx
pxor xmm1, xmm1
shr r8, 1
shl r8, 4
nop
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
movups xmmword [rcx + rdx*2 + 0x10], xmm0
punpcklwd xmm2, xmm1
movups xmmword [rcx + rdx*2], xmm2
add rdx, 0x10
cmp rdx, r8
jne 0x7a1e10
mov r8, r9
and r8, 0xfffffffffffffffe
lea rdx, [rax + r8*8]
mov r10, r8
shl r10, 4
add r10, rcx
cmp r9, r8
je 0x7a1e7e
movzx edi, word [rdx]
movzx r8d, word [rdx + 2]
movd xmm0, edi
movzx edi, word [rdx + 4]
movzx edx, word [rdx + 6]
movd xmm1, edi
movd xmm5, edx
punpckldq xmm1, xmm5
movd xmm5, r8d
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movups xmmword [r10], xmm0
lea rax, [rax + r9*8]
shl r9, 4
add rcx, r9
cmp rax, r11
jae 0x7a1a0e
lea rdx, [r11 - 1]
sub rdx, rax
mov r9, rdx
shr r9, 1
add r9, 1
cmp rdx, 0xd
jbe 0x7a1efb
mov r8, r9
xor edx, edx
pxor xmm1, xmm1
shr r8, 3
shl r8, 4
nop word [rax + rax]
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
movups xmmword [rcx + rdx*2 + 0x10], xmm0
punpcklwd xmm2, xmm1
movups xmmword [rcx + rdx*2], xmm2
add rdx, 0x10
cmp rdx, r8
jne 0x7a1ec0
mov rdx, r9
and rdx, 0xfffffffffffffff8
lea rax, [rax + rdx*2]
cmp r9, rdx
lea rcx, [rcx + rdx*4]
je 0x7a1a0e
movzx edx, word [rax]
mov dword [rcx], edx
lea rdx, [rax + 2]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 2]
mov dword [rcx + 4], edx
lea rdx, [rax + 4]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 4]
mov dword [rcx + 8], edx
lea rdx, [rax + 6]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 6]
mov dword [rcx + 0xc], edx
lea rdx, [rax + 8]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 8]
mov dword [rcx + 0x10], edx
lea rdx, [rax + 0xa]
cmp r11, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0xa]
mov dword [rcx + 0x14], edx
lea rdx, [rax + 0xc]
cmp r11, rdx
jbe 0x7a1a0e
movzx eax, word [rax + 0xc]
mov dword [rcx + 0x18], eax
jmp 0x7a1a0e
cmp ebx, 1
sete bl
test r8b, r8b
je 0x7a22e0
test bl, bl
je 0x7a22e0
lea r8, [rcx + rdx]
add r9, r9
lea r10, [rax + r9]
and r9, 0xfffffffffffffff8
lea rsi, [rax + r9]
cmp rax, rsi
jae 0x7a28fd
lea r11, [r9 - 1]
mov rbx, r11
shr rbx, 3
add rbx, 1
lea rdi, [rbx*4]
lea r9, [rax + rbx*8]
add rdx, rdi
add rcx, rdx
cmp rax, rcx
setae cl
cmp r8, r9
setae dl
or cl, dl
je 0x7a28c9
cmp r11, 0x17
jbe 0x7a28c9
mov rcx, rbx
movdqa xmm1, xmmword [0x00828ec0]
xor edx, edx
shr rcx, 2
shl rcx, 4
nop word [rax + rax]
movdqu xmm0, xmmword [rax + rdx*2]
movdqu xmm2, xmmword [rax + rdx*2 + 0x10]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [r8 + rdx], xmm0
add rdx, 0x10
cmp rdx, rcx
jne 0x7a2010
mov rcx, rbx
and rcx, 0xfffffffffffffffc
lea rax, [rax + rcx*8]
cmp rbx, rcx
lea rdx, [r8 + rcx*4]
je 0x7a20ad
movzx ecx, word [rax]
mov byte [rdx], cl
movzx ecx, word [rax + 2]
mov byte [rdx + 1], cl
movzx ecx, word [rax + 4]
mov byte [rdx + 2], cl
movzx ecx, word [rax + 6]
mov byte [rdx + 3], cl
lea rcx, [rax + 8]
cmp rsi, rcx
jbe 0x7a20ad
movzx ecx, word [rax + 8]
mov byte [rdx + 4], cl
movzx ecx, word [rax + 0xa]
mov byte [rdx + 5], cl
movzx ecx, word [rax + 0xc]
mov byte [rdx + 6], cl
movzx ecx, word [rax + 0xe]
mov byte [rdx + 7], cl
lea rcx, [rax + 0x10]
cmp rsi, rcx
jbe 0x7a20ad
movzx ecx, word [rax + 0x10]
mov byte [rdx + 8], cl
movzx ecx, word [rax + 0x12]
mov byte [rdx + 9], cl
movzx ecx, word [rax + 0x14]
mov byte [rdx + 0xa], cl
movzx eax, word [rax + 0x16]
mov byte [rdx + 0xb], al
add r8, rdi
cmp r10, r9
jbe 0x7a1a0e
lea rax, [r10 - 1]
sub rax, r9
mov rdx, rax
shr rdx, 1
add rdx, 1
lea rcx, [r9 + rdx*2]
cmp r8, rcx
lea rcx, [r8 + rdx]
setae r11b
cmp r9, rcx
setae cl
or r11b, cl
je 0x7a22c4
cmp rax, 0x1d
jbe 0x7a22c4
mov rcx, rdx
movdqa xmm1, xmmword [0x00828ec0]
xor eax, eax
and rcx, 0xfffffffffffffff0
movdqu xmm0, xmmword [r9 + rax*2]
movdqu xmm2, xmmword [r9 + rax*2 + 0x10]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [r8 + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x7a2103
mov rcx, rdx
and rcx, 0xfffffffffffffff0
lea rax, [r9 + rcx*2]
add r8, rcx
cmp rdx, rcx
je 0x7a1a0e
movzx edx, word [rax]
mov byte [r8], dl
lea rdx, [rax + 2]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 2]
mov byte [r8 + 1], dl
lea rdx, [rax + 4]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 4]
mov byte [r8 + 2], dl
lea rdx, [rax + 6]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 6]
mov byte [r8 + 3], dl
lea rdx, [rax + 8]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 8]
mov byte [r8 + 4], dl
lea rdx, [rax + 0xa]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0xa]
mov byte [r8 + 5], dl
lea rdx, [rax + 0xc]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0xc]
mov byte [r8 + 6], dl
lea rdx, [rax + 0xe]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0xe]
mov byte [r8 + 7], dl
lea rdx, [rax + 0x10]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0x10]
mov byte [r8 + 8], dl
lea rdx, [rax + 0x12]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0x12]
mov byte [r8 + 9], dl
lea rdx, [rax + 0x14]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0x14]
mov byte [r8 + 0xa], dl
lea rdx, [rax + 0x16]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0x16]
mov byte [r8 + 0xb], dl
lea rdx, [rax + 0x18]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0x18]
mov byte [r8 + 0xc], dl
lea rdx, [rax + 0x1a]
cmp r10, rdx
jbe 0x7a1a0e
movzx edx, word [rax + 0x1a]
mov byte [r8 + 0xd], dl
lea rdx, [rax + 0x1c]
cmp r10, rdx
jbe 0x7a1a0e
movzx eax, word [rax + 0x1c]
mov byte [r8 + 0xe], al
jmp 0x7a1a0e
xor eax, eax
movzx ecx, byte [r8 + rax]
mov word [r10 + rax*2], cx
add rax, 1
cmp rdx, rax
jne 0x7a2274
jmp 0x7a1a0e
mov rdx, r10
movzx ecx, byte [rax]
add rax, 4
add rdx, 8
mov word [rdx - 8], cx
movzx ecx, byte [rax - 3]
mov word [rdx - 6], cx
movzx ecx, byte [rax - 2]
mov word [rdx - 4], cx
movzx ecx, byte [rax - 1]
mov word [rdx - 2], cx
cmp rbx, rax
ja 0x7a2293
jmp 0x7a1869
add r9, 2
movzx eax, word [r9 - 2]
add r8, 1
cmp r10, r9
mov byte [r8 - 1], al
ja 0x7a22c4
jmp 0x7a1a0e
cmp r10d, 4
sete r8b
test bl, bl
je 0x7a26d7
test r8b, r8b
je 0x7a26d7
lea r10, [rcx + rdx]
shl r9, 2
lea r11, [rax + r9]
and r9, 0xfffffffffffffff0
lea rbx, [rax + r9]
cmp rax, rbx
jae 0x7a2905
lea rbp, [r9 - 1]
mov r8, rax
mov rdi, rbp
shr rdi, 4
add rdi, 1
lea rsi, [rdi*4]
mov r9, rdi
add rdx, rsi
shl r9, 4
add rcx, rdx
add r9, rax
cmp rax, rcx
setae cl
cmp r10, r9
setae dl
or cl, dl
mov rdx, r10
je 0x7a2661
cmp rbp, 0x2f
jbe 0x7a2661
mov rcx, rdi
movdqa xmm1, xmmword [0x00828ec0]
shr rcx, 2
shl rcx, 6
add rcx, rax
nop word [rax + rax]
movdqu xmm0, xmmword [r8]
add r8, 0x40
add rdx, 0x10
movdqu xmm3, xmmword [r8 - 0x30]
movdqa xmm2, xmm0
movdqu xmm4, xmmword [r8 - 0x10]
punpckhwd xmm2, xmm3
punpcklwd xmm0, xmm3
movdqa xmm3, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm3, xmm2
movdqu xmm2, xmmword [r8 - 0x20]
punpcklwd xmm0, xmm3
pand xmm0, xmm1
movdqa xmm3, xmm2
punpcklwd xmm2, xmm4
punpckhwd xmm3, xmm4
movdqa xmm4, xmm2
punpcklwd xmm2, xmm3
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rdx - 0x10], xmm0
cmp r8, rcx
jne 0x7a2380
mov rcx, rdi
and rcx, 0xfffffffffffffffc
mov rdx, rcx
shl rdx, 4
add rax, rdx
cmp rdi, rcx
lea rdx, [r10 + rcx*4]
je 0x7a245e
mov ecx, dword [rax]
mov byte [rdx], cl
mov ecx, dword [rax + 4]
mov byte [rdx + 1], cl
mov ecx, dword [rax + 8]
mov byte [rdx + 2], cl
mov ecx, dword [rax + 0xc]
mov byte [rdx + 3], cl
lea rcx, [rax + 0x10]
cmp rbx, rcx
jbe 0x7a245e
mov ecx, dword [rax + 0x10]
mov byte [rdx + 4], cl
mov ecx, dword [rax + 0x14]
mov byte [rdx + 5], cl
mov ecx, dword [rax + 0x18]
mov byte [rdx + 6], cl
mov ecx, dword [rax + 0x1c]
mov byte [rdx + 7], cl
lea rcx, [rax + 0x20]
cmp rbx, rcx
jbe 0x7a245e
mov ecx, dword [rax + 0x20]
mov byte [rdx + 8], cl
mov ecx, dword [rax + 0x24]
mov byte [rdx + 9], cl
mov ecx, dword [rax + 0x28]
mov byte [rdx + 0xa], cl
mov eax, dword [rax + 0x2c]
mov byte [rdx + 0xb], al
add r10, rsi
cmp r11, r9
jbe 0x7a1a0e
lea rdx, [r11 - 1]
mov rax, r9
sub rdx, r9
mov r8, rdx
shr r8, 2
add r8, 1
lea rcx, [r9 + r8*4]
cmp r10, rcx
lea rcx, [r10 + r8]
setae bl
cmp r9, rcx
setae cl
or bl, cl
je 0x7a2690
cmp rdx, 0x3b
jbe 0x7a2690
mov rcx, r8
movdqa xmm1, xmmword [0x00828ec0]
mov rdx, r10
shr rcx, 4
shl rcx, 6
add rcx, r9
nop
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rdx, 0x10
movdqu xmm3, xmmword [rax - 0x30]
movdqa xmm2, xmm0
movdqu xmm4, xmmword [rax - 0x10]
punpckhwd xmm2, xmm3
punpcklwd xmm0, xmm3
movdqa xmm3, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm3, xmm2
movdqu xmm2, xmmword [rax - 0x20]
punpcklwd xmm0, xmm3
pand xmm0, xmm1
movdqa xmm3, xmm2
punpcklwd xmm2, xmm4
punpckhwd xmm3, xmm4
movdqa xmm4, xmm2
punpcklwd xmm2, xmm3
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rdx - 0x10], xmm0
cmp rax, rcx
jne 0x7a24c0
mov rdx, r8
and rdx, 0xfffffffffffffff0
lea rax, [r9 + rdx*4]
add r10, rdx
cmp r8, rdx
je 0x7a1a0e
mov edx, dword [rax]
mov byte [r10], dl
lea rdx, [rax + 4]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 4]
mov byte [r10 + 1], dl
lea rdx, [rax + 8]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 8]
mov byte [r10 + 2], dl
lea rdx, [rax + 0xc]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0xc]
mov byte [r10 + 3], dl
lea rdx, [rax + 0x10]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x10]
mov byte [r10 + 4], dl
lea rdx, [rax + 0x14]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x14]
mov byte [r10 + 5], dl
lea rdx, [rax + 0x18]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x18]
mov byte [r10 + 6], dl
lea rdx, [rax + 0x1c]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x1c]
mov byte [r10 + 7], dl
lea rdx, [rax + 0x20]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x20]
mov byte [r10 + 8], dl
lea rdx, [rax + 0x24]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x24]
mov byte [r10 + 9], dl
lea rdx, [rax + 0x28]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x28]
mov byte [r10 + 0xa], dl
lea rdx, [rax + 0x2c]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x2c]
mov byte [r10 + 0xb], dl
lea rdx, [rax + 0x30]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x30]
mov byte [r10 + 0xc], dl
lea rdx, [rax + 0x34]
cmp r11, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x34]
mov byte [r10 + 0xd], dl
lea rdx, [rax + 0x38]
cmp r11, rdx
jbe 0x7a1a0e
mov eax, dword [rax + 0x38]
mov byte [r10 + 0xe], al
jmp 0x7a1a0e
mov ecx, dword [rax]
add rax, 0x10
add rdx, 4
mov byte [rdx - 4], cl
mov ecx, dword [rax - 0xc]
mov byte [rdx - 3], cl
mov ecx, dword [rax - 8]
mov byte [rdx - 2], cl
mov ecx, dword [rax - 4]
mov byte [rdx - 1], cl
cmp rbx, rax
ja 0x7a2661
jmp 0x7a245e
add r9, 4
mov eax, dword [r9 - 4]
add r10, 1
cmp r11, r9
mov byte [r10 - 1], al
ja 0x7a2690
jmp 0x7a1a0e
mov r8, rax
jmp 0x7a186d
xor eax, eax
nop word [rax + rax]
movzx edx, byte [r8 + rax]
mov dword [r11 + rax*4], edx
add rax, 1
cmp r9, rax
jne 0x7a26c0
jmp 0x7a1a0e
test r11b, r11b
je 0x7a1a0e
test r8b, r8b
je 0x7a1a0e
lea r8, [rcx + rdx*2]
lea rdx, [r9*4]
lea r10, [rax + rdx]
and rdx, 0xfffffffffffffff0
lea rcx, [rax + rdx]
cmp rax, rcx
jae 0x7a27ad
sub rdx, 1
mov r11, rdx
shr r11, 4
add r11, 1
cmp rdx, 0xf
jbe 0x7a290d
mov rcx, r11
xor edx, edx
shr rcx, 1
shl rcx, 4
nop
movdqu xmm0, xmmword [rax + rdx*2]
movdqu xmm2, xmmword [rax + rdx*2 + 0x10]
movdqa xmm1, xmm0
punpckhwd xmm1, xmm2
punpcklwd xmm0, xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm2
movups xmmword [r8 + rdx], xmm0
add rdx, 0x10
cmp rdx, rcx
jne 0x7a2730
mov r9, r11
and r9, 0xfffffffffffffffe
lea rcx, [r8 + r9*8]
mov rdx, r9
shl rdx, 4
add rdx, rax
cmp r11, r9
je 0x7a279f
mov r9d, dword [rdx]
mov word [rcx], r9w
mov r9d, dword [rdx + 4]
mov word [rcx + 2], r9w
mov r9d, dword [rdx + 8]
mov edx, dword [rdx + 0xc]
mov word [rcx + 4], r9w
mov word [rcx + 6], dx
lea r8, [r8 + r11*8]
mov rdx, r11
shl rdx, 4
add rax, rdx
cmp r10, rax
jbe 0x7a1a0e
lea rdx, [r10 - 1]
sub rdx, rax
mov r9, rdx
shr r9, 2
add r9, 1
cmp rdx, 0x1b
jbe 0x7a282d
mov rcx, r9
xor edx, edx
shr rcx, 3
shl rcx, 4
nop dword [rax + rax]
movdqu xmm0, xmmword [rax + rdx*2]
movdqu xmm2, xmmword [rax + rdx*2 + 0x10]
movdqa xmm1, xmm0
punpckhwd xmm1, xmm2
punpcklwd xmm0, xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm1
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm2
movups xmmword [r8 + rdx], xmm0
add rdx, 0x10
cmp rdx, rcx
jne 0x7a27e0
mov rdx, r9
and rdx, 0xfffffffffffffff8
lea rax, [rax + rdx*4]
cmp r9, rdx
lea r8, [r8 + rdx*2]
je 0x7a1a0e
mov edx, dword [rax]
mov word [r8], dx
lea rdx, [rax + 4]
cmp r10, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 4]
mov word [r8 + 2], dx
lea rdx, [rax + 8]
cmp r10, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 8]
mov word [r8 + 4], dx
lea rdx, [rax + 0xc]
cmp r10, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0xc]
mov word [r8 + 6], dx
lea rdx, [rax + 0x10]
cmp r10, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x10]
mov word [r8 + 8], dx
lea rdx, [rax + 0x14]
cmp r10, rdx
jbe 0x7a1a0e
mov edx, dword [rax + 0x14]
mov word [r8 + 0xa], dx
lea rdx, [rax + 0x18]
cmp r10, rdx
jbe 0x7a1a0e
mov eax, dword [rax + 0x18]
mov word [r8 + 0xc], ax
jmp 0x7a1a0e
mov r8, rax
jmp 0x7a1bab
mov r10, rcx
mov rdx, rax
jmp 0x7a1e4d
mov rdx, r8
nop dword [rax]
movzx ecx, word [rax]
add rax, 8
add rdx, 4
mov byte [rdx - 4], cl
movzx ecx, word [rax - 6]
mov byte [rdx - 3], cl
movzx ecx, word [rax - 4]
mov byte [rdx - 2], cl
movzx ecx, word [rax - 2]
mov byte [rdx - 1], cl
cmp rsi, rax
ja 0x7a28d0
jmp 0x7a20ad
mov r9, rax
jmp 0x7a20b0
mov r9, rax
jmp 0x7a2461
mov rcx, r8
mov rdx, rax
jmp 0x7a277f