Function at 0x4a7120
Capabilities:
Enumerate pe sections

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
movzx esi, byte [r8 + 0x20]
mov eax, esi
mov edi, esi
shr al, 2
mov r10, rcx
mov rbx, rdx
and eax, 7
and edi, 0x20
je 0x4a74a8
lea rdx, [r8 + 0x30]
lea r12, [r8 + 0x48]
test sil, 0x40
cmovne r12, rdx
movzx edx, byte [r10 + 0x20]
mov ecx, edx
mov r13d, edx
shr cl, 2
and ecx, 7
movzx ebp, cl
and r13d, 0x20
je 0x4a74b8
lea r14, [r10 + 0x30]
lea r11, [r10 + 0x48]
test dl, 0x40
cmovne r11, r14
cmp eax, ebp
je 0x4a74c4
cmp eax, 1
sete cl
cmp ebp, 2
sete r11b
test cl, cl
je 0x4a74f0
test r11b, r11b
je 0x4a74f0
test r13b, r13b
jne 0x4a7890
mov r10, qword [r10 + 0x48]
lea r11, [r10 + rbx*2]
test dil, dil
je 0x4a78ac
lea rax, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and esi, 0x40
cmovne rdx, rax
lea r8, [rdx + r9]
and r9, 0xfffffffffffffffc
lea rdi, [rdx + r9]
cmp rdx, rdi
jae 0x4a82f0
sub r9, 1
mov rsi, r9
shr rsi, 2
add rsi, 1
lea rax, [rsi*4]
lea rcx, [rdx + rax]
add rax, rbx
lea rax, [r10 + rax*2]
cmp rdx, rax
setae r10b
cmp r11, rcx
setae al
or r10b, al
je 0x4a7e20
cmp r9, 0xb
jbe 0x4a7e20
mov r9, rsi
xor eax, eax
pxor xmm1, xmm1
shr r9, 2
shl r9, 4
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [r11 + rax*2 + 0x10], xmm0
movups xmmword [r11 + rax*2], xmm2
add rax, 0x10
cmp r9, rax
jne 0x4a7240
mov r9, rsi
and r9, 0xfffffffffffffffc
lea rax, [rdx + r9*4]
lea rdx, [r11 + r9*8]
cmp rsi, r9
je 0x4a7303
movzx r9d, byte [rax]
mov word [rdx], r9w
movzx r9d, byte [rax + 1]
mov word [rdx + 2], r9w
movzx r9d, byte [rax + 2]
mov word [rdx + 4], r9w
movzx r9d, byte [rax + 3]
mov word [rdx + 6], r9w
lea r9, [rax + 4]
cmp rdi, r9
jbe 0x4a7303
movzx r9d, byte [rax + 4]
mov word [rdx + 8], r9w
movzx r9d, byte [rax + 5]
mov word [rdx + 0xa], r9w
movzx r9d, byte [rax + 6]
mov word [rdx + 0xc], r9w
movzx r9d, byte [rax + 7]
mov word [rdx + 0xe], r9w
lea r9, [rax + 8]
cmp rdi, r9
jbe 0x4a7303
movzx r9d, byte [rax + 8]
mov word [rdx + 0x10], r9w
movzx r9d, byte [rax + 9]
mov word [rdx + 0x12], r9w
movzx r9d, byte [rax + 0xa]
mov word [rdx + 0x14], r9w
movzx eax, byte [rax + 0xb]
mov word [rdx + 0x16], ax
lea r11, [r11 + rsi*8]
cmp r8, rcx
jbe 0x4a7498
mov rdx, r8
sub rdx, rcx
lea rax, [r11 + rdx*2]
cmp rcx, rax
setae r9b
cmp r8, r11
setbe al
or r9b, al
je 0x4a7e00
lea rax, [r8 - 1]
sub rax, rcx
cmp rax, 0xe
jbe 0x4a7e00
mov r9, rdx
xor eax, eax
pxor xmm1, xmm1
and r9, 0xfffffffffffffff0
nop
movdqu xmm0, xmmword [rcx + rax]
movdqa xmm2, xmm0
punpckhbw xmm0, xmm1
punpcklbw xmm2, xmm1
movups xmmword [r11 + rax*2 + 0x10], xmm0
movups xmmword [r11 + rax*2], xmm2
add rax, 0x10
cmp r9, rax
jne 0x4a7350
mov r9, rdx
and r9, 0xfffffffffffffff0
add rcx, r9
lea rax, [r11 + r9*2]
cmp rdx, r9
je 0x4a7498
movzx edx, byte [rcx]
mov word [rax], dx
lea rdx, [rcx + 1]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 1]
mov word [rax + 2], dx
lea rdx, [rcx + 2]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 2]
mov word [rax + 4], dx
lea rdx, [rcx + 3]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 3]
mov word [rax + 6], dx
lea rdx, [rcx + 4]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 4]
mov word [rax + 8], dx
lea rdx, [rcx + 5]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 5]
mov word [rax + 0xa], dx
lea rdx, [rcx + 6]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 6]
mov word [rax + 0xc], dx
lea rdx, [rcx + 7]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 7]
mov word [rax + 0xe], dx
lea rdx, [rcx + 8]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 8]
mov word [rax + 0x10], dx
lea rdx, [rcx + 9]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 9]
mov word [rax + 0x12], dx
lea rdx, [rcx + 0xa]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 0xa]
mov word [rax + 0x14], dx
lea rdx, [rcx + 0xb]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 0xb]
mov word [rax + 0x16], dx
lea rdx, [rcx + 0xc]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 0xc]
mov word [rax + 0x18], dx
lea rdx, [rcx + 0xd]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 0xd]
mov word [rax + 0x1a], dx
lea rdx, [rcx + 0xe]
cmp r8, rdx
jbe 0x4a7498
movzx edx, byte [rcx + 0xe]
mov word [rax + 0x1c], dx
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r12, qword [r8 + 0x48]
jmp 0x4a7158
mov r11, qword [r10 + 0x48]
cmp eax, ebp
jne 0x4a718c
movzx r8d, cl
mov rdx, r12
imul rbx, r8
imul r8, r9
add r11, rbx
mov rcx, r11
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sub.msvcrt.dll_memcpy
cmp ebp, 4
sete r12b
test cl, cl
je 0x4a78b8
test r12b, r12b
je 0x4a78b8
test r13b, r13b
je 0x4a7ac0
lea rax, [r10 + 0x30]
add r10, 0x48
and edx, 0x40
cmovne r10, rax
lea r11, [r10 + rbx*4]
test dil, dil
je 0x4a7ab0
lea rax, [r8 + 0x30]
add r8, 0x48
and esi, 0x40
cmove rax, r8
mov rdx, rax
lea rsi, [rdx + r9]
and r9, 0xfffffffffffffffc
lea rbp, [rdx + r9]
cmp rdx, rbp
jae 0x4a8546
sub r9, 1
mov rcx, rdx
mov rdi, r9
shr rdi, 2
add rdi, 1
lea rax, [rdi*4]
lea r8, [rdx + rax]
add rax, rbx
lea rax, [r10 + rax*4]
cmp rdx, rax
setae r10b
cmp r11, r8
setae al
or r10b, al
mov rax, r11
je 0x4a7860
cmp r9, 0xb
jbe 0x4a7860
mov r9, rdi
pxor xmm3, xmm3
pxor xmm2, xmm2
shr r9, 2
shl r9, 4
add r9, rdx
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add rcx, 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
punpcklwd xmm1, xmm2
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm0
cmp rcx, r9
jne 0x4a75b8
mov rcx, rdi
and rcx, 0xfffffffffffffffc
mov rax, rcx
lea rdx, [rdx + rcx*4]
shl rax, 4
add rax, r11
cmp rdi, rcx
je 0x4a767b
movzx ecx, byte [rdx]
mov dword [rax], ecx
movzx ecx, byte [rdx + 1]
mov dword [rax + 4], ecx
movzx ecx, byte [rdx + 2]
mov dword [rax + 8], ecx
movzx ecx, byte [rdx + 3]
mov dword [rax + 0xc], ecx
lea rcx, [rdx + 4]
cmp rbp, rcx
jbe 0x4a767b
movzx ecx, byte [rdx + 4]
mov dword [rax + 0x10], ecx
movzx ecx, byte [rdx + 5]
mov dword [rax + 0x14], ecx
movzx ecx, byte [rdx + 6]
mov dword [rax + 0x18], ecx
movzx ecx, byte [rdx + 7]
mov dword [rax + 0x1c], ecx
lea rcx, [rdx + 8]
cmp rbp, rcx
jbe 0x4a767b
movzx ecx, byte [rdx + 8]
mov dword [rax + 0x20], ecx
movzx ecx, byte [rdx + 9]
mov dword [rax + 0x24], ecx
movzx ecx, byte [rdx + 0xa]
mov dword [rax + 0x28], ecx
movzx edx, byte [rdx + 0xb]
mov dword [rax + 0x2c], edx
shl rdi, 4
add r11, rdi
cmp rsi, r8
jbe 0x4a7498
mov r9, rsi
mov rdx, r8
sub r9, r8
lea rax, [r11 + r9*4]
cmp r8, rax
setae cl
cmp rsi, r11
setbe al
or cl, al
je 0x4a82f8
lea rax, [rsi - 1]
sub rax, r8
cmp rax, 0xe
jbe 0x4a82f8
mov rcx, r9
pxor xmm3, xmm3
pxor xmm2, xmm2
mov rax, r11
and rcx, 0xfffffffffffffff0
add rcx, r8
nop word [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
punpcklwd xmm1, xmm2
movups xmmword [rax - 0x40], xmm4
movups xmmword [rax - 0x20], xmm1
movups xmmword [rax - 0x10], xmm0
cmp rdx, rcx
jne 0x4a76d8
mov rcx, r9
and rcx, 0xfffffffffffffff0
lea rax, [r8 + rcx]
lea rdx, [r11 + rcx*4]
cmp r9, rcx
je 0x4a7498
movzx ecx, byte [rax]
mov dword [rdx], ecx
lea rcx, [rax + 1]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 1]
mov dword [rdx + 4], ecx
lea rcx, [rax + 2]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 2]
mov dword [rdx + 8], ecx
lea rcx, [rax + 3]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 3]
mov dword [rdx + 0xc], ecx
lea rcx, [rax + 4]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 4]
mov dword [rdx + 0x10], ecx
lea rcx, [rax + 5]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 5]
mov dword [rdx + 0x14], ecx
lea rcx, [rax + 6]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 6]
mov dword [rdx + 0x18], ecx
lea rcx, [rax + 7]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 7]
mov dword [rdx + 0x1c], ecx
lea rcx, [rax + 8]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 8]
mov dword [rdx + 0x20], ecx
lea rcx, [rax + 9]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 9]
mov dword [rdx + 0x24], ecx
lea rcx, [rax + 0xa]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 0xa]
mov dword [rdx + 0x28], ecx
lea rcx, [rax + 0xb]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 0xb]
mov dword [rdx + 0x2c], ecx
lea rcx, [rax + 0xc]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 0xc]
mov dword [rdx + 0x30], ecx
lea rcx, [rax + 0xd]
cmp rsi, rcx
jbe 0x4a7498
movzx ecx, byte [rax + 0xd]
mov dword [rdx + 0x34], ecx
lea rcx, [rax + 0xe]
cmp rsi, rcx
jbe 0x4a7498
movzx eax, byte [rax + 0xe]
mov dword [rdx + 0x38], eax
jmp 0x4a7498
movzx ecx, byte [rdx]
add rdx, 4
add rax, 0x10
mov dword [rax - 0x10], ecx
movzx ecx, byte [rdx - 3]
mov dword [rax - 0xc], ecx
movzx ecx, byte [rdx - 2]
mov dword [rax - 8], ecx
movzx ecx, byte [rdx - 1]
mov dword [rax - 4], ecx
cmp rbp, rdx
ja 0x4a7860
jmp 0x4a767b
lea rax, [r10 + 0x30]
add r10, 0x48
and edx, 0x40
cmovne r10, rax
lea r11, [r10 + rbx*2]
test dil, dil
jne 0x4a71c4
mov rdx, qword [r8 + 0x48]
jmp 0x4a71d3
cmp eax, 2
sete cl
test r12b, r12b
je 0x4a7ad0
test cl, cl
je 0x4a7ad0
test r13b, r13b
jne 0x4a7ea0
mov rax, qword [r10 + 0x48]
lea rcx, [rax + rbx*4]
test dil, dil
je 0x4a82e0
lea rax, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and esi, 0x40
cmovne rdx, rax
add r9, r9
lea r10, [rdx + r9]
and r9, 0xfffffffffffffff8
add r9, rdx
cmp rdx, r9
jae 0x4a79b9
mov rax, rdx
not rax
add r9, rax
mov r11, r9
shr r11, 3
add r11, 1
cmp r9, 7
jbe 0x4a8560
mov r8, r11
xor eax, eax
pxor xmm1, xmm1
shr r8, 1
shl r8, 4
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [rcx + rax*2 + 0x10], xmm0
movups xmmword [rcx + rax*2], xmm2
add rax, 0x10
cmp rax, r8
jne 0x4a7940
mov r8, r11
and r8, 0xfffffffffffffffe
mov r9, r8
lea rax, [rdx + r8*8]
shl r9, 4
add r9, rcx
cmp r11, r8
je 0x4a79ae
movzx ebx, word [rax]
movzx r8d, word [rax + 2]
movd xmm0, ebx
movzx ebx, word [rax + 4]
movzx eax, word [rax + 6]
movd xmm1, ebx
movd xmm5, eax
punpckldq xmm1, xmm5
movd xmm5, r8d
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movups xmmword [r9], xmm0
lea rdx, [rdx + r11*8]
shl r11, 4
add rcx, r11
cmp rdx, r10
jae 0x4a7498
lea rax, [r10 - 1]
sub rax, rdx
mov r9, rax
shr r9, 1
add r9, 1
cmp rax, 0xd
jbe 0x4a7a2b
mov r8, r9
xor eax, eax
pxor xmm1, xmm1
shr r8, 3
shl r8, 4
nop word [rax + rax]
movdqu xmm0, xmmword [rdx + rax]
movdqa xmm2, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm2, xmm1
movups xmmword [rcx + rax*2 + 0x10], xmm0
movups xmmword [rcx + rax*2], xmm2
add rax, 0x10
cmp rax, r8
jne 0x4a79f0
mov rax, r9
and rax, 0xfffffffffffffff8
lea rdx, [rdx + rax*2]
lea rcx, [rcx + rax*4]
cmp r9, rax
je 0x4a7498
movzx eax, word [rdx]
mov dword [rcx], eax
lea rax, [rdx + 2]
cmp r10, rax
jbe 0x4a7498
movzx eax, word [rdx + 2]
mov dword [rcx + 4], eax
lea rax, [rdx + 4]
cmp r10, rax
jbe 0x4a7498
movzx eax, word [rdx + 4]
mov dword [rcx + 8], eax
lea rax, [rdx + 6]
cmp r10, rax
jbe 0x4a7498
movzx eax, word [rdx + 6]
mov dword [rcx + 0xc], eax
lea rax, [rdx + 8]
cmp r10, rax
jbe 0x4a7498
movzx eax, word [rdx + 8]
mov dword [rcx + 0x10], eax
lea rax, [rdx + 0xa]
cmp r10, rax
jbe 0x4a7498
movzx eax, word [rdx + 0xa]
mov dword [rcx + 0x14], eax
lea rax, [rdx + 0xc]
cmp r10, rax
jbe 0x4a7498
movzx eax, word [rdx + 0xc]
mov dword [rcx + 0x18], eax
jmp 0x4a7498
mov rdx, qword [r8 + 0x48]
jmp 0x4a753f
mov r10, qword [r10 + 0x48]
jmp 0x4a7520
cmp ebp, 1
sete bpl
test cl, cl
je 0x4a7ed8
test bpl, bpl
je 0x4a7ed8
test r13b, r13b
je 0x4a8320
lea rax, [r10 + 0x30]
lea rcx, [r10 + 0x48]
and edx, 0x40
cmovne rcx, rax
lea rbp, [rcx + rbx]
test dil, dil
je 0x4a8317
lea rax, [r8 + 0x30]
add r8, 0x48
and esi, 0x40
cmovne r8, rax
lea rsi, [r9 + r9]
lea r11, [r8 + rsi]
and rsi, 0xfffffffffffffff8
add rsi, r8
cmp r8, rsi
jae 0x4a857d
mov rax, r8
not rax
add rax, rsi
mov rdx, rax
shr rdx, 3
add rdx, 1
lea r9, [rbx + rdx*4]
lea r10, [r8 + rdx*8]
add r9, rcx
cmp rbp, r10
setae bl
cmp r8, r9
setae cl
or bl, cl
je 0x4a7e68
cmp rax, 0x17
jbe 0x4a7e68
mov rcx, rdx
movdqa xmm1, xmmword [0x00540840]
xor eax, eax
shr rcx, 2
shl rcx, 4
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r8 + rax*2]
movdqu xmm2, xmmword [r8 + rax*2 + 0x10]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rbp + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x4a7b90
mov rbx, rdx
and rbx, 0xfffffffffffffffc
lea rax, [r8 + rbx*8]
lea rcx, [rbp + rbx*4]
cmp rdx, rbx
je 0x4a7c30
movzx edx, word [rax]
mov byte [rcx], dl
movzx edx, word [rax + 2]
mov byte [rcx + 1], dl
movzx edx, word [rax + 4]
mov byte [rcx + 2], dl
movzx edx, word [rax + 6]
mov byte [rcx + 3], dl
lea rdx, [rax + 8]
cmp rsi, rdx
jbe 0x4a7c30
movzx edx, word [rax + 8]
mov byte [rcx + 4], dl
movzx edx, word [rax + 0xa]
mov byte [rcx + 5], dl
movzx edx, word [rax + 0xc]
mov byte [rcx + 6], dl
movzx edx, word [rax + 0xe]
mov byte [rcx + 7], dl
lea rdx, [rax + 0x10]
cmp rsi, rdx
jbe 0x4a7c30
movzx edx, word [rax + 0x10]
mov byte [rcx + 8], dl
movzx edx, word [rax + 0x12]
mov byte [rcx + 9], dl
movzx edx, word [rax + 0x14]
mov byte [rcx + 0xa], dl
movzx eax, word [rax + 0x16]
mov byte [rcx + 0xb], al
cmp r11, r10
jbe 0x4a7498
lea rax, [r11 - 1]
sub rax, r10
mov rdx, rax
shr rdx, 1
add rdx, 1
lea rcx, [r10 + rdx*2]
cmp r9, rcx
lea rcx, [r9 + rdx]
setae r8b
cmp r10, rcx
setae cl
or r8b, cl
je 0x4a7eb8
cmp rax, 0x1d
jbe 0x4a7eb8
mov rcx, rdx
movdqa xmm1, xmmword [0x00540840]
xor eax, eax
and rcx, 0xfffffffffffffff0
nop dword [rax + rax]
movdqu xmm0, xmmword [r10 + rax*2]
movdqu xmm2, xmmword [r10 + rax*2 + 0x10]
pand xmm0, xmm1
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [r9 + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x4a7c88
mov rcx, rdx
and rcx, 0xfffffffffffffff0
lea rax, [r10 + rcx*2]
add r9, rcx
cmp rdx, rcx
je 0x4a7498
movzx edx, word [rax]
mov byte [r9], dl
lea rdx, [rax + 2]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 2]
mov byte [r9 + 1], dl
lea rdx, [rax + 4]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 4]
mov byte [r9 + 2], dl
lea rdx, [rax + 6]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 6]
mov byte [r9 + 3], dl
lea rdx, [rax + 8]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 8]
mov byte [r9 + 4], dl
lea rdx, [rax + 0xa]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0xa]
mov byte [r9 + 5], dl
lea rdx, [rax + 0xc]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0xc]
mov byte [r9 + 6], dl
lea rdx, [rax + 0xe]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0xe]
mov byte [r9 + 7], dl
lea rdx, [rax + 0x10]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0x10]
mov byte [r9 + 8], dl
lea rdx, [rax + 0x12]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0x12]
mov byte [r9 + 9], dl
lea rdx, [rax + 0x14]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0x14]
mov byte [r9 + 0xa], dl
lea rdx, [rax + 0x16]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0x16]
mov byte [r9 + 0xb], dl
lea rdx, [rax + 0x18]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0x18]
mov byte [r9 + 0xc], dl
lea rdx, [rax + 0x1a]
cmp r11, rdx
jbe 0x4a7498
movzx edx, word [rax + 0x1a]
mov byte [r9 + 0xd], dl
lea rdx, [rax + 0x1c]
cmp r11, rdx
jbe 0x4a7498
movzx eax, word [rax + 0x1c]
mov byte [r9 + 0xe], al
jmp 0x4a7498
xor eax, eax
nop word [rax + rax]
movzx r8d, byte [rcx + rax]
mov word [r11 + rax*2], r8w
add rax, 1
cmp rdx, rax
jne 0x4a7e08
jmp 0x4a7498
mov rax, r11
nop dword [rax + rax]
movzx r9d, byte [rdx]
add rdx, 4
add rax, 8
mov word [rax - 8], r9w
movzx r9d, byte [rdx - 3]
mov word [rax - 6], r9w
movzx r9d, byte [rdx - 2]
mov word [rax - 4], r9w
movzx r9d, byte [rdx - 1]
mov word [rax - 2], r9w
cmp rdi, rdx
ja 0x4a7e28
jmp 0x4a7303
movzx eax, word [r8]
add r8, 8
add rbp, 4
mov byte [rbp - 4], al
movzx eax, word [r8 - 6]
mov byte [rbp - 3], al
movzx eax, word [r8 - 4]
mov byte [rbp - 2], al
movzx eax, word [r8 - 2]
mov byte [rbp - 1], al
cmp rsi, r8
ja 0x4a7e68
jmp 0x4a7c30
lea rcx, [r10 + 0x30]
lea rax, [r10 + 0x48]
and edx, 0x40
cmovne rax, rcx
jmp 0x4a78dc
movzx eax, word [r10]
add r10, 2
add r9, 1
mov byte [r9 - 1], al
cmp r11, r10
ja 0x4a7eb8
jmp 0x4a7498
cmp eax, 4
sete al
test bpl, bpl
je 0x4a8329
test al, al
je 0x4a8329
test r13b, r13b
je 0x4a8557
lea rax, [r10 + 0x30]
lea rcx, [r10 + 0x48]
and edx, 0x40
cmovne rcx, rax
lea r10, [rcx + rbx]
test dil, dil
je 0x4a854e
lea rax, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and esi, 0x40
cmovne rdx, rax
lea r11, [r9*4]
lea rsi, [rdx + r11]
and r11, 0xfffffffffffffff0
add r11, rdx
cmp rdx, r11
jae 0x4a8588
mov r9, rdx
mov rax, rdx
not r9
add r9, r11
mov rdi, r9
shr rdi, 4
add rdi, 1
mov r8, rdi
lea rbx, [rbx + rdi*4]
shl r8, 4
add rcx, rbx
add r8, rdx
cmp r10, r8
setae bpl
cmp rdx, rcx
setae bl
or bpl, bl
je 0x4a8290
cmp r9, 0x2f
jbe 0x4a8290
mov rbx, rdi
movdqa xmm1, xmmword [0x00540840]
mov r9, r10
shr rbx, 2
shl rbx, 6
add rbx, rdx
movdqu xmm5, xmmword [rax + 0x10]
movdqu xmm0, xmmword [rax]
add rax, 0x40
add r9, 0x10
movdqa xmm2, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm2, xmm5
movdqa xmm3, xmm0
movdqu xmm5, xmmword [rax - 0x10]
punpckhwd xmm3, xmm2
punpcklwd xmm0, xmm2
movdqu xmm2, xmmword [rax - 0x20]
punpcklwd xmm0, xmm3
movdqa xmm3, xmm2
punpcklwd xmm2, xmm5
pand xmm0, xmm1
punpckhwd xmm3, xmm5
movdqa xmm4, xmm2
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [r9 - 0x10], xmm0
cmp rax, rbx
jne 0x4a7fa0
mov r9, rdi
and r9, 0xfffffffffffffffc
mov rax, r9
shl rax, 4
add rdx, rax
lea rax, [r10 + r9*4]
cmp rdi, r9
je 0x4a8091
mov r9d, dword [rdx]
mov byte [rax], r9b
mov r9d, dword [rdx + 4]
mov byte [rax + 1], r9b
mov r9d, dword [rdx + 8]
mov byte [rax + 2], r9b
mov r9d, dword [rdx + 0xc]
mov byte [rax + 3], r9b
lea r9, [rdx + 0x10]
cmp r11, r9
jbe 0x4a8091
mov r9d, dword [rdx + 0x10]
mov byte [rax + 4], r9b
mov r9d, dword [rdx + 0x14]
mov byte [rax + 5], r9b
mov r9d, dword [rdx + 0x18]
mov byte [rax + 6], r9b
mov r9d, dword [rdx + 0x1c]
mov byte [rax + 7], r9b
lea r9, [rdx + 0x20]
cmp r11, r9
jbe 0x4a8091
mov r9d, dword [rdx + 0x20]
mov byte [rax + 8], r9b
mov r9d, dword [rdx + 0x24]
mov byte [rax + 9], r9b
mov r9d, dword [rdx + 0x28]
mov byte [rax + 0xa], r9b
mov edx, dword [rdx + 0x2c]
mov byte [rax + 0xb], dl
cmp rsi, r8
jbe 0x4a7498
lea rdx, [rsi - 1]
mov rax, r8
sub rdx, r8
mov r10, rdx
shr r10, 2
add r10, 1
lea r9, [r8 + r10*4]
cmp rcx, r9
lea r9, [rcx + r10]
setae r11b
cmp r8, r9
setae r9b
or r11b, r9b
je 0x4a82c0
cmp rdx, 0x3b
jbe 0x4a82c0
mov r9, r10
movdqa xmm1, xmmword [0x00540840]
mov rdx, rcx
shr r9, 4
shl r9, 6
add r9, r8
nop dword [rax]
movdqu xmm5, xmmword [rax + 0x10]
movdqu xmm0, xmmword [rax]
add rax, 0x40
add rdx, 0x10
movdqa xmm2, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm2, xmm5
movdqa xmm3, xmm0
movdqu xmm5, xmmword [rax - 0x10]
punpckhwd xmm3, xmm2
punpcklwd xmm0, xmm2
movdqu xmm2, xmmword [rax - 0x20]
punpcklwd xmm0, xmm3
movdqa xmm3, xmm2
punpcklwd xmm2, xmm5
pand xmm0, xmm1
punpckhwd xmm3, xmm5
movdqa xmm4, xmm2
punpckhwd xmm4, xmm3
punpcklwd xmm2, xmm3
punpcklwd xmm2, xmm4
pand xmm2, xmm1
packuswb xmm0, xmm2
movups xmmword [rdx - 0x10], xmm0
cmp rax, r9
jne 0x4a80f8
mov rdx, r10
and rdx, 0xfffffffffffffff0
lea rax, [r8 + rdx*4]
add rcx, rdx
cmp r10, rdx
je 0x4a7498
mov edx, dword [rax]
mov byte [rcx], dl
lea rdx, [rax + 4]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 4]
mov byte [rcx + 1], dl
lea rdx, [rax + 8]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 8]
mov byte [rcx + 2], dl
lea rdx, [rax + 0xc]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0xc]
mov byte [rcx + 3], dl
lea rdx, [rax + 0x10]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x10]
mov byte [rcx + 4], dl
lea rdx, [rax + 0x14]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x14]
mov byte [rcx + 5], dl
lea rdx, [rax + 0x18]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x18]
mov byte [rcx + 6], dl
lea rdx, [rax + 0x1c]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x1c]
mov byte [rcx + 7], dl
lea rdx, [rax + 0x20]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x20]
mov byte [rcx + 8], dl
lea rdx, [rax + 0x24]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x24]
mov byte [rcx + 9], dl
lea rdx, [rax + 0x28]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x28]
mov byte [rcx + 0xa], dl
lea rdx, [rax + 0x2c]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x2c]
mov byte [rcx + 0xb], dl
lea rdx, [rax + 0x30]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x30]
mov byte [rcx + 0xc], dl
lea rdx, [rax + 0x34]
cmp rsi, rdx
jbe 0x4a7498
mov edx, dword [rax + 0x34]
mov byte [rcx + 0xd], dl
lea rdx, [rax + 0x38]
cmp rsi, rdx
jbe 0x4a7498
mov eax, dword [rax + 0x38]
mov byte [rcx + 0xe], al
jmp 0x4a7498
mov eax, dword [rdx]
add rdx, 0x10
add r10, 4
mov byte [r10 - 4], al
mov eax, dword [rdx - 0xc]
mov byte [r10 - 3], al
mov eax, dword [rdx - 8]
mov byte [r10 - 2], al
mov eax, dword [rdx - 4]
mov byte [r10 - 1], al
cmp r11, rdx
ja 0x4a8290
jmp 0x4a8091
mov eax, dword [r8]
add r8, 4
add rcx, 1
mov byte [rcx - 1], al
cmp rsi, r8
ja 0x4a82c0
jmp 0x4a7498
mov rdx, qword [r8 + 0x48]
jmp 0x4a78f8
mov rcx, rdx
jmp 0x4a7307
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 0x4a8300
jmp 0x4a7498
mov r8, qword [r8 + 0x48]
jmp 0x4a7b1c
mov rcx, qword [r10 + 0x48]
jmp 0x4a7b00
test r11b, r11b
je 0x4a7498
test al, al
je 0x4a7498
test r13b, r13b
je 0x4a8574
lea rcx, [r10 + 0x30]
lea rax, [r10 + 0x48]
and edx, 0x40
cmovne rax, rcx
lea r10, [rax + rbx*2]
test dil, dil
je 0x4a856b
lea rax, [r8 + 0x30]
lea rdx, [r8 + 0x48]
and esi, 0x40
cmovne rdx, rax
lea rax, [r9*4]
lea r9, [rdx + rax]
and rax, 0xfffffffffffffff0
add rax, rdx
cmp rdx, rax
jae 0x4a843e
mov rcx, rdx
not rcx
add rax, rcx
mov rbx, rax
shr rbx, 4
add rbx, 1
cmp rax, 0xf
jbe 0x4a8593
mov rcx, rbx
xor eax, eax
shr rcx, 1
shl rcx, 4
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm5, xmmword [rdx + rax*2 + 0x10]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm1, xmm5
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
punpcklwd xmm0, xmm2
movups xmmword [r10 + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x4a83b8
mov rax, rbx
and rax, 0xfffffffffffffffe
mov rcx, rax
lea r11, [r10 + rax*8]
shl rcx, 4
add rcx, rdx
cmp rbx, rax
je 0x4a8430
movzx eax, word [rcx + 0xc]
movzx r8d, word [rcx + 8]
shl rax, 0x10
or rax, r8
movzx r8d, word [rcx + 4]
movzx ecx, word [rcx]
shl rax, 0x10
or rax, r8
shl rax, 0x10
or rax, rcx
mov qword [r11], rax
mov rax, rbx
lea r10, [r10 + rbx*8]
shl rax, 4
add rdx, rax
cmp r9, rdx
jbe 0x4a7498
lea rax, [r9 - 1]
sub rax, rdx
mov r8, rax
shr r8, 2
add r8, 1
cmp rax, 0x1b
jbe 0x4a84bd
mov rcx, r8
xor eax, eax
shr rcx, 3
shl rcx, 4
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax*2]
movdqu xmm5, xmmword [rdx + rax*2 + 0x10]
movdqa xmm1, xmm0
punpcklwd xmm0, xmm5
punpckhwd xmm1, xmm5
movdqa xmm2, xmm0
punpckhwd xmm2, xmm1
punpcklwd xmm0, xmm1
punpcklwd xmm0, xmm2
movups xmmword [r10 + rax], xmm0
add rax, 0x10
cmp rax, rcx
jne 0x4a8470
mov rax, r8
and rax, 0xfffffffffffffff8
lea rdx, [rdx + rax*4]
lea r10, [r10 + rax*2]
cmp r8, rax
je 0x4a7498
mov eax, dword [rdx]
mov word [r10], ax
lea rax, [rdx + 4]
cmp r9, rax
jbe 0x4a7498
mov eax, dword [rdx + 4]
mov word [r10 + 2], ax
lea rax, [rdx + 8]
cmp r9, rax
jbe 0x4a7498
mov eax, dword [rdx + 8]
mov word [r10 + 4], ax
lea rax, [rdx + 0xc]
cmp r9, rax
jbe 0x4a7498
mov eax, dword [rdx + 0xc]
mov word [r10 + 6], ax
lea rax, [rdx + 0x10]
cmp r9, rax
jbe 0x4a7498
mov eax, dword [rdx + 0x10]
mov word [r10 + 8], ax
lea rax, [rdx + 0x14]
cmp r9, rax
jbe 0x4a7498
mov eax, dword [rdx + 0x14]
mov word [r10 + 0xa], ax
lea rax, [rdx + 0x18]
cmp r9, rax
jbe 0x4a7498
mov eax, dword [rdx + 0x18]
mov word [r10 + 0xc], ax
jmp 0x4a7498
mov r8, rdx
jmp 0x4a7682
mov rdx, qword [r8 + 0x48]
jmp 0x4a7f23
mov rcx, qword [r10 + 0x48]
jmp 0x4a7f07
mov r9, rcx
mov rax, rdx
jmp 0x4a797d
mov rdx, qword [r8 + 0x48]
jmp 0x4a836e
mov rax, qword [r10 + 0x48]
jmp 0x4a8352
mov r9, rbp
mov r10, r8
jmp 0x4a7c30
mov rcx, r10
mov r8, rdx
jmp 0x4a8091
mov r11, r10
mov rcx, rdx
jmp 0x4a8407