Function at 0x6d43b740
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, 0x98
mov r9d, 0xffffffff
mov esi, r9d
mov rbx, qword [rcx + 0x28]
mov r10, qword [rcx + 0x10]
mov r14, qword [rcx]
mov eax, dword [rcx + 8]
mov rdi, r10
mov r12d, dword [rbx + 0x3c]
mov ebp, dword [rbx + 0x34]
sub eax, 5
mov r8d, dword [rbx + 0x4c]
mov r11, qword [rbx + 0x60]
mov r15, rcx
mov ecx, dword [rcx + 0x18]
mov dword [rsp + 0x3c], ebp
add rax, r14
lea ebp, [rbp + r12]
mov qword [rsp + 8], rax
mov r13, qword [rbx + 0x68]
sub edx, ecx
sub ecx, 0x101
mov dword [rsp + 0x50], ebp
mov eax, dword [rbx + 0x48]
sub rdi, rdx
add rcx, r10
mov edx, dword [rbx + 0x38]
mov qword [rsp + 0x10], rcx
mov ecx, dword [rbx + 0x70]
mov dword [rsp + 0x34], edx
mov edx, r12d
shl esi, cl
shr edx, 4
mov ecx, dword [rbx + 0x74]
mov qword [rsp + 0x28], rdi
shl rdx, 4
mov rdi, qword [rbx + 0x40]
not esi
mov qword [rsp + 0x48], rdx
shl r9d, cl
mov edx, r12d
lea ecx, [r12 - 1]
and edx, 0xfffffff0
not r9d
mov dword [rsp + 0x18], esi
mov rsi, rdi
mov dword [rsp + 0x1c], r9d
mov r9d, edx
add rsi, r9
mov qword [rsp + 0x20], rdi
add rdi, 0x10
mov qword [rsp + 0x58], rsi
mov esi, ecx
mov dword [rsp + 0x54], ecx
sub ecx, edx
mov qword [rsp + 0x80], rdi
mov edi, esi
mov qword [rsp + 0x60], r9
mov r9d, 0xffffffff
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x6c], ecx
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x30], r12d
cmp r8d, 0xe
ja 0x6d43b866
movzx r12d, byte [r14 + 1]
lea ecx, [r8 + 8]
movzx edx, byte [r14]
add r14, 2
shl r12d, cl
mov ecx, r8d
add r8d, 0x10
shl edx, cl
add r12d, edx
add eax, r12d
mov edx, dword [rsp + 0x18]
and edx, eax
jmp 0x6d43b88f
test sil, 0x10
jne 0x6d43b948
test sil, 0x40
jne 0x6d43bb98
mov edi, r9d
shl edi, cl
not edi
and edi, eax
add edx, edi
lea rbp, [r11 + rdx*4]
movzx ecx, byte [rbp + 1]
movzx esi, byte [rbp]
movzx edx, word [rbp + 2]
shr eax, cl
sub r8d, ecx
movzx ecx, sil
test ecx, ecx
jne 0x6d43b870
mov byte [r10], dl
add r10, 1
cmp r14, qword [rsp + 8]
jae 0x6d43b8c8
cmp r10, qword [rsp + 0x10]
jb 0x6d43b83d
nop dword [rax]
mov ecx, r8d
mov r11d, r8d
mov r8d, 0xffffffff
mov qword [r15 + 0x10], r10
and ecx, 7
shr r11d, 3
mov r13, qword [rsp + 8]
shl r8d, cl
sub r14, r11
not r8d
mov qword [r15], r14
and eax, r8d
cmp r13, r14
jbe 0x6d43bbc8
sub r13, r14
mov r12, r13
add r12d, 5
mov rdi, qword [rsp + 0x10]
mov dword [r15 + 8], r12d
cmp r10, rdi
jae 0x6d43bbb0
sub rdi, r10
mov rbp, rdi
add ebp, 0x101
mov dword [r15 + 0x18], ebp
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x4c], ecx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
and esi, 0xf
je 0x6d43b97d
movzx r12d, sil
cmp r12d, r8d
jbe 0x6d43b969
movzx ebp, byte [r14]
mov ecx, r8d
add r14, 1
add r8d, 8
shl ebp, cl
add eax, ebp
mov ecx, esi
mov edi, r9d
sub r8d, r12d
shl edi, cl
mov ebp, edi
not ebp
and ebp, eax
shr eax, cl
add edx, ebp
cmp r8d, 0xe
jbe 0x6d43bbe0
mov ebp, dword [rsp + 0x1c]
and ebp, eax
jmp 0x6d43b9a8
and esi, 0x40
jne 0x6d43bc30
mov r12d, r9d
shl r12d, cl
mov ebp, r12d
not ebp
and ebp, eax
add ebp, edi
lea rbp, [r13 + rbp*4]
movzx ecx, byte [rbp + 1]
movzx esi, byte [rbp]
movzx edi, word [rbp + 2]
shr eax, cl
sub r8d, ecx
movzx ecx, sil
test sil, 0x10
je 0x6d43b990
mov ebp, esi
and esi, 0xf
and ebp, 0xf
cmp esi, r8d
jbe 0x6d43b9f5
movzx r12d, byte [r14]
mov ecx, r8d
shl r12d, cl
lea ecx, [r8 + 8]
add eax, r12d
cmp esi, ecx
ja 0x6d43c068
add r14, 1
mov r8d, ecx
mov ecx, ebp
mov r12d, r9d
sub r8d, esi
mov rsi, r10
shl r12d, cl
sub rsi, qword [rsp + 0x28]
not r12d
and r12d, eax
shr eax, cl
add edi, r12d
mov dword [rsp + 0x38], edi
cmp edi, esi
jbe 0x6d43bef3
mov r12d, edi
sub r12d, esi
cmp dword [rsp + 0x34], r12d
jae 0x6d43ba3a
mov edi, dword [rbx + 0x1be0]
test edi, edi
jne 0x6d43c356
mov ecx, dword [rsp + 0x30]
sub esi, dword [rsp + 0x38]
test ecx, ecx
jne 0x6d43bc47
mov edi, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x20]
lea ebp, [rdi + rsi]
add rcx, rbp
cmp edx, r12d
ja 0x6d43c381
cmp edx, 2
jbe 0x6d43bb73
lea r12d, [rdx - 3]
mov ebp, 0xaaaaaaab
mov rdi, r12
imul r12, rbp
shr r12, 0x21
add r12d, 1
and r12d, 3
je 0x6d43bb01
cmp r12d, 1
je 0x6d43bad9
cmp r12d, 2
je 0x6d43bab7
movzx edx, byte [rcx]
add r10, 3
add rcx, 3
mov byte [r10 - 3], dl
movzx esi, byte [rcx - 2]
mov edx, edi
mov byte [r10 - 2], sil
movzx r12d, byte [rcx - 1]
mov byte [r10 - 1], r12b
movzx edi, byte [rcx]
add r10, 3
add rcx, 3
sub edx, 3
mov byte [r10 - 3], dil
movzx ebp, byte [rcx - 2]
mov byte [r10 - 2], bpl
movzx esi, byte [rcx - 1]
mov byte [r10 - 1], sil
movzx r12d, byte [rcx]
add rcx, 3
add r10, 3
sub edx, 3
mov byte [r10 - 3], r12b
movzx edi, byte [rcx - 2]
mov byte [r10 - 2], dil
movzx ebp, byte [rcx - 1]
mov byte [r10 - 1], bpl
cmp edx, 2
jbe 0x6d43bb73
movzx esi, byte [rcx]
add rcx, 0xc
add r10, 0xc
sub edx, 0xc
mov byte [r10 - 0xc], sil
movzx r12d, byte [rcx - 0xb]
mov byte [r10 - 0xb], r12b
movzx edi, byte [rcx - 0xa]
mov byte [r10 - 0xa], dil
movzx ebp, byte [rcx - 9]
mov byte [r10 - 9], bpl
movzx esi, byte [rcx - 8]
mov byte [r10 - 8], sil
movzx r12d, byte [rcx - 7]
mov byte [r10 - 7], r12b
movzx edi, byte [rcx - 6]
mov byte [r10 - 6], dil
movzx ebp, byte [rcx - 5]
mov byte [r10 - 5], bpl
movzx esi, byte [rcx - 4]
mov byte [r10 - 4], sil
movzx r12d, byte [rcx - 3]
mov byte [r10 - 3], r12b
movzx edi, byte [rcx - 2]
mov byte [r10 - 2], dil
movzx ebp, byte [rcx - 1]
mov byte [r10 - 1], bpl
cmp edx, 2
ja 0x6d43bb01
test edx, edx
je 0x6d43b8b3
movzx esi, byte [rcx]
mov byte [r10], sil
cmp edx, 2
je 0x6d43c370
add r10, 1
jmp 0x6d43b8b3
and esi, 0x20
je 0x6d43bc10
mov dword [rbx + 8], 0x3f3f
jmp 0x6d43b8c8
mov ebp, dword [rsp + 0x10]
sub ebp, r10d
add ebp, 0x101
jmp 0x6d43b924
mov edx, dword [rsp + 8]
sub edx, r14d
mov r12d, edx
add r12d, 5
jmp 0x6d43b906
movzx esi, byte [r14 + 1]
lea ecx, [r8 + 8]
movzx r12d, byte [r14]
add r14, 2
shl esi, cl
mov ecx, r8d
add r8d, 0x10
shl r12d, cl
add esi, r12d
add eax, esi
jmp 0x6d43b987
lea r11, str.invalid_literal_length_code
mov qword [r15 + 0x20], r11
mov dword [rbx + 8], 0x3f51
jmp 0x6d43b8c8
lea rdx, str.invalid_distance_code
mov qword [r15 + 0x20], rdx
mov dword [rbx + 8], 0x3f51
jmp 0x6d43b8c8
cmp dword [rsp + 0x30], r12d
jae 0x6d43c080
mov ecx, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x20]
lea ebp, [rcx + rsi]
lea rcx, [rdi + rbp]
mov edi, r12d
sub edi, dword [rsp + 0x30]
mov dword [rsp + 0x70], edi
cmp edx, edi
jbe 0x6d43ba62
add edx, dword [rsp + 0x30]
lea r12d, [rdi - 1]
add edx, esi
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0x88], r12d
lea rbp, [rsi + rbp + 0x10]
lea rsi, [r10 + 0x10]
cmp r10, rbp
setae bpl
cmp rcx, rsi
setae sil
or bpl, sil
je 0x6d43c9ec
cmp r12d, 0xe
jbe 0x6d43c9ec
shr edi, 4
xor ebp, ebp
mov r12d, edi
shl r12, 4
lea rdi, [r12 - 0x10]
shr rdi, 4
add rdi, 1
and edi, 7
je 0x6d43bd62
cmp rdi, 1
je 0x6d43bd4f
cmp rdi, 2
je 0x6d43bd41
cmp rdi, 3
je 0x6d43bd33
cmp rdi, 4
je 0x6d43bd25
cmp rdi, 5
je 0x6d43bd17
cmp rdi, 6
je 0x6d43bd09
movdqu xmm5, xmmword [rcx]
mov ebp, 0x10
movups xmmword [r10], xmm5
movdqu xmm0, xmmword [rcx + rbp]
movups xmmword [r10 + rbp], xmm0
add rbp, 0x10
movdqu xmm1, xmmword [rcx + rbp]
movups xmmword [r10 + rbp], xmm1
add rbp, 0x10
movdqu xmm2, xmmword [rcx + rbp]
movups xmmword [r10 + rbp], xmm2
add rbp, 0x10
movdqu xmm3, xmmword [rcx + rbp]
movups xmmword [r10 + rbp], xmm3
add rbp, 0x10
movdqu xmm4, xmmword [rcx + rbp]
movups xmmword [r10 + rbp], xmm4
add rbp, 0x10
movdqu xmm5, xmmword [rcx + rbp]
movups xmmword [r10 + rbp], xmm5
add rbp, 0x10
cmp rbp, r12
je 0x6d43bdd1
mov esi, dword [rsp + 0x38]
movdqu xmm0, xmmword [rcx + rbp]
movups xmmword [r10 + rbp], xmm0
movdqu xmm1, xmmword [rcx + rbp + 0x10]
movups xmmword [r10 + rbp + 0x10], xmm1
movdqu xmm2, xmmword [rcx + rbp + 0x20]
movups xmmword [r10 + rbp + 0x20], xmm2
movdqu xmm3, xmmword [rcx + rbp + 0x30]
movups xmmword [r10 + rbp + 0x30], xmm3
movdqu xmm4, xmmword [rcx + rbp + 0x40]
movups xmmword [r10 + rbp + 0x40], xmm4
movdqu xmm5, xmmword [rcx + rbp + 0x50]
movups xmmword [r10 + rbp + 0x50], xmm5
movdqu xmm0, xmmword [rcx + rbp + 0x60]
movups xmmword [r10 + rbp + 0x60], xmm0
movdqu xmm1, xmmword [rcx + rbp + 0x70]
movups xmmword [r10 + rbp + 0x70], xmm1
sub rbp, 0xffffffffffffff80
cmp rbp, r12
jne 0x6d43bd66
mov dword [rsp + 0x38], esi
mov edi, dword [rsp + 0x70]
mov ebp, edi
and ebp, 0xfffffff0
mov esi, ebp
lea r12, [r10 + rsi]
add rcx, rsi
cmp edi, ebp
je 0x6d43bed0
movzx edi, byte [rcx]
mov esi, dword [rsp + 0x88]
mov byte [r12], dil
sub esi, ebp
je 0x6d43bed0
movzx ebp, byte [rcx + 1]
mov byte [r12 + 1], bpl
cmp esi, 1
je 0x6d43bed0
movzx edi, byte [rcx + 2]
mov byte [r12 + 2], dil
cmp esi, 2
je 0x6d43bed0
movzx ebp, byte [rcx + 3]
mov byte [r12 + 3], bpl
cmp esi, 3
je 0x6d43bed0
movzx edi, byte [rcx + 4]
mov byte [r12 + 4], dil
cmp esi, 4
je 0x6d43bed0
movzx ebp, byte [rcx + 5]
mov byte [r12 + 5], bpl
cmp esi, 5
je 0x6d43bed0
movzx edi, byte [rcx + 6]
mov byte [r12 + 6], dil
cmp esi, 6
je 0x6d43bed0
movzx ebp, byte [rcx + 7]
mov byte [r12 + 7], bpl
cmp esi, 7
je 0x6d43bed0
movzx edi, byte [rcx + 8]
mov byte [r12 + 8], dil
cmp esi, 8
je 0x6d43bed0
movzx ebp, byte [rcx + 9]
mov byte [r12 + 9], bpl
cmp esi, 9
je 0x6d43bed0
movzx edi, byte [rcx + 0xa]
mov byte [r12 + 0xa], dil
cmp esi, 0xa
je 0x6d43bed0
movzx ebp, byte [rcx + 0xb]
mov byte [r12 + 0xb], bpl
cmp esi, 0xb
je 0x6d43bed0
movzx edi, byte [rcx + 0xc]
mov byte [r12 + 0xc], dil
cmp esi, 0xc
je 0x6d43bed0
movzx ebp, byte [rcx + 0xd]
mov byte [r12 + 0xd], bpl
cmp esi, 0xd
je 0x6d43bed0
movzx ecx, byte [rcx + 0xe]
mov byte [r12 + 0xe], cl
mov ecx, dword [rsp + 0x88]
lea rsi, [r10 + rcx + 1]
cmp dword [rsp + 0x30], edx
jb 0x6d43c62a
mov rcx, qword [rsp + 0x20]
mov r10, rsi
jmp 0x6d43ba62
lea ecx, [rdx - 3]
mov ebp, 0xaaaaaaab
mov edi, dword [rsp + 0x38]
mov r12, r10
mov rsi, rcx
imul rcx, rbp
sub r12, rdi
shr rcx, 0x21
add ecx, 1
and ecx, 3
je 0x6d43bfab
cmp ecx, 1
je 0x6d43bf75
cmp ecx, 2
je 0x6d43bf4d
movzx edx, byte [r12]
add r10, 3
add r12, 3
mov byte [r10 - 3], dl
movzx edi, byte [r12 - 2]
mov edx, esi
mov byte [r10 - 2], dil
movzx ecx, byte [r12 - 1]
mov byte [r10 - 1], cl
movzx esi, byte [r12]
add r10, 3
add r12, 3
sub edx, 3
mov byte [r10 - 3], sil
movzx ebp, byte [r12 - 2]
mov byte [r10 - 2], bpl
movzx edi, byte [r12 - 1]
mov byte [r10 - 1], dil
movzx ecx, byte [r12]
mov rdi, r12
add r12, 3
sub edx, 3
mov byte [r10], cl
movzx esi, byte [r12 - 2]
mov byte [r10 + 1], sil
movzx ebp, byte [r12 - 1]
mov rsi, r10
add r10, 3
mov byte [r10 - 1], bpl
cmp edx, 2
jbe 0x6d43c038
movzx ecx, byte [r12]
sub edx, 0xc
mov byte [r10], cl
movzx edi, byte [r12 + 1]
mov byte [r10 + 1], dil
movzx esi, byte [r12 + 2]
mov byte [r10 + 2], sil
movzx ebp, byte [r12 + 3]
mov byte [r10 + 3], bpl
movzx ecx, byte [r12 + 4]
mov byte [r10 + 4], cl
movzx edi, byte [r12 + 5]
mov byte [r10 + 5], dil
movzx esi, byte [r12 + 6]
lea rdi, [r12 + 9]
add r12, 0xc
mov byte [r10 + 6], sil
movzx ebp, byte [r12 - 5]
lea rsi, [r10 + 9]
add r10, 0xc
mov byte [r10 - 5], bpl
movzx ecx, byte [rdi - 1]
mov byte [rsi - 1], cl
movzx ebp, byte [r12 - 3]
mov byte [r10 - 3], bpl
movzx ecx, byte [rdi + 1]
mov byte [rsi + 1], cl
movzx ebp, byte [r12 - 1]
mov byte [r10 - 1], bpl
cmp edx, 2
ja 0x6d43bfab
test edx, edx
je 0x6d43b8b3
movzx r10d, byte [rdi + 3]
mov byte [rsi + 3], r10b
lea r10, [rsi + 4]
cmp edx, 2
jne 0x6d43b8b3
movzx r12d, byte [rdi + 4]
lea r10, [rsi + 5]
mov byte [rsi + 4], r12b
jmp 0x6d43b8b3
movzx r12d, byte [r14 + 1]
add r8d, 0x10
add r14, 2
shl r12d, cl
add eax, r12d
jmp 0x6d43b9f5
mov ebp, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
lea ebp, [rbp + rsi]
lea rcx, [rdi + rbp]
cmp edx, r12d
jbe 0x6d43ba62
add edx, esi
mov rsi, qword [rsp + 0x20]
lea edi, [r12 - 1]
mov dword [rsp + 0x88], edi
lea rbp, [rsi + rbp + 0x10]
lea rsi, [r10 + 0x10]
cmp r10, rbp
setae bpl
cmp rcx, rsi
setae sil
or bpl, sil
je 0x6d43c8df
cmp edi, 0xe
jbe 0x6d43c8df
lea ebp, [r12 - 0x10]
movdqu xmm1, xmmword [rcx]
mov esi, 0x10
shr ebp, 4
lea edi, [rbp + 1]
and ebp, 7
movups xmmword [r10], xmm1
mov dword [rsp + 0x8c], ebp
mov ebp, 1
mov dword [rsp + 0x70], edi
cmp edi, 1
jbe 0x6d43c22e
mov edi, dword [rsp + 0x8c]
test edi, edi
je 0x6d43c1bb
cmp edi, 1
je 0x6d43c1a4
cmp edi, 2
je 0x6d43c193
cmp edi, 3
je 0x6d43c182
cmp edi, 4
je 0x6d43c171
cmp edi, 5
je 0x6d43c160
cmp edi, 6
je 0x6d43c14f
movdqu xmm2, xmmword [rcx + 0x10]
mov ebp, 2
mov esi, 0x20
movups xmmword [r10 + 0x10], xmm2
movdqu xmm3, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm3
add rsi, 0x10
movdqu xmm4, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm4
add rsi, 0x10
movdqu xmm5, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm5
add rsi, 0x10
movdqu xmm0, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm0
add rsi, 0x10
movdqu xmm1, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm1
add rsi, 0x10
movdqu xmm2, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm2
add rsi, 0x10
cmp dword [rsp + 0x70], ebp
jbe 0x6d43c22e
mov edi, dword [rsp + 0x38]
movdqu xmm3, xmmword [rcx + rsi]
add ebp, 8
movups xmmword [r10 + rsi], xmm3
movdqu xmm4, xmmword [rcx + rsi + 0x10]
movups xmmword [r10 + rsi + 0x10], xmm4
movdqu xmm5, xmmword [rcx + rsi + 0x20]
movups xmmword [r10 + rsi + 0x20], xmm5
movdqu xmm0, xmmword [rcx + rsi + 0x30]
movups xmmword [r10 + rsi + 0x30], xmm0
movdqu xmm1, xmmword [rcx + rsi + 0x40]
movups xmmword [r10 + rsi + 0x40], xmm1
movdqu xmm2, xmmword [rcx + rsi + 0x50]
movups xmmword [r10 + rsi + 0x50], xmm2
movdqu xmm3, xmmword [rcx + rsi + 0x60]
movups xmmword [r10 + rsi + 0x60], xmm3
movdqu xmm4, xmmword [rcx + rsi + 0x70]
movups xmmword [r10 + rsi + 0x70], xmm4
sub rsi, 0xffffffffffffff80
cmp dword [rsp + 0x70], ebp
ja 0x6d43c1bf
mov dword [rsp + 0x38], edi
mov edi, dword [rsp + 0x70]
shl edi, 4
mov esi, edi
mov dword [rsp + 0x8c], edi
lea rbp, [r10 + rsi]
add rcx, rsi
mov esi, dword [rsp + 0x88]
mov qword [rsp + 0x70], rsi
mov rdi, rsi
mov esi, dword [rsp + 0x8c]
cmp r12d, esi
je 0x6d43c33d
movzx r12d, byte [rcx]
sub edi, esi
mov esi, edi
mov byte [rbp], r12b
je 0x6d43c33d
movzx r12d, byte [rcx + 1]
mov byte [rbp + 1], r12b
cmp edi, 1
je 0x6d43c33d
movzx edi, byte [rcx + 2]
mov byte [rbp + 2], dil
cmp esi, 2
je 0x6d43c33d
movzx r12d, byte [rcx + 3]
mov byte [rbp + 3], r12b
cmp esi, 3
je 0x6d43c33d
movzx edi, byte [rcx + 4]
mov byte [rbp + 4], dil
cmp esi, 4
je 0x6d43c33d
movzx r12d, byte [rcx + 5]
mov byte [rbp + 5], r12b
cmp esi, 5
je 0x6d43c33d
movzx edi, byte [rcx + 6]
mov byte [rbp + 6], dil
cmp esi, 6
je 0x6d43c33d
movzx r12d, byte [rcx + 7]
mov byte [rbp + 7], r12b
cmp esi, 7
je 0x6d43c33d
movzx edi, byte [rcx + 8]
mov byte [rbp + 8], dil
cmp esi, 8
je 0x6d43c33d
movzx r12d, byte [rcx + 9]
mov byte [rbp + 9], r12b
cmp esi, 9
je 0x6d43c33d
movzx edi, byte [rcx + 0xa]
mov byte [rbp + 0xa], dil
cmp esi, 0xa
je 0x6d43c33d
movzx r12d, byte [rcx + 0xb]
mov byte [rbp + 0xb], r12b
cmp esi, 0xb
je 0x6d43c33d
movzx edi, byte [rcx + 0xc]
mov byte [rbp + 0xc], dil
cmp esi, 0xc
je 0x6d43c33d
movzx r12d, byte [rcx + 0xd]
mov byte [rbp + 0xd], r12b
cmp esi, 0xd
je 0x6d43c33d
movzx ecx, byte [rcx + 0xe]
mov byte [rbp + 0xe], cl
mov rcx, qword [rsp + 0x70]
mov esi, dword [rsp + 0x38]
lea r10, [r10 + rcx + 1]
mov rcx, r10
sub rcx, rsi
jmp 0x6d43ba62
lea r9, str.invalid_distance_too_far_back
mov qword [r15 + 0x20], r9
mov dword [rbx + 8], 0x3f51
jmp 0x6d43b8c8
movzx ecx, byte [rcx + 1]
add r10, 2
mov byte [r10 - 1], cl
jmp 0x6d43b8b3
add edx, esi
mov rsi, qword [rsp + 0x20]
lea edi, [r12 - 1]
mov dword [rsp + 0x88], edi
lea rbp, [rsi + rbp + 0x10]
lea rsi, [r10 + 0x10]
cmp r10, rbp
setae bpl
cmp rcx, rsi
setae sil
or bpl, sil
je 0x6d43c51a
cmp edi, 0xe
jbe 0x6d43c51a
lea ebp, [r12 - 0x10]
movdqu xmm4, xmmword [rcx]
mov esi, 0x10
shr ebp, 4
lea edi, [rbp + 1]
and ebp, 7
movups xmmword [r10], xmm4
mov dword [rsp + 0x8c], ebp
mov ebp, 1
mov dword [rsp + 0x70], edi
cmp edi, 1
jbe 0x6d43c22e
mov edi, dword [rsp + 0x8c]
test edi, edi
je 0x6d43c4a6
cmp edi, 1
je 0x6d43c48b
cmp edi, 2
je 0x6d43c47a
cmp edi, 3
je 0x6d43c469
cmp edi, 4
je 0x6d43c458
cmp edi, 5
je 0x6d43c447
cmp edi, 6
je 0x6d43c436
movdqu xmm5, xmmword [rcx + 0x10]
mov ebp, 2
mov esi, 0x20
movups xmmword [r10 + 0x10], xmm5
movdqu xmm0, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm0
add rsi, 0x10
movdqu xmm1, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm1
add rsi, 0x10
movdqu xmm2, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm2
add rsi, 0x10
movdqu xmm3, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm3
add rsi, 0x10
movdqu xmm4, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm4
add rsi, 0x10
movdqu xmm5, xmmword [rcx + rsi]
add ebp, 1
movups xmmword [r10 + rsi], xmm5
add rsi, 0x10
cmp dword [rsp + 0x70], ebp
jbe 0x6d43c22e
mov edi, dword [rsp + 0x38]
movdqu xmm0, xmmword [rcx + rsi]
add ebp, 8
movups xmmword [r10 + rsi], xmm0
movdqu xmm1, xmmword [rcx + rsi + 0x10]
movups xmmword [r10 + rsi + 0x10], xmm1
movdqu xmm2, xmmword [rcx + rsi + 0x20]
movups xmmword [r10 + rsi + 0x20], xmm2
movdqu xmm3, xmmword [rcx + rsi + 0x30]
movups xmmword [r10 + rsi + 0x30], xmm3
movdqu xmm4, xmmword [rcx + rsi + 0x40]
movups xmmword [r10 + rsi + 0x40], xmm4
movdqu xmm5, xmmword [rcx + rsi + 0x50]
movups xmmword [r10 + rsi + 0x50], xmm5
movdqu xmm0, xmmword [rcx + rsi + 0x60]
movups xmmword [r10 + rsi + 0x60], xmm0
movdqu xmm1, xmmword [rcx + rsi + 0x70]
movups xmmword [r10 + rsi + 0x70], xmm1
sub rsi, 0xffffffffffffff80
cmp dword [rsp + 0x70], ebp
ja 0x6d43c4aa
jmp 0x6d43c22a
mov ebp, dword [rsp + 0x88]
xor esi, esi
lea rdi, [rbp + 1]
mov qword [rsp + 0x70], rbp
and edi, 7
je 0x6d43c5bc
cmp rdi, 1
je 0x6d43c5a2
cmp rdi, 2
je 0x6d43c596
cmp rdi, 3
je 0x6d43c589
cmp rdi, 4
je 0x6d43c57d
cmp rdi, 5
je 0x6d43c571
cmp rdi, 6
je 0x6d43c564
movzx esi, byte [rcx]
mov byte [r10], sil
mov esi, 1
movzx r12d, byte [rcx + rsi]
mov byte [r10 + rsi], r12b
add rsi, 1
movzx ebp, byte [rcx + rsi]
mov byte [r10 + rsi], bpl
add rsi, 1
movzx edi, byte [rcx + rsi]
mov byte [r10 + rsi], dil
add rsi, 1
movzx r12d, byte [rcx + rsi]
mov byte [r10 + rsi], r12b
add rsi, 1
movzx ebp, byte [rcx + rsi]
mov byte [r10 + rsi], bpl
add rsi, 1
movzx edi, byte [rcx + rsi]
mov r12, rsi
mov byte [r10 + rsi], dil
add rsi, 1
cmp r12, qword [rsp + 0x70]
je 0x6d43c33d
mov edi, dword [rsp + 0x38]
movzx ebp, byte [rcx + rsi]
mov byte [r10 + rsi], bpl
movzx r12d, byte [rcx + rsi + 1]
mov byte [r10 + rsi + 1], r12b
movzx ebp, byte [rcx + rsi + 2]
mov byte [r10 + rsi + 2], bpl
movzx r12d, byte [rcx + rsi + 3]
mov byte [r10 + rsi + 3], r12b
movzx ebp, byte [rcx + rsi + 4]
mov byte [r10 + rsi + 4], bpl
movzx r12d, byte [rcx + rsi + 5]
mov byte [r10 + rsi + 5], r12b
movzx ebp, byte [rcx + rsi + 6]
mov byte [r10 + rsi + 6], bpl
movzx r12d, byte [rcx + rsi + 7]
lea rbp, [rsi + 7]
mov byte [r10 + rsi + 7], r12b
add rsi, 8
cmp rbp, qword [rsp + 0x70]
jne 0x6d43c5c0
mov dword [rsp + 0x38], edi
jmp 0x6d43c33d
lea r10, [r10 + rcx + 0x11]
sub edx, dword [rsp + 0x30]
cmp qword [rsp + 0x20], r10
mov ecx, 0
setae bpl
cmp rsi, qword [rsp + 0x80]
setae dil
or bpl, dil
je 0x6d43cafc
cmp dword [rsp + 0x54], 0xe
jbe 0x6d43cafc
mov r12, qword [rsp + 0x48]
lea r10, [r12 - 0x10]
shr r10, 4
add r10, 1
and r10d, 7
je 0x6d43caed
cmp r10, 1
je 0x6d43c736
cmp r10, 2
je 0x6d43c71e
cmp r10, 3
je 0x6d43c706
cmp r10, 4
je 0x6d43c6ee
cmp r10, 5
je 0x6d43c6d7
cmp r10, 6
je 0x6d43c6bf
mov rcx, qword [rsp + 0x20]
movdqu xmm0, xmmword [rcx]
mov ecx, 0x10
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsi], xmm0
mov rbp, qword [rsp + 0x20]
movdqu xmm2, xmmword [rbp + rcx]
movups xmmword [rsi + rcx], xmm2
add rcx, 0x10
movups xmmword [rsp + 0x70], xmm2
mov rdi, qword [rsp + 0x20]
movdqu xmm4, xmmword [rdi + rcx]
movups xmmword [rsi + rcx], xmm4
add rcx, 0x10
movups xmmword [rsp + 0x70], xmm4
mov r12, qword [rsp + 0x20]
movdqu xmm0, xmmword [r12 + rcx]
movups xmmword [rsi + rcx], xmm0
add rcx, 0x10
movups xmmword [rsp + 0x70], xmm0
mov r10, qword [rsp + 0x20]
movdqu xmm2, xmmword [r10 + rcx]
movups xmmword [rsi + rcx], xmm2
add rcx, 0x10
movups xmmword [rsp + 0x70], xmm2
mov rbp, qword [rsp + 0x20]
movdqu xmm4, xmmword [rbp + rcx]
movups xmmword [rsi + rcx], xmm4
add rcx, 0x10
movups xmmword [rsp + 0x70], xmm4
mov rdi, qword [rsp + 0x20]
movdqu xmm0, xmmword [rdi + rcx]
movups xmmword [rsi + rcx], xmm0
add rcx, 0x10
movups xmmword [rsp + 0x70], xmm0
cmp rcx, qword [rsp + 0x48]
je 0x6d43c7ca
mov r10d, dword [rsp + 0x38]
mov r12, rdi
movdqu xmm2, xmmword [r12 + rcx]
movups xmmword [rsi + rcx], xmm2
movdqu xmm3, xmmword [r12 + rcx + 0x10]
movups xmmword [rsi + rcx + 0x10], xmm3
movdqu xmm4, xmmword [r12 + rcx + 0x20]
movups xmmword [rsi + rcx + 0x20], xmm4
movdqu xmm5, xmmword [r12 + rcx + 0x30]
movups xmmword [rsi + rcx + 0x30], xmm5
movdqu xmm0, xmmword [r12 + rcx + 0x40]
movups xmmword [rsi + rcx + 0x40], xmm0
movdqu xmm1, xmmword [r12 + rcx + 0x50]
movups xmmword [rsi + rcx + 0x50], xmm1
movdqu xmm2, xmmword [r12 + rcx + 0x60]
movups xmmword [rsi + rcx + 0x60], xmm2
movdqu xmm3, xmmword [r12 + rcx + 0x70]
movups xmmword [rsi + rcx + 0x70], xmm3
sub rcx, 0xffffffffffffff80
cmp rcx, qword [rsp + 0x48]
jne 0x6d43c75c
mov dword [rsp + 0x38], r10d
mov rcx, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x68]
lea rdi, [rsi + rcx]
cmp dword [rsp + 0x30], ebp
je 0x6d43c8c6
mov rcx, qword [rsp + 0x58]
mov ebp, dword [rsp + 0x6c]
movzx r12d, byte [rcx]
mov byte [rdi], r12b
test ebp, ebp
je 0x6d43c8c6
movzx r10d, byte [rcx + 1]
mov byte [rdi + 1], r10b
cmp ebp, 1
je 0x6d43c8c6
movzx r12d, byte [rcx + 2]
mov byte [rdi + 2], r12b
cmp ebp, 2
je 0x6d43c8c6
movzx r10d, byte [rcx + 3]
mov byte [rdi + 3], r10b
cmp ebp, 3
je 0x6d43c8c6
movzx r12d, byte [rcx + 4]
mov byte [rdi + 4], r12b
cmp ebp, 4
je 0x6d43c8c6
movzx r10d, byte [rcx + 5]
mov byte [rdi + 5], r10b
cmp ebp, 5
je 0x6d43c8c6
movzx r12d, byte [rcx + 6]
mov byte [rdi + 6], r12b
cmp ebp, 6
je 0x6d43c8c6
movzx r10d, byte [rcx + 7]
mov byte [rdi + 7], r10b
cmp ebp, 7
je 0x6d43c8c6
movzx r12d, byte [rcx + 8]
mov byte [rdi + 8], r12b
cmp ebp, 8
je 0x6d43c8c6
movzx r10d, byte [rcx + 9]
mov byte [rdi + 9], r10b
cmp ebp, 9
je 0x6d43c8c6
movzx r12d, byte [rcx + 0xa]
mov byte [rdi + 0xa], r12b
cmp ebp, 0xa
je 0x6d43c8c6
movzx r10d, byte [rcx + 0xb]
mov byte [rdi + 0xb], r10b
cmp ebp, 0xb
je 0x6d43c8c6
movzx r12d, byte [rcx + 0xc]
mov byte [rdi + 0xc], r12b
cmp ebp, 0xc
je 0x6d43c8c6
movzx r10d, byte [rcx + 0xd]
mov byte [rdi + 0xd], r10b
cmp ebp, 0xd
je 0x6d43c8c6
movzx ecx, byte [rcx + 0xe]
mov byte [rdi + 0xe], cl
mov rcx, qword [rsp + 0x40]
lea r10, [rsi + rcx + 1]
mov esi, dword [rsp + 0x38]
mov rcx, r10
sub rcx, rsi
jmp 0x6d43ba62
mov ebp, dword [rsp + 0x88]
xor esi, esi
lea r12, [rbp + 1]
mov qword [rsp + 0x70], rbp
and r12d, 7
je 0x6d43c982
cmp r12, 1
je 0x6d43c967
cmp r12, 2
je 0x6d43c95b
cmp r12, 3
je 0x6d43c94f
cmp r12, 4
je 0x6d43c942
cmp r12, 5
je 0x6d43c936
cmp r12, 6
je 0x6d43c92a
movzx esi, byte [rcx]
mov byte [r10], sil
mov esi, 1
movzx edi, byte [rcx + rsi]
mov byte [r10 + rsi], dil
add rsi, 1
movzx ebp, byte [rcx + rsi]
mov byte [r10 + rsi], bpl
add rsi, 1
movzx r12d, byte [rcx + rsi]
mov byte [r10 + rsi], r12b
add rsi, 1
movzx edi, byte [rcx + rsi]
mov byte [r10 + rsi], dil
add rsi, 1
movzx ebp, byte [rcx + rsi]
mov byte [r10 + rsi], bpl
add rsi, 1
movzx r12d, byte [rcx + rsi]
mov rdi, rsi
mov byte [r10 + rsi], r12b
add rsi, 1
cmp rdi, qword [rsp + 0x70]
je 0x6d43c33d
mov edi, dword [rsp + 0x38]
movzx ebp, byte [rcx + rsi]
mov byte [r10 + rsi], bpl
movzx r12d, byte [rcx + rsi + 1]
mov byte [r10 + rsi + 1], r12b
movzx ebp, byte [rcx + rsi + 2]
mov byte [r10 + rsi + 2], bpl
movzx r12d, byte [rcx + rsi + 3]
mov byte [r10 + rsi + 3], r12b
movzx ebp, byte [rcx + rsi + 4]
mov byte [r10 + rsi + 4], bpl
movzx r12d, byte [rcx + rsi + 5]
mov byte [r10 + rsi + 5], r12b
movzx ebp, byte [rcx + rsi + 6]
mov byte [r10 + rsi + 6], bpl
movzx r12d, byte [rcx + rsi + 7]
lea rbp, [rsi + 7]
mov byte [r10 + rsi + 7], r12b
add rsi, 8
cmp rbp, qword [rsp + 0x70]
jne 0x6d43c986
jmp 0x6d43c621
mov ebp, dword [rsp + 0x70]
xor esi, esi
mov rdi, rbp
and edi, 7
je 0x6d43ca81
cmp rdi, 1
je 0x6d43ca6c
cmp rdi, 2
je 0x6d43ca5f
cmp rdi, 3
je 0x6d43ca53
cmp rdi, 4
je 0x6d43ca46
cmp rdi, 5
je 0x6d43ca3a
cmp rdi, 6
je 0x6d43ca2d
movzx esi, byte [rcx]
mov byte [r10], sil
mov esi, 1
movzx r12d, byte [rcx + rsi]
mov byte [r10 + rsi], r12b
add rsi, 1
movzx edi, byte [rcx + rsi]
mov byte [r10 + rsi], dil
add rsi, 1
movzx r12d, byte [rcx + rsi]
mov byte [r10 + rsi], r12b
add rsi, 1
movzx edi, byte [rcx + rsi]
mov byte [r10 + rsi], dil
add rsi, 1
movzx r12d, byte [rcx + rsi]
mov byte [r10 + rsi], r12b
add rsi, 1
movzx edi, byte [rcx + rsi]
mov byte [r10 + rsi], dil
add rsi, 1
cmp rsi, rbp
je 0x6d43bed0
mov edi, dword [rsp + 0x38]
movzx r12d, byte [rcx + rsi]
mov byte [r10 + rsi], r12b
movzx r12d, byte [rcx + rsi + 1]
mov byte [r10 + rsi + 1], r12b
movzx r12d, byte [rcx + rsi + 2]
mov byte [r10 + rsi + 2], r12b
movzx r12d, byte [rcx + rsi + 3]
mov byte [r10 + rsi + 3], r12b
movzx r12d, byte [rcx + rsi + 4]
mov byte [r10 + rsi + 4], r12b
movzx r12d, byte [rcx + rsi + 5]
mov byte [r10 + rsi + 5], r12b
movzx r12d, byte [rcx + rsi + 6]
mov byte [r10 + rsi + 6], r12b
movzx r12d, byte [rcx + rsi + 7]
mov byte [r10 + rsi + 7], r12b
add rsi, 8
cmp rsi, rbp
jne 0x6d43ca85
mov dword [rsp + 0x38], edi
jmp 0x6d43bed0
mov r12, qword [rsp + 0x20]
mov r10d, dword [rsp + 0x38]
jmp 0x6d43c75c
mov rdi, qword [rsp + 0x40]
lea rbp, [rdi + 1]
and ebp, 7
je 0x6d43cbbf
cmp rbp, 1
je 0x6d43cb9f
cmp rbp, 2
je 0x6d43cb8e
cmp rbp, 3
je 0x6d43cb7c
cmp rbp, 4
je 0x6d43cb6b
cmp rbp, 5
je 0x6d43cb59
cmp rbp, 6
je 0x6d43cb48
mov r12, qword [rsp + 0x20]
mov ecx, 1
movzx r10d, byte [r12]
mov byte [rsi], r10b
mov rdi, qword [rsp + 0x20]
movzx ebp, byte [rdi + rcx]
mov byte [rsi + rcx], bpl
add rcx, 1
mov r12, qword [rsp + 0x20]
movzx r10d, byte [r12 + rcx]
mov byte [rsi + rcx], r10b
add rcx, 1
mov rdi, qword [rsp + 0x20]
movzx ebp, byte [rdi + rcx]
mov byte [rsi + rcx], bpl
add rcx, 1
mov r12, qword [rsp + 0x20]
movzx r10d, byte [r12 + rcx]
mov byte [rsi + rcx], r10b
add rcx, 1
mov rdi, qword [rsp + 0x20]
movzx ebp, byte [rdi + rcx]
mov byte [rsi + rcx], bpl
add rcx, 1
mov r12, qword [rsp + 0x20]
mov rdi, rcx
movzx r10d, byte [r12 + rcx]
mov byte [rsi + rcx], r10b
add rcx, 1
cmp rdi, qword [rsp + 0x40]
je 0x6d43c8c6
mov r10, qword [rsp + 0x20]
mov edi, dword [rsp + 0x38]
movzx ebp, byte [r10 + rcx]
mov byte [rsi + rcx], bpl
movzx r12d, byte [r10 + rcx + 1]
mov byte [rsi + rcx + 1], r12b
movzx ebp, byte [r10 + rcx + 2]
mov byte [rsi + rcx + 2], bpl
movzx r12d, byte [r10 + rcx + 3]
mov byte [rsi + rcx + 3], r12b
movzx ebp, byte [r10 + rcx + 4]
mov byte [rsi + rcx + 4], bpl
movzx r12d, byte [r10 + rcx + 5]
mov byte [rsi + rcx + 5], r12b
movzx ebp, byte [r10 + rcx + 6]
mov byte [rsi + rcx + 6], bpl
movzx r12d, byte [r10 + rcx + 7]
lea rbp, [rcx + 7]
mov byte [rsi + rcx + 7], r12b
add rcx, 8
cmp rbp, qword [rsp + 0x40]
jne 0x6d43cbc8
mov dword [rsp + 0x38], edi
jmp 0x6d43c8c6