Function at 0x6809c9e0
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, 0xd8
mov rbx, rcx
test edx, edx
jne 0x6809e780
mov qword [rbx + 0x10], 0
xor eax, eax
xor r8d, r8d
nop dword [rax + rax]
test r8d, r8d
jg 0x6809ca69
mov r14, qword [rbx + 8]
mov r9, qword [rbx]
mov ecx, r8d
cmp r14, r9
jbe 0x6809ca4b
lea r15, [r9 + 1]
mov qword [rbx], r15
movzx r9d, byte [r9]
shl r9d, cl
add ecx, 8
or eax, r9d
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], eax
cmp ecx, 0x18
jg 0x6809ca59
mov r9, r15
cmp r14, r9
ja 0x6809ca24
add ecx, 8
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6809ca1f
mov esi, 0x18
sub esi, r8d
and esi, 0xfffffff8
lea r8d, [r8 + rsi + 8]
mov edi, eax
lea edx, [r8 - 1]
shr eax, 1
and edi, 1
mov dword [rbx + 0x14], eax
mov dword [rsp + 0x28], edi
mov dword [rbx + 0x10], edx
cmp edx, 1
jg 0x6809cada
mov rbp, qword [rbx + 8]
mov r12, qword [rbx]
cmp rbp, r12
jbe 0x6809caba
lea r10, [r12 + 1]
mov ecx, edx
add edx, 8
mov qword [rbx], r10
movzx r11d, byte [r12]
mov dword [rbx + 0x10], edx
shl r11d, cl
or eax, r11d
mov dword [rbx + 0x14], eax
cmp edx, 0x18
jg 0x6809cac8
mov r12, r10
cmp rbp, r12
ja 0x6809ca8f
add edx, 8
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x10], edx
cmp edx, 0x18
jle 0x6809ca8a
mov r13d, 0x19
sub r13d, r8d
and r13d, 0xfffffff8
lea edx, [r8 + r13 + 7]
mov r14d, eax
lea r13d, [rdx - 2]
shr r14d, 2
mov dword [rbx + 0x10], r13d
mov dword [rbx + 0x14], r14d
and eax, 3
je 0x6809d1a8
cmp eax, 3
je 0x6809e660
cmp eax, 1
jne 0x6809d9b0
cmp byte [0x680b745f], 0
je 0x6809e290
lea rdi, [rbx + 0x3c]
mov r12d, ebx
lea r9, [0x680b7300]
xor eax, eax
and rdi, 0xfffffffffffffff8
mov r13, r9
mov qword [rsp + 0x80], 0
lea r8, [rsp + 0x80]
sub r12d, edi
mov qword [rsp + 0x88], 0
lea r14, [r9 + 0x120]
lea ecx, [r12 + 0x434]
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
shr ecx, 3
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xc0], 0
mov qword [rbx + 0x34], 0
mov qword [rbx + 0x42c], 0
rep stosq qword [rdi], rax
movzx edx, byte [r13]
movzx r15d, byte [r13 + 1]
add r13, 8
movzx esi, byte [r13 - 6]
movzx ebp, byte [r13 - 5]
movzx r10d, byte [r13 - 4]
movzx r11d, byte [r13 - 3]
movzx r12d, byte [r13 - 2]
movzx ecx, byte [r13 - 1]
add dword [rsp + rdx*4 + 0x80], 1
add dword [rsp + r15*4 + 0x80], 1
add dword [rsp + rsi*4 + 0x80], 1
add dword [rsp + rbp*4 + 0x80], 1
add dword [rsp + r10*4 + 0x80], 1
add dword [rsp + r11*4 + 0x80], 1
add dword [rsp + r12*4 + 0x80], 1
add dword [rsp + rcx*4 + 0x80], 1
cmp r14, r13
jne 0x6809cbca
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x80], 0
cmp ecx, 2
jg 0x6809e178
mov edx, dword [rsp + 0x88]
cmp edx, 4
jg 0x6809e178
mov r10d, dword [rsp + 0x8c]
cmp r10d, 8
jg 0x6809e178
mov r11d, dword [rsp + 0x90]
cmp r11d, 0x10
jg 0x6809e178
mov edi, dword [rsp + 0x94]
cmp edi, 0x20
jg 0x6809e178
mov esi, dword [rsp + 0x98]
cmp esi, 0x40
jg 0x6809e178
mov r12d, dword [rsp + 0x9c]
cmp r12d, 0x80
jg 0x6809e178
mov r13d, dword [rsp + 0xa0]
cmp r13d, 0x100
jg 0x6809e178
mov ebp, dword [rsp + 0xa4]
cmp ebp, 0x200
jg 0x6809e178
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x2c], eax
cmp eax, 0x400
jg 0x6809e178
mov r14d, dword [rsp + 0xac]
mov dword [rsp + 0x30], r14d
cmp r14d, 0x800
jg 0x6809e178
mov r14d, dword [rsp + 0xb0]
cmp r14d, 0x1000
jg 0x6809e178
mov r15d, dword [rsp + 0xb4]
mov dword [rsp + 0x34], r15d
cmp r15d, 0x2000
jg 0x6809e178
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
cmp eax, 0x4000
jg 0x6809e178
mov r15d, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], r15d
cmp r15d, 0x8000
jg 0x6809e178
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x44], 0
mov word [rbx + 0x436], ax
mov eax, ecx
shl eax, 0xf
mov word [rbx + 0x49a], r15w
mov dword [rbx + 0x458], eax
lea eax, [rcx + rcx]
mov dword [rsp + 0x48], eax
mov word [rbx + 0x438], ax
add eax, edx
mov word [rbx + 0x49c], cx
cmp eax, 4
jle 0x6809cdc5
test edx, edx
jne 0x6809e230
mov r15d, eax
add edx, ecx
add eax, eax
shl r15d, 0xe
mov dword [rsp + 0x4c], eax
mov word [rbx + 0x43a], ax
add eax, r10d
mov dword [rbx + 0x45c], r15d
mov word [rbx + 0x49e], dx
test r10d, r10d
je 0x6809cdfa
cmp eax, 8
jg 0x6809e230
mov ecx, eax
add eax, eax
add edx, r10d
mov dword [rsp + 0x50], eax
shl ecx, 0xd
mov word [rbx + 0x43c], ax
add eax, r11d
mov dword [rbx + 0x460], ecx
mov word [rbx + 0x4a0], dx
cmp eax, 0x10
jle 0x6809ce2d
test r11d, r11d
jne 0x6809e230
mov r10d, eax
add eax, eax
add edx, r11d
mov dword [rsp + 0x54], eax
shl r10d, 0xc
mov word [rbx + 0x43e], ax
add eax, edi
mov dword [rbx + 0x464], r10d
mov word [rbx + 0x4a2], dx
cmp eax, 0x20
jle 0x6809ce61
test edi, edi
jne 0x6809e230
mov r11d, eax
add edx, edi
add eax, eax
shl r11d, 0xb
mov dword [rsp + 0x58], eax
mov word [rbx + 0x440], ax
add eax, esi
mov dword [rbx + 0x468], r11d
mov word [rbx + 0x4a4], dx
test esi, esi
je 0x6809ce94
cmp eax, 0x40
jg 0x6809e230
mov edi, eax
add eax, eax
add edx, esi
mov dword [rsp + 0x5c], eax
shl edi, 0xa
mov word [rbx + 0x442], ax
add eax, r12d
mov dword [rbx + 0x46c], edi
mov word [rbx + 0x4a6], dx
cmp eax, 0x80
jle 0x6809cec8
test r12d, r12d
jne 0x6809e230
mov esi, eax
add eax, eax
add edx, r12d
mov dword [rsp + 0x60], eax
shl esi, 9
mov word [rbx + 0x444], ax
add eax, r13d
mov dword [rbx + 0x470], esi
mov word [rbx + 0x4a8], dx
cmp eax, 0x100
jle 0x6809cefd
test r13d, r13d
jne 0x6809e230
mov r12d, eax
add edx, r13d
add eax, eax
shl r12d, 8
mov dword [rsp + 0x64], eax
mov word [rbx + 0x446], ax
add eax, ebp
mov dword [rbx + 0x474], r12d
mov word [rbx + 0x4aa], dx
test ebp, ebp
je 0x6809cf33
cmp eax, 0x200
jg 0x6809e230
add edx, ebp
mov ebp, dword [rsp + 0x2c]
mov r13d, eax
add eax, eax
mov dword [rsp + 0x68], eax
shl r13d, 7
mov word [rbx + 0x448], ax
add eax, ebp
mov dword [rbx + 0x478], r13d
mov word [rbx + 0x4ac], dx
cmp eax, 0x400
jle 0x6809cf6c
test ebp, ebp
jne 0x6809e230
mov ecx, dword [rsp + 0x30]
mov r15d, eax
add eax, eax
add edx, dword [rsp + 0x2c]
mov dword [rsp + 0x6c], eax
shl r15d, 6
mov word [rbx + 0x44a], ax
add eax, ecx
mov dword [rbx + 0x47c], r15d
mov word [rbx + 0x4ae], dx
cmp eax, 0x800
jle 0x6809cfa7
test ecx, ecx
jne 0x6809e230
mov r10d, eax
add edx, dword [rsp + 0x30]
add eax, eax
shl r10d, 5
mov dword [rsp + 0x70], eax
mov word [rbx + 0x44c], ax
add eax, r14d
mov dword [rbx + 0x480], r10d
mov word [rbx + 0x4b0], dx
test r14d, r14d
je 0x6809cfe0
cmp eax, 0x1000
jg 0x6809e230
mov r11d, eax
add edx, r14d
mov r14d, dword [rsp + 0x34]
add eax, eax
shl r11d, 4
mov dword [rsp + 0x74], eax
mov word [rbx + 0x44e], ax
add eax, r14d
mov dword [rbx + 0x484], r11d
mov word [rbx + 0x4b2], dx
test r14d, r14d
je 0x6809d01d
cmp eax, 0x2000
jg 0x6809e230
mov esi, dword [rsp + 0x38]
lea edi, [rax*8]
add edx, dword [rsp + 0x34]
add eax, eax
mov dword [rsp + 0x78], eax
mov word [rbx + 0x450], ax
add eax, esi
mov dword [rbx + 0x488], edi
mov word [rbx + 0x4b4], dx
test esi, esi
je 0x6809d057
cmp eax, 0x4000
jg 0x6809e230
add edx, dword [rsp + 0x38]
lea r12d, [rax*4]
add eax, eax
mov word [rbx + 0x4b6], dx
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 0x7c], eax
mov word [rbx + 0x452], ax
add eax, edx
mov dword [rbx + 0x48c], r12d
cmp eax, 0x8000
jle 0x6809d093
test edx, edx
jne 0x6809e230
add eax, eax
xor r15d, r15d
mov dword [rbx + 0x494], 0x10000
mov r14d, 1
mov dword [rbx + 0x490], eax
mov r13d, 0x10
jmp 0x6809d0da
add r10d, 1
mov dword [rsp + r11*4 + 0x40], r10d
add r15, 1
cmp r15, 0x120
je 0x6809d368
movzx ebp, byte [r9 + r15]
mov ecx, ebp
test ebp, ebp
je 0x6809d0c9
movzx eax, bpl
movsxd r11, ebp
lea rsi, [rbx + rax*2]
mov r10d, dword [rsp + r11*4 + 0x40]
movzx r12d, word [rsi + 0x434]
movzx edi, word [rsi + 0x498]
mov eax, r10d
sub eax, r12d
add eax, edi
cdqe
mov byte [rbx + rax + 0x4b8], bpl
mov word [rbx + rax*2 + 0x5d8], r15w
cmp ebp, 9
jg 0x6809d0c0
mov esi, r10d
lea r12d, [r10 + r10]
mov edx, ebp
sar esi, 1
and r12d, 0xaaaa
shl edx, 9
and esi, 0x5555
or edx, r15d
or esi, r12d
mov eax, esi
shl esi, 2
sar eax, 2
and esi, 0xcccc
and eax, 0x3333
or esi, eax
mov edi, esi
shl esi, 4
sar edi, 4
and esi, 0xf0f0
and edi, 0xf0f
or edi, esi
mov esi, r14d
mov eax, edi
shl edi, 8
shl esi, cl
movzx r12d, di
sar eax, 8
mov ecx, r13d
or eax, r12d
sub ecx, ebp
movsxd rdi, esi
sar eax, cl
cdqe
mov word [rbx + rax*2 + 0x34], dx
add rax, rdi
cmp eax, 0x1ff
jle 0x6809d190
jmp 0x6809d0c0
mov ebp, r13d
and ebp, 7
jne 0x6809e418
test r13d, r13d
jle 0x6809e494
mov edx, r14d
lea r12d, [r13 - 8]
mov byte [rsp + 0x80], r14b
shr edx, 8
test r12d, r12d
jle 0x6809e4d8
mov byte [rsp + 0x81], dl
lea r9d, [r13 - 0x10]
mov edx, r14d
shr edx, 0x10
test r9d, r9d
jle 0x6809e4d8
mov byte [rsp + 0x82], dl
shr r14d, 0x18
cmp r13d, 0x18
jle 0x6809e670
mov byte [rsp + 0x83], r14b
lea r14d, [r13 - 1]
mov ebp, 1
mov dword [rbx + 0x14], eax
mov eax, 0
shr r14d, 3
test r13d, r13d
lea edi, [r14 + 1]
cmovg ebp, edi
neg r14d
shl r14d, 3
test r13d, r13d
cmovle r14d, eax
add r14d, r12d
mov dword [rbx + 0x10], r14d
cmp ebp, 3
jg 0x6809d2f5
mov rsi, qword [rbx + 8]
mov rcx, qword [rbx]
lea r12d, [rbp + 1]
xor r10d, r10d
cmp rsi, rcx
jbe 0x6809d26d
lea r15, [rcx + 1]
mov qword [rbx], r15
movzx r10d, byte [rcx]
mov rcx, r15
movsxd r11, ebp
mov byte [rsp + r11 + 0x80], r10b
cmp r12d, 4
je 0x6809d2f5
lea eax, [r12 + 1]
xor r9d, r9d
cmp rcx, rsi
jae 0x6809d299
lea rdx, [rcx + 1]
mov qword [rbx], rdx
movzx r9d, byte [rcx]
mov rcx, rdx
movsxd r14, r12d
mov byte [rsp + r14 + 0x80], r9b
cmp eax, 4
je 0x6809d2f5
xor edi, edi
cmp eax, 2
setne dil
add edi, 3
cmp rsi, rcx
jbe 0x6809e560
lea rbp, [rcx + 1]
cdqe
mov qword [rbx], rbp
movzx r15d, byte [rcx]
mov byte [rsp + rax + 0x80], r15b
cmp edi, 4
je 0x6809d2f5
cmp rsi, rbp
jbe 0x6809e573
lea rsi, [rcx + 2]
mov qword [rbx], rsi
movzx r10d, byte [rcx + 1]
mov byte [rsp + 0x83], r10b
movzx r11d, byte [rsp + 0x81]
movzx ecx, byte [rsp + 0x82]
movzx r8d, byte [rsp + 0x80]
movzx r13d, byte [rsp + 0x83]
shl r11d, 8
add r11d, r8d
shl r13d, 8
mov r12d, r11d
add r13d, ecx
xor r12d, 0xffff
cmp r13d, r12d
je 0x6809e260
lea r12, str.zlib_corrupt
xor r13d, r13d
mov qword [0x680b7420], r12
mov eax, r13d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [rbx + 0x818]
mov ecx, pe_nt_image_headers64
xor eax, eax
mov qword [r8], 0
rep stosq qword [rdi], rax
mov qword [r8 + 8], 0
mov qword [r8 + 0x10], 0
mov qword [r8 + 0x18], 0
mov qword [r8 + 0x20], 0
mov qword [r8 + 0x28], 0
mov qword [r8 + 0x30], 0
mov qword [r8 + 0x38], 0
mov dword [r8 + 0x40], 0
lea r8, [0x680b7440]
lea r9, [r8 + 0x20]
movzx r15d, byte [r8]
movzx r14d, byte [r8 + 1]
add r8, 8
movzx r13d, byte [r8 - 6]
movzx ebp, byte [r8 - 5]
movzx r11d, byte [r8 - 4]
movzx r10d, byte [r8 - 3]
movzx edx, byte [r8 - 2]
movzx r12d, byte [r8 - 1]
add dword [rsp + r15*4 + 0x80], 1
add dword [rsp + r14*4 + 0x80], 1
add dword [rsp + r13*4 + 0x80], 1
add dword [rsp + rbp*4 + 0x80], 1
add dword [rsp + r11*4 + 0x80], 1
add dword [rsp + r10*4 + 0x80], 1
add dword [rsp + rdx*4 + 0x80], 1
add dword [rsp + r12*4 + 0x80], 1
cmp r9, r8
jne 0x6809d3cb
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x80], 0
cmp ecx, 2
jg 0x6809e178
mov edx, dword [rsp + 0x88]
cmp edx, 4
jg 0x6809e178
mov r10d, dword [rsp + 0x8c]
cmp r10d, 8
jg 0x6809e178
mov r8d, dword [rsp + 0x90]
cmp r8d, 0x10
jg 0x6809e178
mov r9d, dword [rsp + 0x94]
cmp r9d, 0x20
jg 0x6809e178
mov r11d, dword [rsp + 0x98]
cmp r11d, 0x40
jg 0x6809e178
mov esi, dword [rsp + 0x9c]
cmp esi, 0x80
jg 0x6809e178
mov edi, dword [rsp + 0xa0]
cmp edi, 0x100
jg 0x6809e178
mov r12d, dword [rsp + 0xa4]
cmp r12d, 0x200
jg 0x6809e178
mov ebp, dword [rsp + 0xa8]
cmp ebp, 0x400
jg 0x6809e178
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x2c], eax
cmp eax, 0x800
jg 0x6809e178
mov r13d, dword [rsp + 0xb0]
cmp r13d, 0x1000
jg 0x6809e178
mov r14d, dword [rsp + 0xb4]
cmp r14d, 0x2000
jg 0x6809e178
mov r15d, dword [rsp + 0xb8]
mov dword [rsp + 0x30], r15d
cmp r15d, 0x4000
jg 0x6809e178
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x34], eax
cmp eax, 0x8000
jg 0x6809e178
xor r15d, r15d
xor eax, eax
mov dword [rsp + 0x44], 0
mov word [rbx + 0xc1a], r15w
mov r15d, ecx
mov word [rbx + 0xc7e], ax
shl r15d, 0xf
lea eax, [rcx + rcx]
mov dword [rsp + 0x48], eax
mov word [rbx + 0xc1c], ax
add eax, edx
mov dword [rbx + 0xc3c], r15d
mov word [rbx + 0xc80], cx
test edx, edx
je 0x6809d5c0
cmp eax, 4
jg 0x6809e230
mov r15d, eax
add eax, eax
add edx, ecx
mov dword [rsp + 0x4c], eax
shl r15d, 0xe
mov word [rbx + 0xc1e], ax
add eax, r10d
mov dword [rbx + 0xc40], r15d
mov word [rbx + 0xc82], dx
cmp eax, 8
jle 0x6809d5f5
test r10d, r10d
jne 0x6809e230
mov ecx, eax
add edx, r10d
add eax, eax
shl ecx, 0xd
mov dword [rsp + 0x50], eax
mov word [rbx + 0xc20], ax
add eax, r8d
mov dword [rbx + 0xc44], ecx
mov word [rbx + 0xc84], dx
test r8d, r8d
je 0x6809d628
cmp eax, 0x10
jg 0x6809e230
mov r10d, eax
add edx, r8d
add eax, eax
shl r10d, 0xc
mov dword [rsp + 0x54], eax
mov word [rbx + 0xc22], ax
add eax, r9d
mov dword [rbx + 0xc48], r10d
mov word [rbx + 0xc86], dx
test r9d, r9d
je 0x6809d65e
cmp eax, 0x20
jg 0x6809e230
mov r8d, eax
add edx, r9d
add eax, eax
shl r8d, 0xb
mov dword [rsp + 0x58], eax
mov word [rbx + 0xc24], ax
add eax, r11d
mov dword [rbx + 0xc4c], r8d
mov word [rbx + 0xc88], dx
test r11d, r11d
je 0x6809d694
cmp eax, 0x40
jg 0x6809e230
mov r9d, eax
add edx, r11d
add eax, eax
shl r9d, 0xa
mov dword [rsp + 0x5c], eax
mov word [rbx + 0xc26], ax
add eax, esi
mov dword [rbx + 0xc50], r9d
mov word [rbx + 0xc8a], dx
test esi, esi
je 0x6809d6ca
cmp eax, 0x80
jg 0x6809e230
mov r11d, eax
add edx, esi
add eax, eax
shl r11d, 9
mov dword [rsp + 0x60], eax
mov word [rbx + 0xc28], ax
add eax, edi
mov dword [rbx + 0xc54], r11d
mov word [rbx + 0xc8c], dx
test edi, edi
je 0x6809d6ff
cmp eax, 0x100
jg 0x6809e230
mov esi, eax
add eax, eax
add edx, edi
mov dword [rsp + 0x64], eax
shl esi, 8
mov word [rbx + 0xc2a], ax
add eax, r12d
mov dword [rbx + 0xc58], esi
mov word [rbx + 0xc8e], dx
cmp eax, 0x200
jle 0x6809d733
test r12d, r12d
jne 0x6809e230
mov edi, eax
add edx, r12d
add eax, eax
shl edi, 7
mov dword [rsp + 0x68], eax
mov word [rbx + 0xc2c], ax
add eax, ebp
mov dword [rbx + 0xc5c], edi
mov word [rbx + 0xc90], dx
test ebp, ebp
je 0x6809d766
cmp eax, 0x400
jg 0x6809e230
add edx, ebp
mov ebp, dword [rsp + 0x2c]
mov r12d, eax
add eax, eax
mov dword [rsp + 0x6c], eax
shl r12d, 6
mov word [rbx + 0xc2e], ax
add eax, ebp
mov dword [rbx + 0xc60], r12d
mov word [rbx + 0xc92], dx
cmp eax, 0x800
jle 0x6809d79f
test ebp, ebp
jne 0x6809e230
mov r15d, eax
add edx, dword [rsp + 0x2c]
add eax, eax
shl r15d, 5
mov dword [rsp + 0x70], eax
mov word [rbx + 0xc30], ax
add eax, r13d
mov dword [rbx + 0xc64], r15d
mov word [rbx + 0xc94], dx
test r13d, r13d
je 0x6809d7d8
cmp eax, 0x1000
jg 0x6809e230
mov ecx, eax
add edx, r13d
add eax, eax
shl ecx, 4
mov dword [rsp + 0x74], eax
mov word [rbx + 0xc32], ax
add eax, r14d
mov dword [rbx + 0xc68], ecx
mov word [rbx + 0xc96], dx
test r14d, r14d
je 0x6809d80d
cmp eax, 0x2000
jg 0x6809e230
add edx, r14d
mov r14d, dword [rsp + 0x30]
lea r13d, [rax*8]
add eax, eax
mov dword [rsp + 0x78], eax
mov word [rbx + 0xc34], ax
add eax, r14d
mov dword [rbx + 0xc6c], r13d
mov word [rbx + 0xc98], dx
cmp eax, 0x4000
jle 0x6809d84b
test r14d, r14d
jne 0x6809e230
add edx, dword [rsp + 0x30]
lea r10d, [rax*4]
add eax, eax
mov word [rbx + 0xc9a], dx
mov edx, dword [rsp + 0x34]
mov dword [rsp + 0x7c], eax
mov word [rbx + 0xc36], ax
add eax, edx
mov dword [rbx + 0xc70], r10d
cmp eax, 0x8000
jle 0x6809d887
test edx, edx
jne 0x6809e230
add eax, eax
xor r15d, r15d
mov esi, 1
mov r11d, 0x10
mov dword [rbx + 0xc74], eax
mov dword [rbx + 0xc78], 0x10000
jmp 0x6809d8c7
add r8d, 1
mov dword [rsp + r9*4 + 0x40], r8d
add r15, 1
cmp r15, 0x20
je 0x6809d9c0
lea rax, [0x680b7440]
movzx r13d, byte [rax + r15]
mov ecx, r13d
test r13d, r13d
je 0x6809d8b9
movsxd r9, r13d
movzx edi, r13b
lea r12, [rbx + rdi*2]
mov r8d, dword [rsp + r9*4 + 0x40]
movzx ebp, word [r12 + 0xc18]
movzx r14d, word [r12 + 0xc7c]
mov eax, r8d
sub eax, ebp
add eax, r14d
cdqe
mov byte [rbx + rax + 0xc9c], r13b
mov word [rbx + rax*2 + 0xdbc], r15w
cmp r13d, 9
jg 0x6809d8b0
mov edx, r8d
lea edi, [r8 + r8]
mov r10d, r13d
sar edx, 1
and edi, 0xaaaa
shl r10d, 9
and edx, 0x5555
or r10d, r15d
or edx, edi
mov r12d, edx
shl edx, 2
sar r12d, 2
and edx, 0xcccc
and r12d, 0x3333
or r12d, edx
mov edx, esi
mov ebp, r12d
shl r12d, 4
sar ebp, 4
and r12d, 0xf0f0
shl edx, cl
mov ecx, r11d
and ebp, 0xf0f
sub ecx, r13d
movsxd rdi, edx
or ebp, r12d
mov eax, ebp
shl ebp, 8
sar eax, 8
movzx r14d, bp
or eax, r14d
sar eax, cl
cdqe
nop dword [rax + rax]
mov word [rbx + rax*2 + 0x818], r10w
add rax, rdi
cmp eax, 0x1ff
jle 0x6809d998
jmp 0x6809d8b0
mov rcx, rbx
call fcn.6807e3f0
test eax, eax
je 0x6809e660
mov r9, qword [rbx + 0x18]
lea rdi, [0x68120800]
lea rsi, [0x6811b660]
mov r8d, dword [rbx + 0x10]
mov r15d, dword [rbx + 0x14]
cmp r8d, 0xf
jg 0x6809da38
mov r11, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r8d
cmp r11, r10
jbe 0x6809da17
lea r13, [r10 + 1]
mov qword [rbx], r13
movzx r10d, byte [r10]
shl r10d, cl
add ecx, 8
or r15d, r10d
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], r15d
cmp ecx, 0x18
jg 0x6809da26
mov r10, r13
cmp r11, r10
ja 0x6809d9ef
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6809d9ea
mov r12d, 0x18
sub r12d, r8d
and r12d, 0xfffffff8
lea r8d, [r8 + r12 + 8]
mov ebp, r15d
and ebp, 0x1ff
movzx ecx, word [rbx + rbp*2 + 0x34]
mov ebp, ecx
test ecx, ecx
je 0x6809deb0
sar ecx, 9
and ebp, 0x1ff
shr r15d, cl
sub r8d, ecx
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], r8d
cmp ebp, 0xff
jg 0x6809dae0
mov r14, qword [rbx + 0x28]
cmp r14, r9
ja 0x6809dad3
mov r8d, dword [rbx + 0x30]
mov qword [rbx + 0x18], r9
test r8d, r8d
je 0x6809df70
mov r15, qword [rbx + 0x20]
sub r9, r15
sub r14, r15
mov r13, r9
mov eax, r14d
cmp r9d, r14d
jl 0x6809daa7
nop
add eax, eax
cmp r9d, eax
jge 0x6809daa0
movsxd r12, eax
mov rcx, r15
mov rdx, r12
call sub.msvcrt.dll_realloc
test rax, rax
je 0x6809e890
movsxd r9, r13d
mov qword [rbx + 0x20], rax
add r9, rax
add rax, r12
mov qword [rbx + 0x18], r9
mov qword [rbx + 0x28], rax
mov byte [r9], bpl
add r9, 1
jmp 0x6809d9d2
cmp ebp, 0x100
je 0x6809e810
sub ebp, 0x101
lea r10, [0x68120720]
movsxd r13, ebp
mov eax, dword [rdi + r13*4]
mov r12d, dword [r10 + r13*4]
test eax, eax
jne 0x6809e048
cmp r8d, 0xf
jg 0x6809db67
mov rax, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r8d
cmp rax, r10
jbe 0x6809db48
lea r11, [r10 + 1]
mov qword [rbx], r11
movzx edx, byte [r10]
shl edx, cl
add ecx, 8
or r15d, edx
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], r15d
cmp ecx, 0x18
jg 0x6809db57
mov r10, r11
cmp rax, r10
ja 0x6809db21
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6809db1c
mov ebp, 0x18
sub ebp, r8d
and ebp, 0xfffffff8
lea r8d, [r8 + rbp + 8]
mov r13d, r15d
and r13d, 0x1ff
movzx ecx, word [rbx + r13*2 + 0x818]
mov ebp, ecx
test ecx, ecx
je 0x6809df90
sar ecx, 9
and ebp, 0x1ff
shr r15d, cl
sub r8d, ecx
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], r8d
movsxd r14, ebp
lea rax, [0x6811e680]
mov r10d, dword [rax + r14*4]
mov r13d, dword [rsi + r14*4]
test r10d, r10d
jne 0x6809e0e0
mov rcx, qword [rbx + 0x20]
mov r14, r9
movsxd r15, r13d
sub r14, rcx
cmp r14, r15
jl 0x6809e850
movsxd rdx, r12d
mov r10, qword [rbx + 0x28]
add rdx, r9
cmp r10, rdx
jae 0x6809dc2f
mov qword [rbx + 0x18], r9
mov r9d, dword [rbx + 0x30]
test r9d, r9d
je 0x6809df70
sub r10, rcx
lea ebp, [r12 + r14]
mov eax, r10d
cmp r10d, ebp
jge 0x6809dc06
nop dword [rax + rax]
add eax, eax
cmp eax, ebp
jl 0x6809dc00
movsxd rbp, eax
mov rdx, rbp
call sub.msvcrt.dll_realloc
test rax, rax
je 0x6809e890
movsxd r9, r14d
mov qword [rbx + 0x20], rax
add r9, rax
add rax, rbp
mov qword [rbx + 0x18], r9
mov qword [rbx + 0x28], rax
mov r14, r9
sub r14, r15
cmp r13d, 1
je 0x6809e190
test r12d, r12d
je 0x6809d9d2
mov r11d, 0x10
lea r8, [r9 + 0x10]
lea r13d, [r12 - 1]
sub r11, r15
test r11, r11
setle cl
cmp r14, r8
setae r15b
or cl, r15b
je 0x6809e680
cmp r13d, 0xe
jbe 0x6809e680
mov r10d, r12d
xor eax, eax
shr r10d, 4
shl r10, 4
lea rdx, [r10 - 0x10]
shr rdx, 4
add rdx, 1
and edx, 7
je 0x6809dd2d
cmp rdx, 1
je 0x6809dd19
cmp rdx, 2
je 0x6809dd0a
cmp rdx, 3
je 0x6809dcfb
cmp rdx, 4
je 0x6809dcec
cmp rdx, 5
je 0x6809dcdd
cmp rdx, 6
je 0x6809dcce
movdqu xmm4, xmmword [r14]
mov eax, 0x10
movups xmmword [r9], xmm4
movdqu xmm3, xmmword [r14 + rax]
movups xmmword [r9 + rax], xmm3
add rax, 0x10
movdqu xmm2, xmmword [r14 + rax]
movups xmmword [r9 + rax], xmm2
add rax, 0x10
movdqu xmm0, xmmword [r14 + rax]
movups xmmword [r9 + rax], xmm0
add rax, 0x10
movdqu xmm1, xmmword [r14 + rax]
movups xmmword [r9 + rax], xmm1
add rax, 0x10
movdqu xmm5, xmmword [r14 + rax]
movups xmmword [r9 + rax], xmm5
add rax, 0x10
movdqu xmm4, xmmword [r14 + rax]
movups xmmword [r9 + rax], xmm4
add rax, 0x10
cmp r10, rax
je 0x6809dd9c
movdqu xmm3, xmmword [r14 + rax]
movups xmmword [r9 + rax], xmm3
movdqu xmm2, xmmword [r14 + rax + 0x10]
movups xmmword [r9 + rax + 0x10], xmm2
movdqu xmm0, xmmword [r14 + rax + 0x20]
movups xmmword [r9 + rax + 0x20], xmm0
movdqu xmm1, xmmword [r14 + rax + 0x30]
movups xmmword [r9 + rax + 0x30], xmm1
movdqu xmm5, xmmword [r14 + rax + 0x40]
movups xmmword [r9 + rax + 0x40], xmm5
movdqu xmm4, xmmword [r14 + rax + 0x50]
movups xmmword [r9 + rax + 0x50], xmm4
movdqu xmm3, xmmword [r14 + rax + 0x60]
movups xmmword [r9 + rax + 0x60], xmm3
movdqu xmm2, xmmword [r14 + rax + 0x70]
movups xmmword [r9 + rax + 0x70], xmm2
sub rax, 0xffffffffffffff80
cmp r10, rax
jne 0x6809dd2d
mov ebp, r12d
mov ecx, r12d
and ebp, 0xfffffff0
mov r11d, ebp
sub ecx, ebp
lea r8, [r9 + r11]
add r14, r11
cmp r12d, ebp
je 0x6809dea0
movzx r12d, byte [r14]
mov byte [r8], r12b
cmp ecx, 1
je 0x6809dea0
movzx r15d, byte [r14 + 1]
mov byte [r8 + 1], r15b
cmp ecx, 2
je 0x6809dea0
movzx r10d, byte [r14 + 2]
mov byte [r8 + 2], r10b
cmp ecx, 3
je 0x6809dea0
movzx edx, byte [r14 + 3]
mov byte [r8 + 3], dl
cmp ecx, 4
je 0x6809dea0
movzx eax, byte [r14 + 4]
mov byte [r8 + 4], al
cmp ecx, 5
je 0x6809dea0
movzx ebp, byte [r14 + 5]
mov byte [r8 + 5], bpl
cmp ecx, 6
je 0x6809dea0
movzx r11d, byte [r14 + 6]
mov byte [r8 + 6], r11b
cmp ecx, 7
je 0x6809dea0
movzx r12d, byte [r14 + 7]
mov byte [r8 + 7], r12b
cmp ecx, 8
je 0x6809dea0
movzx r15d, byte [r14 + 8]
mov byte [r8 + 8], r15b
cmp ecx, 9
je 0x6809dea0
movzx r10d, byte [r14 + 9]
mov byte [r8 + 9], r10b
cmp ecx, 0xa
je 0x6809dea0
movzx edx, byte [r14 + 0xa]
mov byte [r8 + 0xa], dl
cmp ecx, 0xb
je 0x6809dea0
movzx eax, byte [r14 + 0xb]
mov byte [r8 + 0xb], al
cmp ecx, 0xc
je 0x6809dea0
movzx ebp, byte [r14 + 0xc]
mov byte [r8 + 0xc], bpl
cmp ecx, 0xd
je 0x6809dea0
movzx r11d, byte [r14 + 0xd]
mov byte [r8 + 0xd], r11b
cmp ecx, 0xe
je 0x6809dea0
movzx r14d, byte [r14 + 0xe]
mov byte [r8 + 0xe], r14b
nop dword [rax]
lea r9, [r9 + r13 + 1]
jmp 0x6809d9d2
mov eax, r15d
lea r14d, [r15 + r15]
sar eax, 1
and r14d, 0xaaaa
and eax, 0x5555
or eax, r14d
mov edx, eax
shl eax, 2
sar edx, 2
and eax, 0xcccc
and edx, 0x3333
or edx, eax
mov r11d, edx
shl edx, 4
sar r11d, 4
and edx, 0xf0f0
and r11d, 0xf0f
or r11d, edx
mov r13d, r11d
shl r11d, 8
sar r13d, 8
movzx r10d, r11w
or r13d, r10d
cmp r13d, dword [rbx + 0x47c]
jl 0x6809e1c0
cmp dword [rbx + 0x480], r13d
jg 0x6809e218
cmp dword [rbx + 0x484], r13d
jg 0x6809e250
cmp dword [rbx + 0x488], r13d
jg 0x6809e4c8
cmp dword [rbx + 0x48c], r13d
jg 0x6809e4e0
cmp dword [rbx + 0x490], r13d
jg 0x6809e540
lea rbx, str.bad_huffman_code
xor r13d, r13d
mov qword [0x680b7420], rbx
jmp 0x6809d34a
lea rdi, str.output_buffer_limit
xor r13d, r13d
mov qword [0x680b7420], rdi
jmp 0x6809d34a
mov r14d, r15d
lea eax, [r15 + r15]
sar r14d, 1
and eax, 0xaaaa
and r14d, 0x5555
or r14d, eax
mov r11d, r14d
shl r14d, 2
sar r11d, 2
and r14d, 0xcccc
and r11d, 0x3333
or r11d, r14d
mov r10d, r11d
shl r11d, 4
sar r10d, 4
and r11d, 0xf0f0
and r10d, 0xf0f
or r10d, r11d
mov edx, r10d
shl r10d, 8
sar edx, 8
movzx ebp, r10w
or edx, ebp
cmp edx, dword [rbx + 0xc60]
jl 0x6809e4f0
cmp dword [rbx + 0xc64], edx
jg 0x6809e550
cmp dword [rbx + 0xc68], edx
jg 0x6809e580
cmp dword [rbx + 0xc6c], edx
jg 0x6809e5c8
cmp dword [rbx + 0xc70], edx
jg 0x6809e5d0
cmp dword [rbx + 0xc74], edx
jle 0x6809df57
mov r13d, 0xf
jmp 0x6809e556
cmp eax, r8d
jle 0x6809e0b2
mov r14, qword [rbx + 8]
mov rbp, qword [rbx]
mov ecx, r8d
cmp r14, rbp
jbe 0x6809e083
lea r11, [rbp + 1]
mov qword [rbx], r11
movzx edx, byte [rbp]
shl edx, cl
add ecx, 8
or r15d, edx
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], r15d
cmp ecx, 0x18
jg 0x6809e092
mov rbp, r11
cmp r14, rbp
ja 0x6809e05c
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6809e057
mov r13d, 0x18
mov r10d, 0
sub r13d, r8d
and r13d, 0xfffffff8
cmp r8d, 0x18
cmovg r13d, r10d
lea r8d, [r8 + r13 + 8]
mov ecx, eax
mov r14d, 1
sub r8d, eax
shl r14d, cl
mov dword [rbx + 0x10], r8d
sub r14d, 1
and r14d, r15d
shr r15d, cl
mov dword [rbx + 0x14], r15d
add r12d, r14d
jmp 0x6809db0c
cmp r10d, r8d
jle 0x6809e146
mov rbp, qword [rbx + 8]
mov r14, qword [rbx]
mov ecx, r8d
cmp rbp, r14
jbe 0x6809e11b
lea r11, [r14 + 1]
mov qword [rbx], r11
movzx edx, byte [r14]
shl edx, cl
add ecx, 8
or r15d, edx
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], r15d
cmp ecx, 0x18
jg 0x6809e12a
mov r14, r11
cmp rbp, r14
ja 0x6809e0f4
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6809e0ef
mov eax, 0x18
mov ebp, 0
sub eax, r8d
and eax, 0xfffffff8
cmp r8d, 0x18
cmovg eax, ebp
lea r8d, [r8 + rax + 8]
sub r8d, r10d
mov ecx, r10d
mov r11d, r15d
mov dword [rbx + 0x10], r8d
mov r8d, 1
shr r11d, cl
shl r8d, cl
mov dword [rbx + 0x14], r11d
sub r8d, 1
and r15d, r8d
add r13d, r15d
jmp 0x6809dbb6
lea rbx, str.bad_sizes
xor r13d, r13d
mov qword [0x680b7420], rbx
jmp 0x6809d34a
test r12d, r12d
je 0x6809d9d2
lea r13d, [r12 - 1]
movsx edx, byte [r14]
mov rcx, r9
add r13, 1
mov r8, r13
call sub.msvcrt.dll_memset
mov r9, rax
add r9, r13
jmp 0x6809d9d2
mov ecx, 6
mov r12d, 0xa
nop dword [rax + rax]
movsxd rbp, r12d
sar r13d, cl
mov ecx, r12d
sub r8d, r12d
lea rax, [rbx + rbp*2]
shr r15d, cl
movzx r14d, word [rax + 0x434]
movzx edx, word [rax + 0x498]
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], r8d
sub r13d, r14d
add r13d, edx
movsxd r11, r13d
movzx ebp, word [rbx + r11*2 + 0x5d8]
jmp 0x6809da67
mov r12d, 0xb
mov ecx, 0x10
sub ecx, r12d
jmp 0x6809e1d0
lea rbx, str.bad_codelengths
xor r13d, r13d
mov qword [0x680b7420], rbx
jmp 0x6809d34a
mov r12d, 0xc
jmp 0x6809e21e
mov rdx, qword [rbx]
movsxd r14, r11d
lea rax, [rdx + r14]
cmp qword [rbx + 8], rax
jae 0x6809e590
lea rcx, str.read_past_buffer
xor r13d, r13d
mov qword [0x680b7420], rcx
jmp 0x6809d34a
movabs r8, 0x808080808080808
movabs rax, 0x808080808080808
movabs r15, 0x909090909090909
movabs r9, 0x909090909090909
movabs r11, 0x505050505050505
movabs rcx, 0x505050505050505
movabs rsi, 0x707070707070707
movabs rdi, 0x707070707070707
movabs rbp, 0x707070707070707
mov qword [0x680b7300], r8
movabs r10, 0x808080808080808
mov qword [0x680b7308], rax
mov qword [0x680b7310], r8
mov qword [0x680b7318], rax
mov qword [0x680b7320], r8
mov qword [0x680b7328], rax
mov qword [0x680b7330], r8
mov qword [0x680b7338], rax
mov qword [0x680b7340], r8
mov qword [0x680b7348], rax
mov qword [0x680b7350], r8
mov qword [0x680b7358], rax
mov qword [0x680b7360], r8
mov qword [0x680b7368], rax
mov qword [0x680b7370], r8
mov qword [0x680b7378], rax
mov qword [0x680b7380], r8
mov qword [0x680b7388], rax
mov qword [0x680b7390], r15
mov qword [0x680b7398], r9
mov qword [0x680b73a0], r15
mov qword [0x680b73a8], r9
mov qword [0x680b73b0], r15
mov qword [0x680b73b8], r9
mov qword [0x680b73c0], r15
mov qword [0x680b73c8], r9
mov qword [0x680b73d0], r15
mov qword [0x680b73d8], r9
mov qword [0x680b73e0], r15
mov qword [0x680b73e8], r9
mov qword [0x680b73f0], r15
mov qword [0x680b73f8], r9
mov qword [0x680b7400], rsi
mov qword [0x680b7408], rdi
mov qword [0x680b7410], rbp
mov qword [0x680b7418], r10
mov qword [0x680b7440], r11
mov qword [0x680b7448], rcx
mov qword [0x680b7450], r11
mov qword [0x680b7458], rcx
jmp 0x6809cb15
cmp r13d, ebp
jge 0x6809e47b
mov rsi, qword [rbx + 8]
mov r11, qword [rbx]
cmp rsi, r11
jbe 0x6809e457
lea r15, [r11 + 1]
mov ecx, r13d
add r13d, 8
mov qword [rbx], r15
movzx r10d, byte [r11]
mov dword [rbx + 0x10], r13d
shl r10d, cl
or r14d, r10d
mov dword [rbx + 0x14], r14d
cmp r13d, 0x18
jg 0x6809e469
mov r11, r15
cmp rsi, r11
ja 0x6809e429
add r13d, 8
mov dword [rbx + 0x14], r14d
mov dword [rbx + 0x10], r13d
cmp r13d, 0x18
jle 0x6809e424
mov r8d, 0x1a
sub r8d, edx
and r8d, 0xfffffff8
lea r13d, [rdx + r8 + 6]
mov ecx, ebp
sub r13d, ebp
shr r14d, cl
mov dword [rbx + 0x10], r13d
mov dword [rbx + 0x14], r14d
test r13d, r13d
jg 0x6809d1bd
mov rsi, qword [rbx + 8]
mov r8, qword [rbx]
cmp rsi, r8
jbe 0x6809e830
lea rcx, [r8 + 1]
mov r12d, 1
mov qword [rbx], rcx
movzx r13d, byte [r8]
mov byte [rsp + 0x80], r13b
jmp 0x6809d27e
mov r12d, 0xd
jmp 0x6809e21e
mov eax, edx
jmp 0x6809d20f
mov r12d, 0xe
jmp 0x6809e21e
mov ecx, 6
mov r13d, 0xa
nop dword [rax + rax]
movsxd r14, r13d
sar edx, cl
mov ecx, r13d
sub r8d, r13d
lea rax, [rbx + r14*2]
shr r15d, cl
movzx r11d, word [rax + 0xc18]
movzx r10d, word [rax + 0xc7c]
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], r8d
sub edx, r11d
add edx, r10d
movsxd rdx, edx
movzx ebp, word [rbx + rdx*2 + 0xdbc]
jmp 0x6809db9b
mov r12d, 0xf
jmp 0x6809e21e
mov r13d, 0xb
mov ecx, 0x10
sub ecx, r13d
jmp 0x6809e500
cdqe
mov byte [rsp + rax + 0x80], 0
cmp edi, 4
je 0x6809d2f5
xor r10d, r10d
jmp 0x6809d2ed
mov r13d, 0xc
jmp 0x6809e556
mov rcx, qword [rbx + 0x18]
mov rdi, qword [rbx + 0x28]
lea r9, [rcx + r14]
cmp rdi, r9
jae 0x6809e636
mov r13d, dword [rbx + 0x30]
test r13d, r13d
jne 0x6809e5e0
lea r11, str.output_buffer_limit
mov qword [0x680b7420], r11
jmp 0x6809d34a
mov r13d, 0xd
jmp 0x6809e556
mov r13d, 0xe
jmp 0x6809e556
mov r15, qword [rbx + 0x20]
sub rcx, r15
sub rdi, r15
add r11d, ecx
mov rbp, rcx
mov edx, edi
cmp edi, r11d
jge 0x6809e607
nop word [rax + rax]
add edx, edx
cmp edx, r11d
jl 0x6809e600
movsxd rsi, edx
mov rcx, r15
mov rdx, rsi
call sub.msvcrt.dll_realloc
test rax, rax
je 0x6809e890
movsxd rcx, ebp
mov qword [rbx + 0x20], rax
mov rdx, qword [rbx]
add rcx, rax
add rax, rsi
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x28], rax
mov r8, r14
call sub.msvcrt.dll_memcpy
mov r10d, dword [rsp + 0x28]
add qword [rbx], r14
add qword [rbx + 0x18], r14
test r10d, r10d
jne 0x6809e822
mov r8d, dword [rbx + 0x10]
mov eax, dword [rbx + 0x14]
jmp 0x6809ca10
xor r13d, r13d
jmp 0x6809d34a
mov eax, r14d
jmp 0x6809d20f
mov r8d, r13d
xor r15d, r15d
lea rcx, [r8 + 1]
and ecx, 7
je 0x6809e715
cmp rcx, 1
je 0x6809e6fc
cmp rcx, 2
je 0x6809e6ef
cmp rcx, 3
je 0x6809e6e2
cmp rcx, 4
je 0x6809e6d5
cmp rcx, 5
je 0x6809e6c8
cmp rcx, 6
jne 0x6809e8c5
movzx r10d, byte [r14 + r15]
mov byte [r9 + r15], r10b
add r15, 1
movzx edx, byte [r14 + r15]
mov byte [r9 + r15], dl
add r15, 1
movzx eax, byte [r14 + r15]
mov byte [r9 + r15], al
add r15, 1
movzx ebp, byte [r14 + r15]
mov byte [r9 + r15], bpl
add r15, 1
movzx r11d, byte [r14 + r15]
mov byte [r9 + r15], r11b
add r15, 1
movzx ecx, byte [r14 + r15]
mov r12, r15
mov byte [r9 + r15], cl
add r15, 1
cmp r8, r12
je 0x6809dea0
movzx r10d, byte [r14 + r15]
mov byte [r9 + r15], r10b
movzx edx, byte [r14 + r15 + 1]
lea r10, [r15 + 7]
mov byte [r9 + r15 + 1], dl
movzx eax, byte [r14 + r15 + 2]
mov byte [r9 + r15 + 2], al
movzx ebp, byte [r14 + r15 + 3]
mov byte [r9 + r15 + 3], bpl
movzx r11d, byte [r14 + r15 + 4]
mov byte [r9 + r15 + 4], r11b
movzx ecx, byte [r14 + r15 + 5]
mov byte [r9 + r15 + 5], cl
movzx r12d, byte [r14 + r15 + 6]
mov byte [r9 + r15 + 6], r12b
movzx edx, byte [r14 + r15 + 7]
mov byte [r9 + r15 + 7], dl
add r15, 8
cmp r8, r10
jne 0x6809e715
jmp 0x6809dea0
mov rdx, qword [rcx + 8]
mov rax, qword [rcx]
cmp rdx, rax
jbe 0x6809e8af
lea r8, [rax + 1]
mov qword [rcx], r8
movzx r9d, byte [rax]
mov ecx, r9d
and ecx, 0xf
cmp rdx, r8
jbe 0x6809e866
lea rsi, [rax + 2]
shl r9d, 8
mov qword [rbx], rsi
movzx edi, byte [rax + 1]
mov ebp, edi
add edi, r9d
imul rdx, rdi, 0x8421085
mov r11d, edi
mov r13, rdi
shr rdx, 0x20
sub r11d, edx
shr r11d, 1
add r11d, edx
shr r11d, 4
mov eax, r11d
shl eax, 5
sub eax, r11d
sub r13d, eax
jne 0x6809e87a
and ebp, 0x20
je 0x6809e8a6
lea rbx, str.no_preset_dict
mov qword [0x680b7420], rbx
jmp 0x6809d34a
mov r10d, dword [rsp + 0x28]
mov qword [rbx + 0x18], r9
test r10d, r10d
je 0x6809e653
mov r13d, 1
jmp 0x6809d34a
mov byte [rsp + 0x80], 0
mov rcx, r8
mov r12d, 1
jmp 0x6809d27e
lea rsi, str.bad_dist
xor r13d, r13d
mov qword [0x680b7420], rsi
jmp 0x6809d34a
mov eax, r9d
mov r13d, 0x1f
shl eax, 8
cdq
idiv r13d
test edx, edx
je 0x6809e8a6
lea r14, str.bad_zlib_header
xor r13d, r13d
mov qword [0x680b7420], r14
jmp 0x6809d34a
lea rbx, str.outofmem
xor r13d, r13d
mov qword [0x680b7420], rbx
jmp 0x6809d34a
cmp cl, 8
je 0x6809c9fe
lea rdi, str.bad_compression
xor r13d, r13d
mov qword [0x680b7420], rdi
jmp 0x6809d34a
movzx r12d, byte [r14]
mov r15d, 1
mov byte [r9], r12b
jmp 0x6809e6bb