Function at 0x5aac20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov eax, dword [rcx + 8]
mov rdi, qword [rcx]
mov r8d, 1
mov r14, qword [rcx + 0x28]
mov r13, qword [rcx + 0x10]
mov r15, rcx
mov r11d, r8d
sub eax, 5
add rax, rdi
mov ebp, dword [r14 + 0x3c]
mov rbx, r13
mov qword [rsp + 8], rax
mov eax, dword [rcx + 0x18]
mov ecx, dword [r14 + 0x70]
mov rsi, qword [r14 + 0x60]
mov r9d, ebp
sub edx, eax
sub eax, 0x101
shl r11d, cl
add rax, r13
sub rbx, rdx
mov ecx, r11d
mov qword [rsp + 0x10], rax
mov eax, dword [r14 + 0x34]
sub ecx, 1
mov qword [rsp + 0x38], rbx
mov ebx, dword [r14 + 0x38]
mov dword [rsp + 0x18], ecx
mov ecx, dword [r14 + 0x74]
mov dword [rsp + 0x1c], eax
mov rax, qword [r14 + 0x40]
mov dword [rsp + 0x48], ebx
mov edx, dword [r14 + 0x4c]
shl r8d, cl
mov rbx, qword [r14 + 0x68]
lea ecx, [r8 - 1]
mov r10, rax
mov qword [rsp + 0x20], rax
mov eax, dword [r14 + 0x48]
mov dword [rsp + 0x30], ecx
mov rcx, r10
neg rcx
and ecx, 0xf
cmp ecx, ebp
cmova ecx, ebp
sub r9d, ecx
mov r11d, ecx
mov dword [rsp + 0x34], ecx
lea ecx, [r9 - 0x10]
mov dword [rsp + 0x58], r9d
shr ecx, 4
add ecx, 1
mov dword [rsp + 0x54], ecx
shl ecx, 4
mov r9d, ecx
mov dword [rsp + 0x50], ecx
lea ecx, [rbp - 1]
mov r12d, r9d
mov r9d, dword [rsp + 0x1c]
mov r8d, ecx
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x28], ecx
sub r8d, r11d
mov r12d, 1
add r9d, ebp
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x5c], r9d
lea r9, [r10 + 0x10]
mov qword [rsp + 0x60], r9
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x2c], ebp
mov qword [rsp + 0x68], rcx
add rcx, 1
mov qword [rsp + 0x70], rcx
mov ecx, r11d
add r10, rcx
add rcx, 1
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x80], rcx
cmp edx, 0xe
ja 0x5aad89
movzx r8d, byte [rdi]
mov ecx, edx
add rdi, 2
mov r9d, r8d
movzx r8d, byte [rdi - 1]
shl r9d, cl
lea ecx, [rdx + 8]
add edx, 0x10
shl r8d, cl
add r8d, r9d
add eax, r8d
mov ecx, dword [rsp + 0x18]
and ecx, eax
jmp 0x5aadb9
test cl, 0x10
jne 0x5aae80
test cl, 0x40
jne 0x5ab4c0
mov r11d, r12d
movzx r8d, word [r9 + 2]
shl r11d, cl
mov ecx, r11d
sub ecx, 1
and ecx, eax
add rcx, r8
lea r9, [rsi + rcx*4]
movzx r8d, byte [r9 + 1]
mov ecx, r8d
sub edx, r8d
shr eax, cl
movzx ecx, byte [r9]
test cl, cl
jne 0x5aad91
movzx ecx, word [r9 + 2]
add r13, 1
mov byte [r13 - 1], cl
cmp r13, qword [rsp + 0x10]
jae 0x5aadf1
cmp rdi, qword [rsp + 8]
jb 0x5aad60
mov ecx, edx
mov qword [r15 + 0x10], r13
shr ecx, 3
mov r8d, ecx
shl ecx, 3
sub edx, ecx
sub rdi, r8
mov r8d, 1
mov ecx, edx
mov qword [r15], rdi
shl r8d, cl
sub r8d, 1
and eax, r8d
cmp qword [rsp + 8], rdi
jbe 0x5ab4d2
mov rdx, qword [rsp + 8]
sub rdx, rdi
add edx, 5
mov rbx, qword [rsp + 0x10]
mov dword [r15 + 8], edx
mov edx, ebx
sub edx, r13d
cmp r13, rbx
lea r8d, [rdx + 0x101]
jae 0x5aae57
mov r8, rbx
sub r8, r13
add r8d, 0x101
mov dword [r15 + 0x18], r8d
mov dword [r14 + 0x48], eax
mov dword [r14 + 0x4c], ecx
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
and ecx, 0xf
movzx r9d, word [r9 + 2]
mov r8d, ecx
je 0x5aaec5
movzx r10d, cl
cmp r10d, edx
jbe 0x5aaea9
movzx r11d, byte [rdi]
mov ecx, edx
add rdi, 1
add edx, 8
shl r11d, cl
add eax, r11d
mov ecx, r8d
mov r11d, r12d
sub edx, r10d
shl r11d, cl
mov ecx, r11d
sub ecx, 1
and ecx, eax
add r9d, ecx
mov ecx, r8d
shr eax, cl
cmp edx, 0xe
jbe 0x5ab4e3
mov ecx, dword [rsp + 0x30]
and ecx, eax
jmp 0x5aaeff
test cl, 0x40
jne 0x5ab530
mov r11d, r12d
movzx r8d, word [r10 + 2]
shl r11d, cl
mov ecx, r11d
sub ecx, 1
and ecx, eax
add rcx, r8
lea r10, [rbx + rcx*4]
movzx r8d, byte [r10 + 1]
mov ecx, r8d
sub edx, r8d
shr eax, cl
movzx ecx, byte [r10]
test cl, 0x10
je 0x5aaee0
and ecx, 0xf
movzx r11d, word [r10 + 2]
movzx r10d, cl
cmp r10d, edx
mov r8d, r10d
jbe 0x5aaf48
movzx ebp, byte [rdi]
mov ecx, edx
shl ebp, cl
lea ecx, [rdx + 8]
add eax, ebp
cmp r10d, ecx
ja 0x5ac009
add rdi, 1
mov edx, ecx
mov ecx, r8d
mov ebp, r12d
sub edx, r10d
shl ebp, cl
mov ecx, ebp
sub ecx, 1
and ecx, eax
add r11d, ecx
mov ecx, r8d
shr eax, cl
mov rcx, r13
sub rcx, qword [rsp + 0x38]
cmp r11d, ecx
jbe 0x5ab548
mov r10d, r11d
sub r10d, ecx
cmp dword [rsp + 0x48], r10d
mov ecx, r10d
jae 0x5aaf92
mov ebp, dword [r14 + 0x1be0]
test ebp, ebp
jne 0x5ac6ea
mov r10d, dword [rsp + 0x2c]
test r10d, r10d
jne 0x5ab611
mov r10d, dword [rsp + 0x1c]
mov r8, qword [rsp + 0x20]
sub r10d, ecx
add r8, r10
cmp r9d, ecx
mov qword [rsp + 0x98], r10
jbe 0x5ab5d6
mov rbp, r10
mov r10, qword [rsp + 0x20]
sub r9d, ecx
lea r10, [r10 + rbp + 0x10]
cmp r13, r10
lea r10, [r13 + 0x10]
setae bpl
cmp r8, r10
setae r10b
or bpl, r10b
je 0x5ac5d6
cmp ecx, 0x16
jbe 0x5ac5d6
mov r10, r8
neg r10
and r10d, 0xf
cmp r10d, ecx
cmova r10d, ecx
test r10d, r10d
mov dword [rsp + 0x90], r10d
je 0x5ac5bb
lea rbp, [r13 + 1]
cmp r10d, 1
mov qword [rsp + 0x88], rbp
lea rbp, [r8 + 1]
mov qword [rsp + 0xa0], rbp
movzx ebp, byte [r8]
mov byte [r13], bpl
lea ebp, [rcx - 1]
mov dword [rsp + 0xa8], ebp
je 0x5ac5ae
lea rbp, [r13 + 2]
cmp r10d, 2
mov qword [rsp + 0x88], rbp
lea rbp, [r8 + 2]
mov qword [rsp + 0xa0], rbp
movzx ebp, byte [r8 + 1]
mov byte [r13 + 1], bpl
lea ebp, [rcx - 2]
je 0x5ac5ae
lea rbp, [r13 + 3]
cmp r10d, 3
mov qword [rsp + 0x88], rbp
lea rbp, [r8 + 3]
mov qword [rsp + 0xa0], rbp
movzx ebp, byte [r8 + 2]
mov byte [r13 + 2], bpl
lea ebp, [rcx - 3]
je 0x5ac5ae
lea rbp, [r13 + 4]
cmp r10d, 4
mov qword [rsp + 0x88], rbp
lea rbp, [r8 + 4]
mov qword [rsp + 0xa0], rbp
movzx ebp, byte [r8 + 3]
mov byte [r13 + 3], bpl
lea ebp, [rcx - 4]
je 0x5ac5ae
lea rbp, [r13 + 5]
cmp r10d, 5
mov qword [rsp + 0x88], rbp
lea rbp, [r8 + 5]
mov qword [rsp + 0xa0], rbp
movzx ebp, byte [r8 + 4]
mov byte [r13 + 4], bpl
lea ebp, [rcx - 5]
je 0x5ac5ae
lea rbp, [r13 + 6]
cmp r10d, 6
mov qword [rsp + 0x88], rbp
lea rbp, [r8 + 6]
mov qword [rsp + 0xa0], rbp
movzx ebp, byte [r8 + 5]
mov byte [r13 + 5], bpl
lea ebp, [rcx - 6]
je 0x5ac5ae
movzx ebp, byte [r8 + 6]
cmp dword [rsp + 0x90], 7
lea r10, [r13 + 7]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 7]
mov byte [r13 + 6], bpl
lea ebp, [rcx - 7]
je 0x5ac5a6
movzx ebp, byte [r8 + 7]
cmp dword [rsp + 0x90], 8
lea r10, [r13 + 8]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 8]
mov byte [r13 + 7], bpl
lea ebp, [rcx - 8]
je 0x5ac5a6
movzx ebp, byte [r8 + 8]
cmp dword [rsp + 0x90], 9
lea r10, [r13 + 9]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 9]
mov byte [r13 + 8], bpl
lea ebp, [rcx - 9]
je 0x5ac5a6
movzx ebp, byte [r8 + 9]
cmp dword [rsp + 0x90], 0xa
lea r10, [r13 + 0xa]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xa]
mov byte [r13 + 9], bpl
lea ebp, [rcx - 0xa]
je 0x5ac5a6
movzx ebp, byte [r8 + 0xa]
cmp dword [rsp + 0x90], 0xb
lea r10, [r13 + 0xb]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xb]
mov byte [r13 + 0xa], bpl
lea ebp, [rcx - 0xb]
je 0x5ac5a6
movzx ebp, byte [r8 + 0xb]
cmp dword [rsp + 0x90], 0xc
lea r10, [r13 + 0xc]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xc]
mov byte [r13 + 0xb], bpl
lea ebp, [rcx - 0xc]
je 0x5ac5a6
movzx ebp, byte [r8 + 0xc]
cmp dword [rsp + 0x90], 0xd
lea r10, [r13 + 0xd]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xd]
mov byte [r13 + 0xc], bpl
lea ebp, [rcx - 0xd]
je 0x5ac5a6
movzx ebp, byte [r8 + 0xd]
cmp dword [rsp + 0x90], 0xf
lea r10, [r13 + 0xe]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xe]
mov byte [r13 + 0xd], bpl
lea ebp, [rcx - 0xe]
jne 0x5ac5a6
movzx ebp, byte [r8 + 0xe]
lea r10, [r13 + 0xf]
add r8, 0xf
mov qword [rsp + 0x88], r10
mov byte [r13 + 0xe], bpl
lea ebp, [rcx - 0xf]
mov r10d, dword [rsp + 0x90]
mov qword [rsp + 0xa0], r10
mov r10d, ecx
sub r10d, dword [rsp + 0x90]
lea ecx, [r10 - 0x10]
mov dword [rsp + 0xb4], r10d
shr ecx, 4
lea r10d, [rcx + 1]
mov dword [rsp + 0xb0], r10d
shl r10d, 4
mov dword [rsp + 0xac], r10d
mov r10d, dword [rsp + 0xa8]
sub r10d, dword [rsp + 0x90]
cmp r10d, 0xe
jbe 0x5ab3ad
mov r10, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
mov dword [rsp + 0x90], 0
mov dword [rsp + 0xb8], eax
add rcx, r10
add rcx, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rcx
lea rcx, [r13 + r10]
mov r10, qword [rsp + 0x88]
mov qword [rsp + 0x98], rcx
xor ecx, ecx
mov rax, qword [rsp + 0xa0]
add dword [rsp + 0x90], 1
movdqa xmm0, xmmword [rax + rcx]
mov rax, qword [rsp + 0x98]
movups xmmword [rax + rcx], xmm0
mov eax, dword [rsp + 0x90]
add rcx, 0x10
cmp dword [rsp + 0xb0], eax
ja 0x5ab342
mov qword [rsp + 0x88], r10
mov r10d, dword [rsp + 0xac]
mov eax, dword [rsp + 0xb8]
mov ecx, r10d
sub ebp, r10d
add qword [rsp + 0x88], rcx
add r8, rcx
cmp r10d, dword [rsp + 0xb4]
je 0x5ab4a0
movzx ecx, byte [r8]
mov r10, qword [rsp + 0x88]
cmp ebp, 1
mov byte [r10], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 1]
cmp ebp, 2
mov byte [r10 + 1], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 2]
cmp ebp, 3
mov byte [r10 + 2], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 3]
cmp ebp, 4
mov byte [r10 + 3], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 4]
cmp ebp, 5
mov byte [r10 + 4], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 5]
cmp ebp, 6
mov byte [r10 + 5], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 6]
cmp ebp, 7
mov byte [r10 + 6], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 7]
cmp ebp, 8
mov byte [r10 + 7], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 8]
cmp ebp, 9
mov byte [r10 + 8], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 9]
cmp ebp, 0xa
mov byte [r10 + 9], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 0xa]
cmp ebp, 0xb
mov byte [r10 + 0xa], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 0xb]
cmp ebp, 0xc
mov byte [r10 + 0xb], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 0xc]
cmp ebp, 0xd
mov byte [r10 + 0xc], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 0xd]
cmp ebp, 0xe
mov byte [r10 + 0xd], cl
je 0x5ab4a0
movzx ecx, byte [r8 + 0xe]
mov r10, qword [rsp + 0x88]
mov byte [r10 + 0xe], cl
mov ecx, dword [rsp + 0xa8]
lea r13, [r13 + rcx + 1]
mov r8, r13
sub r8, r11
jmp 0x5ab5d6
and ecx, 0x20
je 0x5ab510
mov dword [r14 + 8], 0x3f3f
jmp 0x5aadf1
mov r8d, dword [rsp + 8]
sub r8d, edi
lea edx, [r8 + 5]
jmp 0x5aae30
movzx r10d, byte [rdi]
movzx r8d, byte [rdi + 1]
mov ecx, edx
add rdi, 2
shl r10d, cl
lea ecx, [rdx + 8]
add edx, 0x10
shl r8d, cl
add r10d, r8d
add eax, r10d
jmp 0x5aaece
lea rbx, str.invalid_literal_length_code
mov qword [r15 + 0x20], rbx
mov dword [r14 + 8], 0x3f51
jmp 0x5aadf1
lea rbx, str.invalid_distance_code
mov qword [r15 + 0x20], rbx
mov dword [r14 + 8], 0x3f51
jmp 0x5aadf1
mov rcx, r13
sub rcx, r11
jmp 0x5ab556
mov rcx, r10
mov r13, r8
movzx r8d, byte [rcx]
lea r10, [rcx + 3]
sub r9d, 3
cmp r9d, 2
mov byte [r13], r8b
movzx r8d, byte [rcx + 1]
mov byte [r13 + 1], r8b
movzx r11d, byte [r10 - 1]
lea r8, [r13 + 3]
mov byte [r8 - 1], r11b
ja 0x5ab550
test r9d, r9d
je 0x5ab609
movzx r8d, byte [rcx + 3]
cmp r9d, 2
mov byte [r13 + 3], r8b
jne 0x5ac59d
movzx ecx, byte [rcx + 4]
add r13, 5
mov byte [r13 - 1], cl
jmp 0x5aaddf
movzx ecx, byte [r8]
add r8, 3
add r13, 3
sub r9d, 3
mov byte [r13 - 3], cl
movzx ecx, byte [r8 - 2]
mov byte [r13 - 2], cl
movzx ecx, byte [r8 - 1]
mov byte [r13 - 1], cl
cmp r9d, 2
ja 0x5ab5b0
test r9d, r9d
je 0x5aaddf
movzx ecx, byte [r8]
cmp r9d, 2
mov byte [r13], cl
jne 0x5ac594
movzx ecx, byte [r8 + 1]
add r13, 2
mov byte [r13 - 1], cl
jmp 0x5aaddf
mov r13, r8
jmp 0x5aaddf
cmp dword [rsp + 0x2c], ecx
jae 0x5ac01d
mov r10d, dword [rsp + 0x5c]
mov r8, qword [rsp + 0x20]
sub r10d, ecx
sub ecx, dword [rsp + 0x2c]
add r8, r10
mov qword [rsp + 0xa0], r10
cmp r9d, ecx
mov dword [rsp + 0x98], ecx
jbe 0x5ab5d6
sub r9d, ecx
mov ebp, ecx
mov rcx, qword [rsp + 0x20]
lea rcx, [rcx + r10 + 0x10]
cmp r13, rcx
lea rcx, [r13 + 0x10]
setae r10b
cmp r8, rcx
setae cl
or r10b, cl
je 0x5ac630
cmp ebp, 0x16
jbe 0x5ac630
mov rcx, r8
mov r10d, ebp
neg rcx
and ecx, 0xf
cmp ecx, ebp
mov ebp, ecx
mov ecx, r10d
cmova ebp, r10d
test ebp, ebp
mov dword [rsp + 0x90], ebp
je 0x5ac60d
movzx ebp, byte [r8]
cmp dword [rsp + 0x90], 1
lea r10, [r13 + 1]
lea ecx, [rcx - 1]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 1]
mov dword [rsp + 0xa8], ecx
mov byte [r13], bpl
mov ebp, ecx
je 0x5ab922
movzx ebp, byte [r8 + 1]
mov ecx, dword [rsp + 0x98]
lea r10, [r13 + 2]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 2]
mov byte [r13 + 1], bpl
mov ebp, ecx
sub ebp, 2
cmp dword [rsp + 0x90], 2
je 0x5ab922
movzx ebp, byte [r8 + 2]
lea r10, [r13 + 3]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 3]
mov byte [r13 + 2], bpl
mov ebp, ecx
sub ebp, 3
cmp dword [rsp + 0x90], 3
je 0x5ab922
movzx ebp, byte [r8 + 3]
lea r10, [r13 + 4]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 4]
mov byte [r13 + 3], bpl
mov ebp, ecx
sub ebp, 4
cmp dword [rsp + 0x90], 4
je 0x5ab922
movzx ebp, byte [r8 + 4]
lea r10, [r13 + 5]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 5]
mov byte [r13 + 4], bpl
mov ebp, ecx
sub ebp, 5
cmp dword [rsp + 0x90], 5
je 0x5ab922
movzx ebp, byte [r8 + 5]
lea r10, [r13 + 6]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 6]
mov byte [r13 + 5], bpl
mov ebp, ecx
sub ebp, 6
cmp dword [rsp + 0x90], 6
je 0x5ab922
movzx ebp, byte [r8 + 6]
lea r10, [r13 + 7]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 7]
mov byte [r13 + 6], bpl
mov ebp, ecx
sub ebp, 7
cmp dword [rsp + 0x90], 7
je 0x5ab922
movzx ebp, byte [r8 + 7]
lea r10, [r13 + 8]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 8]
mov byte [r13 + 7], bpl
mov ebp, ecx
sub ebp, 8
cmp dword [rsp + 0x90], 8
je 0x5ab922
movzx ebp, byte [r8 + 8]
lea r10, [r13 + 9]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 9]
mov byte [r13 + 8], bpl
mov ebp, ecx
sub ebp, 9
cmp dword [rsp + 0x90], 9
je 0x5ab922
movzx ebp, byte [r8 + 9]
lea r10, [r13 + 0xa]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xa]
mov byte [r13 + 9], bpl
mov ebp, ecx
sub ebp, 0xa
cmp dword [rsp + 0x90], 0xa
je 0x5ab922
movzx ebp, byte [r8 + 0xa]
lea r10, [r13 + 0xb]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xb]
mov byte [r13 + 0xa], bpl
mov ebp, ecx
sub ebp, 0xb
cmp dword [rsp + 0x90], 0xb
je 0x5ab922
movzx ebp, byte [r8 + 0xb]
lea r10, [r13 + 0xc]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xc]
mov byte [r13 + 0xb], bpl
mov ebp, ecx
sub ebp, 0xc
cmp dword [rsp + 0x90], 0xc
je 0x5ab922
movzx ebp, byte [r8 + 0xc]
lea r10, [r13 + 0xd]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xd]
mov byte [r13 + 0xc], bpl
mov ebp, ecx
sub ebp, 0xd
cmp dword [rsp + 0x90], 0xd
je 0x5ab922
movzx ebp, byte [r8 + 0xd]
lea r10, [r13 + 0xe]
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xe]
mov byte [r13 + 0xd], bpl
mov ebp, ecx
sub ebp, 0xe
cmp dword [rsp + 0x90], 0xf
jne 0x5ab922
lea r10, [r13 + 0xf]
mov ebp, ecx
sub ebp, 0xf
mov qword [rsp + 0x88], r10
lea r10, [r8 + 0xf]
movzx r8d, byte [r8 + 0xe]
mov byte [r13 + 0xe], r8b
mov ecx, dword [rsp + 0x90]
mov r8, rcx
mov qword [rsp + 0xb8], rcx
mov ecx, dword [rsp + 0x98]
sub ecx, r8d
lea r8d, [rcx - 0x10]
mov dword [rsp + 0xb4], ecx
shr r8d, 4
lea ecx, [r8 + 1]
mov dword [rsp + 0xb0], ecx
shl ecx, 4
mov dword [rsp + 0xac], ecx
mov ecx, dword [rsp + 0xa8]
sub ecx, dword [rsp + 0x90]
cmp ecx, 0xe
jbe 0x5aba2b
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xa0]
mov dword [rsp + 0x90], 0
mov dword [rsp + 0xb8], eax
add r8, rcx
add r8, qword [rsp + 0x20]
add rcx, r13
mov qword [rsp + 0x98], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0xa0], r8
xor r8d, r8d
mov rax, qword [rsp + 0xa0]
add dword [rsp + 0x90], 1
movdqa xmm0, xmmword [rax + r8]
mov rax, qword [rsp + 0x98]
movups xmmword [rax + r8], xmm0
mov eax, dword [rsp + 0x90]
add r8, 0x10
cmp dword [rsp + 0xb0], eax
ja 0x5ab9c1
mov r8d, dword [rsp + 0xac]
mov qword [rsp + 0x88], rcx
add qword [rsp + 0x88], r8
mov eax, dword [rsp + 0xb8]
sub ebp, r8d
add r10, r8
cmp r8d, dword [rsp + 0xb4]
je 0x5abb1e
movzx r8d, byte [r10]
mov rcx, qword [rsp + 0x88]
cmp ebp, 1
mov byte [rcx], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 1]
cmp ebp, 2
mov byte [rcx + 1], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 2]
cmp ebp, 3
mov byte [rcx + 2], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 3]
cmp ebp, 4
mov byte [rcx + 3], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 4]
cmp ebp, 5
mov byte [rcx + 4], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 5]
cmp ebp, 6
mov byte [rcx + 5], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 6]
cmp ebp, 7
mov byte [rcx + 6], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 7]
cmp ebp, 8
mov byte [rcx + 7], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 8]
cmp ebp, 9
mov byte [rcx + 8], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 9]
cmp ebp, 0xa
mov byte [rcx + 9], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 0xa]
cmp ebp, 0xb
mov byte [rcx + 0xa], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 0xb]
cmp ebp, 0xc
mov byte [rcx + 0xb], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 0xc]
cmp ebp, 0xd
mov byte [rcx + 0xc], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 0xd]
cmp ebp, 0xe
mov byte [rcx + 0xd], r8b
je 0x5abb1e
movzx r8d, byte [r10 + 0xe]
mov rcx, qword [rsp + 0x88]
mov byte [rcx + 0xe], r8b
mov ecx, dword [rsp + 0xa8]
cmp dword [rsp + 0x2c], r9d
mov qword [rsp + 0x90], rcx
lea rcx, [r13 + rcx + 1]
jae 0x5ac600
mov r8, qword [rsp + 0x90]
sub r9d, dword [rsp + 0x2c]
cmp rcx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x20]
lea r8, [r13 + r8 + 0x11]
setae bpl
cmp r10, r8
setae r8b
or bpl, r8b
je 0x5ac6ae
cmp dword [rsp + 0x2c], 0x16
jbe 0x5ac6ae
mov r8d, dword [rsp + 0x34]
test r8d, r8d
je 0x5ac6d0
lea r8, [r10 + 1]
cmp dword [rsp + 0x34], 1
lea rbp, [rcx + 1]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10]
mov byte [rcx], r8b
je 0x5ac702
lea r8, [r10 + 2]
lea rbp, [rcx + 2]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 1]
mov r10d, dword [rsp + 0x2c]
sub r10d, 2
cmp dword [rsp + 0x34], 2
mov byte [rcx + 1], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 3]
lea r8, [r10 + 3]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 2]
mov r10d, dword [rsp + 0x2c]
sub r10d, 3
cmp dword [rsp + 0x34], 3
mov byte [rcx + 2], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 4]
lea r8, [r10 + 4]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 3]
mov r10d, dword [rsp + 0x2c]
sub r10d, 4
cmp dword [rsp + 0x34], 4
mov byte [rcx + 3], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 5]
lea r8, [r10 + 5]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 4]
mov r10d, dword [rsp + 0x2c]
sub r10d, 5
cmp dword [rsp + 0x34], 5
mov byte [rcx + 4], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 6]
lea r8, [r10 + 6]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 5]
mov r10d, dword [rsp + 0x2c]
sub r10d, 6
cmp dword [rsp + 0x34], 6
mov byte [rcx + 5], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 7]
lea r8, [r10 + 7]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 6]
mov r10d, dword [rsp + 0x2c]
sub r10d, 7
cmp dword [rsp + 0x34], 7
mov byte [rcx + 6], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 8]
lea r8, [r10 + 8]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 7]
mov r10d, dword [rsp + 0x2c]
sub r10d, 8
cmp dword [rsp + 0x34], 8
mov byte [rcx + 7], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 9]
lea r8, [r10 + 9]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 8]
mov r10d, dword [rsp + 0x2c]
sub r10d, 9
cmp dword [rsp + 0x34], 9
mov byte [rcx + 8], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 0xa]
lea r8, [r10 + 0xa]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 9]
mov r10d, dword [rsp + 0x2c]
sub r10d, 0xa
cmp dword [rsp + 0x34], 0xa
mov byte [rcx + 9], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 0xb]
lea r8, [r10 + 0xb]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 0xa]
mov r10d, dword [rsp + 0x2c]
sub r10d, 0xb
cmp dword [rsp + 0x34], 0xb
mov byte [rcx + 0xa], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 0xc]
lea r8, [r10 + 0xc]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 0xb]
mov r10d, dword [rsp + 0x2c]
sub r10d, 0xc
cmp dword [rsp + 0x34], 0xc
mov byte [rcx + 0xb], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 0xd]
lea r8, [r10 + 0xd]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 0xc]
mov r10d, dword [rsp + 0x2c]
sub r10d, 0xd
cmp dword [rsp + 0x34], 0xd
mov byte [rcx + 0xc], r8b
je 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 0xe]
lea r8, [r10 + 0xe]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 0xd]
mov r10d, dword [rsp + 0x2c]
sub r10d, 0xe
cmp dword [rsp + 0x34], 0xf
mov byte [rcx + 0xd], r8b
jne 0x5abe4c
mov r10, qword [rsp + 0x20]
lea rbp, [rcx + 0xf]
lea r8, [r10 + 0xf]
mov qword [rsp + 0x88], r8
movzx r8d, byte [r10 + 0xe]
mov r10d, dword [rsp + 0x2c]
mov byte [rcx + 0xe], r8b
sub r10d, 0xf
cmp dword [rsp + 0x4c], 0xe
jbe 0x5abef2
mov r8, qword [rsp + 0x90]
add r8, qword [rsp + 0x80]
mov dword [rsp + 0x90], 0
mov dword [rsp + 0xa8], eax
add r13, r8
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x98], r13
xor r13d, r13d
mov rax, qword [rsp + 0x78]
add dword [rsp + 0x90], 1
movdqa xmm0, xmmword [rax + r13]
mov rax, qword [rsp + 0x98]
movups xmmword [rax + r13], xmm0
mov eax, dword [rsp + 0x90]
add r13, 0x10
cmp dword [rsp + 0x54], eax
ja 0x5abe8f
mov qword [rsp + 0x88], r8
mov r13d, dword [rsp + 0x50]
mov r8, qword [rsp + 0x40]
add qword [rsp + 0x88], r8
mov eax, dword [rsp + 0xa8]
sub r10d, r13d
add rbp, r8
cmp r13d, dword [rsp + 0x58]
je 0x5abff4
mov r8, qword [rsp + 0x88]
cmp r10d, 1
movzx r13d, byte [r8]
mov byte [rbp], r13b
je 0x5abff4
movzx r13d, byte [r8 + 1]
cmp r10d, 2
mov byte [rbp + 1], r13b
je 0x5abff4
movzx r13d, byte [r8 + 2]
cmp r10d, 3
mov byte [rbp + 2], r13b
je 0x5abff4
movzx r13d, byte [r8 + 3]
cmp r10d, 4
mov byte [rbp + 3], r13b
je 0x5abff4
movzx r13d, byte [r8 + 4]
cmp r10d, 5
mov byte [rbp + 4], r13b
je 0x5abff4
movzx r13d, byte [r8 + 5]
cmp r10d, 6
mov byte [rbp + 5], r13b
je 0x5abff4
movzx r13d, byte [r8 + 6]
cmp r10d, 7
mov byte [rbp + 6], r13b
je 0x5abff4
movzx r13d, byte [r8 + 7]
cmp r10d, 8
mov byte [rbp + 7], r13b
je 0x5abff4
movzx r13d, byte [r8 + 8]
cmp r10d, 9
mov byte [rbp + 8], r13b
je 0x5abff4
movzx r13d, byte [r8 + 9]
cmp r10d, 0xa
mov byte [rbp + 9], r13b
je 0x5abff4
movzx r13d, byte [r8 + 0xa]
cmp r10d, 0xb
mov byte [rbp + 0xa], r13b
je 0x5abff4
movzx r13d, byte [r8 + 0xb]
cmp r10d, 0xc
mov byte [rbp + 0xb], r13b
je 0x5abff4
movzx r13d, byte [r8 + 0xc]
cmp r10d, 0xd
mov byte [rbp + 0xc], r13b
je 0x5abff4
movzx r13d, byte [r8 + 0xd]
cmp r10d, 0xe
mov byte [rbp + 0xd], r13b
je 0x5abff4
mov r10, qword [rsp + 0x88]
movzx r8d, byte [r10 + 0xe]
mov byte [rbp + 0xe], r8b
mov r10, qword [rsp + 0x68]
lea r13, [rcx + r10 + 1]
mov r8, r13
sub r8, r11
jmp 0x5ab5d6
movzx ebp, byte [rdi + 1]
add edx, 0x10
add rdi, 2
shl ebp, cl
add eax, ebp
jmp 0x5aaf48
mov r10d, dword [rsp + 0x2c]
mov r8, qword [rsp + 0x20]
sub r10d, ecx
add r8, r10
cmp r9d, ecx
mov qword [rsp + 0xa0], r10
jbe 0x5ab5d6
mov rbp, r10
mov r10, qword [rsp + 0x20]
sub r9d, ecx
lea r10, [r10 + rbp + 0x10]
cmp r13, r10
lea r10, [r13 + 0x10]
setae bpl
cmp r8, r10
setae r10b
or bpl, r10b
je 0x5ac684
cmp ecx, 0x16
jbe 0x5ac684
mov r10, r8
neg r10
and r10d, 0xf
cmp r10d, ecx
cmova r10d, ecx
test r10d, r10d
mov dword [rsp + 0x98], r10d
je 0x5ac661
lea r10, [r8 + 1]
cmp dword [rsp + 0x98], 1
lea rbp, [r13 + 1]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8]
mov byte [r13], r10b
lea r10d, [rcx - 1]
mov dword [rsp + 0xa8], r10d
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 2]
cmp dword [rsp + 0x98], 2
lea rbp, [r13 + 2]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 1]
mov byte [r13 + 1], r10b
lea r10d, [rcx - 2]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 3]
cmp dword [rsp + 0x98], 3
lea rbp, [r13 + 3]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 2]
mov byte [r13 + 2], r10b
lea r10d, [rcx - 3]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 4]
cmp dword [rsp + 0x98], 4
lea rbp, [r13 + 4]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 3]
mov byte [r13 + 3], r10b
lea r10d, [rcx - 4]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 5]
cmp dword [rsp + 0x98], 5
lea rbp, [r13 + 5]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 4]
mov byte [r13 + 4], r10b
lea r10d, [rcx - 5]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 6]
cmp dword [rsp + 0x98], 6
lea rbp, [r13 + 6]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 5]
mov byte [r13 + 5], r10b
lea r10d, [rcx - 6]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 7]
cmp dword [rsp + 0x98], 7
lea rbp, [r13 + 7]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 6]
mov byte [r13 + 6], r10b
lea r10d, [rcx - 7]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 8]
cmp dword [rsp + 0x98], 8
lea rbp, [r13 + 8]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 7]
mov byte [r13 + 7], r10b
lea r10d, [rcx - 8]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 9]
cmp dword [rsp + 0x98], 9
lea rbp, [r13 + 9]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 8]
mov byte [r13 + 8], r10b
lea r10d, [rcx - 9]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 0xa]
cmp dword [rsp + 0x98], 0xa
lea rbp, [r13 + 0xa]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 9]
mov byte [r13 + 9], r10b
lea r10d, [rcx - 0xa]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 0xb]
cmp dword [rsp + 0x98], 0xb
lea rbp, [r13 + 0xb]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 0xa]
mov byte [r13 + 0xa], r10b
lea r10d, [rcx - 0xb]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 0xc]
cmp dword [rsp + 0x98], 0xc
lea rbp, [r13 + 0xc]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 0xb]
mov byte [r13 + 0xb], r10b
lea r10d, [rcx - 0xc]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 0xd]
cmp dword [rsp + 0x98], 0xd
lea rbp, [r13 + 0xd]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 0xc]
mov byte [r13 + 0xc], r10b
lea r10d, [rcx - 0xd]
mov dword [rsp + 0x90], r10d
je 0x5ac382
lea r10, [r8 + 0xe]
cmp dword [rsp + 0x98], 0xf
lea rbp, [r13 + 0xe]
mov qword [rsp + 0x88], r10
movzx r10d, byte [r8 + 0xd]
mov byte [r13 + 0xd], r10b
lea r10d, [rcx - 0xe]
mov dword [rsp + 0x90], r10d
jne 0x5ac382
lea r10, [r8 + 0xf]
movzx r8d, byte [r8 + 0xe]
lea rbp, [r13 + 0xf]
mov qword [rsp + 0x88], r10
lea r10d, [rcx - 0xf]
mov byte [r13 + 0xe], r8b
mov dword [rsp + 0x90], r10d
mov r10d, ecx
sub r10d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x98]
lea ecx, [r10 - 0x10]
mov dword [rsp + 0xb4], r10d
shr ecx, 4
lea r10d, [rcx + 1]
mov dword [rsp + 0xb0], r10d
shl r10d, 4
mov dword [rsp + 0xac], r10d
mov r10d, dword [rsp + 0xa8]
sub r10d, dword [rsp + 0x98]
cmp r10d, 0xe
jbe 0x5ac475
mov rcx, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x88]
mov dword [rsp + 0xb8], eax
add rcx, r8
add rcx, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rcx
lea rcx, [r13 + r8]
xor r8d, r8d
mov qword [rsp + 0x98], rcx
xor ecx, ecx
mov rax, qword [rsp + 0xa0]
add r8d, 1
movdqa xmm0, xmmword [rax + rcx]
mov rax, qword [rsp + 0x98]
movups xmmword [rax + rcx], xmm0
add rcx, 0x10
cmp dword [rsp + 0xb0], r8d
ja 0x5ac40f
mov qword [rsp + 0x88], r10
mov r10d, dword [rsp + 0xac]
sub dword [rsp + 0x90], r10d
mov eax, dword [rsp + 0xb8]
mov ecx, r10d
add qword [rsp + 0x88], rcx
add rbp, rcx
cmp r10d, dword [rsp + 0xb4]
je 0x5ab4a0
mov r10, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x90]
movzx ecx, byte [r10]
cmp r8d, 1
mov byte [rbp], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 1]
cmp r8d, 2
mov byte [rbp + 1], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 2]
cmp r8d, 3
mov byte [rbp + 2], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 3]
cmp r8d, 4
mov byte [rbp + 3], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 4]
cmp r8d, 5
mov byte [rbp + 4], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 5]
cmp r8d, 6
mov byte [rbp + 5], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 6]
cmp r8d, 7
mov byte [rbp + 6], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 7]
cmp r8d, 8
mov byte [rbp + 7], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 8]
cmp r8d, 9
mov byte [rbp + 8], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 9]
cmp r8d, 0xa
mov byte [rbp + 9], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 0xa]
cmp r8d, 0xb
mov byte [rbp + 0xa], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 0xb]
cmp r8d, 0xc
mov byte [rbp + 0xb], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 0xc]
cmp r8d, 0xd
mov byte [rbp + 0xc], cl
je 0x5ab4a0
movzx ecx, byte [r10 + 0xd]
cmp r8d, 0xe
mov byte [rbp + 0xd], cl
je 0x5ab4a0
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0xe]
mov byte [rbp + 0xe], cl
jmp 0x5ab4a0
add r13, 1
jmp 0x5aaddf
add r13, 4
jmp 0x5aaddf
mov r8, r10
jmp 0x5ab29d
mov r8, qword [rsp + 0xa0]
jmp 0x5ab29d
lea r10d, [rcx - 1]
mov ebp, ecx
mov qword [rsp + 0x88], r13
mov dword [rsp + 0xa8], r10d
jmp 0x5ab29d
lea r10d, [rcx - 1]
xor ecx, ecx
mov dword [rsp + 0xa8], r10d
add r10, 1
movzx ebp, byte [r8 + rcx]
mov byte [r13 + rcx], bpl
add rcx, 1
cmp rcx, r10
jne 0x5ac5e8
jmp 0x5ab4a0
mov r8, qword [rsp + 0x20]
mov r13, rcx
jmp 0x5ab5d6
mov ecx, dword [rsp + 0x98]
mov r10, r8
mov qword [rsp + 0x88], r13
mov ebp, ecx
sub ecx, 1
mov dword [rsp + 0xa8], ecx
jmp 0x5ab922
mov ecx, dword [rsp + 0x98]
lea r10d, [rcx - 1]
xor ecx, ecx
mov dword [rsp + 0xa8], r10d
add r10, 1
movzx ebp, byte [r8 + rcx]
mov byte [r13 + rcx], bpl
add rcx, 1
cmp rcx, r10
jne 0x5ac649
jmp 0x5abb1e
lea r10d, [rcx - 1]
mov qword [rsp + 0x88], r8
mov dword [rsp + 0x90], ecx
mov rbp, r13
mov dword [rsp + 0xa8], r10d
jmp 0x5ac382
lea r10d, [rcx - 1]
xor ecx, ecx
mov dword [rsp + 0xa8], r10d
add r10, 1
movzx ebp, byte [r8 + rcx]
mov byte [r13 + rcx], bpl
add rcx, 1
cmp rcx, r10
jne 0x5ac696
jmp 0x5ab4a0
mov rbp, qword [rsp + 0x20]
xor r8d, r8d
movzx r10d, byte [rbp + r8]
mov byte [rcx + r8], r10b
add r8, 1
cmp r8, qword [rsp + 0x70]
jne 0x5ac6b6
jmp 0x5abff4
mov r10, qword [rsp + 0x20]
mov rbp, rcx
mov qword [rsp + 0x88], r10
mov r10d, dword [rsp + 0x2c]
jmp 0x5abe4c
lea rbx, str.invalid_distance_too_far_back
mov qword [r15 + 0x20], rbx
mov dword [r14 + 8], 0x3f51
jmp 0x5aadf1
mov r10d, dword [rsp + 0x28]
jmp 0x5abe4c