Function at 0x683a99a0
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 0x683ab740
mov qword [rbx + 0x10], 0
xor eax, eax
xor r8d, r8d
nop dword [rax + rax]
test r8d, r8d
jg 0x683a9a29
mov r14, qword [rbx + 8]
mov r9, qword [rbx]
mov ecx, r8d
cmp r14, r9
jbe 0x683a9a0b
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 0x683a9a19
mov r9, r15
cmp r14, r9
ja 0x683a99e4
add ecx, 8
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x683a99df
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 0x683a9a9a
mov rbp, qword [rbx + 8]
mov r12, qword [rbx]
cmp rbp, r12
jbe 0x683a9a7a
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 0x683a9a88
mov r12, r10
cmp rbp, r12
ja 0x683a9a4f
add edx, 8
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x10], edx
cmp edx, 0x18
jle 0x683a9a4a
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 0x683aa168
cmp eax, 3
je 0x683ab620
cmp eax, 1
jne 0x683aa970
cmp byte [0x683c447f], 0
je 0x683ab250
lea rdi, [rbx + 0x3c]
mov r12d, ebx
lea r9, [0x683c4320]
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 0x683a9b8a
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x80], 0
cmp ecx, 2
jg 0x683ab138
mov edx, dword [rsp + 0x88]
cmp edx, 4
jg 0x683ab138
mov r10d, dword [rsp + 0x8c]
cmp r10d, 8
jg 0x683ab138
mov r11d, dword [rsp + 0x90]
cmp r11d, 0x10
jg 0x683ab138
mov edi, dword [rsp + 0x94]
cmp edi, 0x20
jg 0x683ab138
mov esi, dword [rsp + 0x98]
cmp esi, 0x40
jg 0x683ab138
mov r12d, dword [rsp + 0x9c]
cmp r12d, 0x80
jg 0x683ab138
mov r13d, dword [rsp + 0xa0]
cmp r13d, 0x100
jg 0x683ab138
mov ebp, dword [rsp + 0xa4]
cmp ebp, 0x200
jg 0x683ab138
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x2c], eax
cmp eax, 0x400
jg 0x683ab138
mov r14d, dword [rsp + 0xac]
mov dword [rsp + 0x30], r14d
cmp r14d, 0x800
jg 0x683ab138
mov r14d, dword [rsp + 0xb0]
cmp r14d, 0x1000
jg 0x683ab138
mov r15d, dword [rsp + 0xb4]
mov dword [rsp + 0x34], r15d
cmp r15d, 0x2000
jg 0x683ab138
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
cmp eax, 0x4000
jg 0x683ab138
mov r15d, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], r15d
cmp r15d, 0x8000
jg 0x683ab138
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 0x683a9d85
test edx, edx
jne 0x683ab1f0
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 0x683a9dba
cmp eax, 8
jg 0x683ab1f0
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 0x683a9ded
test r11d, r11d
jne 0x683ab1f0
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 0x683a9e21
test edi, edi
jne 0x683ab1f0
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 0x683a9e54
cmp eax, 0x40
jg 0x683ab1f0
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 0x683a9e88
test r12d, r12d
jne 0x683ab1f0
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 0x683a9ebd
test r13d, r13d
jne 0x683ab1f0
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 0x683a9ef3
cmp eax, 0x200
jg 0x683ab1f0
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 0x683a9f2c
test ebp, ebp
jne 0x683ab1f0
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 0x683a9f67
test ecx, ecx
jne 0x683ab1f0
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 0x683a9fa0
cmp eax, 0x1000
jg 0x683ab1f0
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 0x683a9fdd
cmp eax, 0x2000
jg 0x683ab1f0
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 0x683aa017
cmp eax, 0x4000
jg 0x683ab1f0
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 0x683aa053
test edx, edx
jne 0x683ab1f0
add eax, eax
xor r15d, r15d
mov dword [rbx + 0x494], 0x10000
mov r14d, 1
mov dword [rbx + 0x490], eax
mov r13d, 0x10
jmp 0x683aa09a
add r10d, 1
mov dword [rsp + r11*4 + 0x40], r10d
add r15, 1
cmp r15, 0x120
je 0x683aa328
movzx ebp, byte [r9 + r15]
mov ecx, ebp
test ebp, ebp
je 0x683aa089
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 0x683aa080
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 0x683aa150
jmp 0x683aa080
mov ebp, r13d
and ebp, 7
jne 0x683ab3d8
test r13d, r13d
jle 0x683ab454
mov edx, r14d
lea r12d, [r13 - 8]
mov byte [rsp + 0x80], r14b
shr edx, 8
test r12d, r12d
jle 0x683ab498
mov byte [rsp + 0x81], dl
lea r9d, [r13 - 0x10]
mov edx, r14d
shr edx, 0x10
test r9d, r9d
jle 0x683ab498
mov byte [rsp + 0x82], dl
shr r14d, 0x18
cmp r13d, 0x18
jle 0x683ab630
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 0x683aa2b5
mov rsi, qword [rbx + 8]
mov rcx, qword [rbx]
lea r12d, [rbp + 1]
xor r10d, r10d
cmp rsi, rcx
jbe 0x683aa22d
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 0x683aa2b5
lea eax, [r12 + 1]
xor r9d, r9d
cmp rcx, rsi
jae 0x683aa259
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 0x683aa2b5
xor edi, edi
cmp eax, 2
setne dil
add edi, 3
cmp rsi, rcx
jbe 0x683ab520
lea rbp, [rcx + 1]
cdqe
mov qword [rbx], rbp
movzx r15d, byte [rcx]
mov byte [rsp + rax + 0x80], r15b
cmp edi, 4
je 0x683aa2b5
cmp rsi, rbp
jbe 0x683ab533
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 0x683ab220
lea r12, str.zlib_corrupt
xor r13d, r13d
mov qword [0x683c4440], 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, [0x683c4460]
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 0x683aa38b
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x80], 0
cmp ecx, 2
jg 0x683ab138
mov edx, dword [rsp + 0x88]
cmp edx, 4
jg 0x683ab138
mov r10d, dword [rsp + 0x8c]
cmp r10d, 8
jg 0x683ab138
mov r8d, dword [rsp + 0x90]
cmp r8d, 0x10
jg 0x683ab138
mov r9d, dword [rsp + 0x94]
cmp r9d, 0x20
jg 0x683ab138
mov r11d, dword [rsp + 0x98]
cmp r11d, 0x40
jg 0x683ab138
mov esi, dword [rsp + 0x9c]
cmp esi, 0x80
jg 0x683ab138
mov edi, dword [rsp + 0xa0]
cmp edi, 0x100
jg 0x683ab138
mov r12d, dword [rsp + 0xa4]
cmp r12d, 0x200
jg 0x683ab138
mov ebp, dword [rsp + 0xa8]
cmp ebp, 0x400
jg 0x683ab138
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x2c], eax
cmp eax, 0x800
jg 0x683ab138
mov r13d, dword [rsp + 0xb0]
cmp r13d, 0x1000
jg 0x683ab138
mov r14d, dword [rsp + 0xb4]
cmp r14d, 0x2000
jg 0x683ab138
mov r15d, dword [rsp + 0xb8]
mov dword [rsp + 0x30], r15d
cmp r15d, 0x4000
jg 0x683ab138
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x34], eax
cmp eax, 0x8000
jg 0x683ab138
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 0x683aa580
cmp eax, 4
jg 0x683ab1f0
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 0x683aa5b5
test r10d, r10d
jne 0x683ab1f0
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 0x683aa5e8
cmp eax, 0x10
jg 0x683ab1f0
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 0x683aa61e
cmp eax, 0x20
jg 0x683ab1f0
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 0x683aa654
cmp eax, 0x40
jg 0x683ab1f0
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 0x683aa68a
cmp eax, 0x80
jg 0x683ab1f0
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 0x683aa6bf
cmp eax, 0x100
jg 0x683ab1f0
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 0x683aa6f3
test r12d, r12d
jne 0x683ab1f0
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 0x683aa726
cmp eax, 0x400
jg 0x683ab1f0
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 0x683aa75f
test ebp, ebp
jne 0x683ab1f0
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 0x683aa798
cmp eax, 0x1000
jg 0x683ab1f0
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 0x683aa7cd
cmp eax, 0x2000
jg 0x683ab1f0
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 0x683aa80b
test r14d, r14d
jne 0x683ab1f0
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 0x683aa847
test edx, edx
jne 0x683ab1f0
add eax, eax
xor r15d, r15d
mov esi, 1
mov r11d, 0x10
mov dword [rbx + 0xc74], eax
mov dword [rbx + 0xc78], 0x10000
jmp 0x683aa887
add r8d, 1
mov dword [rsp + r9*4 + 0x40], r8d
add r15, 1
cmp r15, 0x20
je 0x683aa980
lea rax, [0x683c4460]
movzx r13d, byte [rax + r15]
mov ecx, r13d
test r13d, r13d
je 0x683aa879
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 0x683aa870
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 0x683aa958
jmp 0x683aa870
mov rcx, rbx
call fcn.6838b3b0
test eax, eax
je 0x683ab620
mov r9, qword [rbx + 0x18]
lea rdi, [0x683fb820]
lea rsi, [0x683cf440]
mov r8d, dword [rbx + 0x10]
mov r15d, dword [rbx + 0x14]
cmp r8d, 0xf
jg 0x683aa9f8
mov r11, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r8d
cmp r11, r10
jbe 0x683aa9d7
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 0x683aa9e6
mov r10, r13
cmp r11, r10
ja 0x683aa9af
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x683aa9aa
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 0x683aae70
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 0x683aaaa0
mov r14, qword [rbx + 0x28]
cmp r14, r9
ja 0x683aaa93
mov r8d, dword [rbx + 0x30]
mov qword [rbx + 0x18], r9
test r8d, r8d
je 0x683aaf30
mov r15, qword [rbx + 0x20]
sub r9, r15
sub r14, r15
mov r13, r9
mov eax, r14d
cmp r9d, r14d
jl 0x683aaa67
nop
add eax, eax
cmp r9d, eax
jge 0x683aaa60
movsxd r12, eax
mov rcx, r15
mov rdx, r12
call sub.msvcrt.dll_realloc
test rax, rax
je 0x683ab850
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 0x683aa992
cmp ebp, 0x100
je 0x683ab7d0
sub ebp, 0x101
lea r10, [0x683fb700]
movsxd r13, ebp
mov eax, dword [rdi + r13*4]
mov r12d, dword [r10 + r13*4]
test eax, eax
jne 0x683ab008
cmp r8d, 0xf
jg 0x683aab27
mov rax, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r8d
cmp rax, r10
jbe 0x683aab08
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 0x683aab17
mov r10, r11
cmp rax, r10
ja 0x683aaae1
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x683aaadc
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 0x683aaf50
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, [0x683fb660]
mov r10d, dword [rax + r14*4]
mov r13d, dword [rsi + r14*4]
test r10d, r10d
jne 0x683ab0a0
mov rcx, qword [rbx + 0x20]
mov r14, r9
movsxd r15, r13d
sub r14, rcx
cmp r14, r15
jl 0x683ab810
movsxd rdx, r12d
mov r10, qword [rbx + 0x28]
add rdx, r9
cmp r10, rdx
jae 0x683aabef
mov qword [rbx + 0x18], r9
mov r9d, dword [rbx + 0x30]
test r9d, r9d
je 0x683aaf30
sub r10, rcx
lea ebp, [r12 + r14]
mov eax, r10d
cmp r10d, ebp
jge 0x683aabc6
nop dword [rax + rax]
add eax, eax
cmp eax, ebp
jl 0x683aabc0
movsxd rbp, eax
mov rdx, rbp
call sub.msvcrt.dll_realloc
test rax, rax
je 0x683ab850
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 0x683ab150
test r12d, r12d
je 0x683aa992
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 0x683ab640
cmp r13d, 0xe
jbe 0x683ab640
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 0x683aaced
cmp rdx, 1
je 0x683aacd9
cmp rdx, 2
je 0x683aacca
cmp rdx, 3
je 0x683aacbb
cmp rdx, 4
je 0x683aacac
cmp rdx, 5
je 0x683aac9d
cmp rdx, 6
je 0x683aac8e
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 0x683aad5c
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 0x683aaced
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 0x683aae60
movzx r12d, byte [r14]
mov byte [r8], r12b
cmp ecx, 1
je 0x683aae60
movzx r15d, byte [r14 + 1]
mov byte [r8 + 1], r15b
cmp ecx, 2
je 0x683aae60
movzx r10d, byte [r14 + 2]
mov byte [r8 + 2], r10b
cmp ecx, 3
je 0x683aae60
movzx edx, byte [r14 + 3]
mov byte [r8 + 3], dl
cmp ecx, 4
je 0x683aae60
movzx eax, byte [r14 + 4]
mov byte [r8 + 4], al
cmp ecx, 5
je 0x683aae60
movzx ebp, byte [r14 + 5]
mov byte [r8 + 5], bpl
cmp ecx, 6
je 0x683aae60
movzx r11d, byte [r14 + 6]
mov byte [r8 + 6], r11b
cmp ecx, 7
je 0x683aae60
movzx r12d, byte [r14 + 7]
mov byte [r8 + 7], r12b
cmp ecx, 8
je 0x683aae60
movzx r15d, byte [r14 + 8]
mov byte [r8 + 8], r15b
cmp ecx, 9
je 0x683aae60
movzx r10d, byte [r14 + 9]
mov byte [r8 + 9], r10b
cmp ecx, 0xa
je 0x683aae60
movzx edx, byte [r14 + 0xa]
mov byte [r8 + 0xa], dl
cmp ecx, 0xb
je 0x683aae60
movzx eax, byte [r14 + 0xb]
mov byte [r8 + 0xb], al
cmp ecx, 0xc
je 0x683aae60
movzx ebp, byte [r14 + 0xc]
mov byte [r8 + 0xc], bpl
cmp ecx, 0xd
je 0x683aae60
movzx r11d, byte [r14 + 0xd]
mov byte [r8 + 0xd], r11b
cmp ecx, 0xe
je 0x683aae60
movzx r14d, byte [r14 + 0xe]
mov byte [r8 + 0xe], r14b
nop dword [rax]
lea r9, [r9 + r13 + 1]
jmp 0x683aa992
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 0x683ab180
cmp dword [rbx + 0x480], r13d
jg 0x683ab1d8
cmp dword [rbx + 0x484], r13d
jg 0x683ab210
cmp dword [rbx + 0x488], r13d
jg 0x683ab488
cmp dword [rbx + 0x48c], r13d
jg 0x683ab4a0
cmp dword [rbx + 0x490], r13d
jg 0x683ab500
lea rbx, str.bad_huffman_code
xor r13d, r13d
mov qword [0x683c4440], rbx
jmp 0x683aa30a
lea rdi, str.output_buffer_limit
xor r13d, r13d
mov qword [0x683c4440], rdi
jmp 0x683aa30a
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 0x683ab4b0
cmp dword [rbx + 0xc64], edx
jg 0x683ab510
cmp dword [rbx + 0xc68], edx
jg 0x683ab540
cmp dword [rbx + 0xc6c], edx
jg 0x683ab588
cmp dword [rbx + 0xc70], edx
jg 0x683ab590
cmp dword [rbx + 0xc74], edx
jle 0x683aaf17
mov r13d, 0xf
jmp 0x683ab516
cmp eax, r8d
jle 0x683ab072
mov r14, qword [rbx + 8]
mov rbp, qword [rbx]
mov ecx, r8d
cmp r14, rbp
jbe 0x683ab043
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 0x683ab052
mov rbp, r11
cmp r14, rbp
ja 0x683ab01c
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x683ab017
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 0x683aaacc
cmp r10d, r8d
jle 0x683ab106
mov rbp, qword [rbx + 8]
mov r14, qword [rbx]
mov ecx, r8d
cmp rbp, r14
jbe 0x683ab0db
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 0x683ab0ea
mov r14, r11
cmp rbp, r14
ja 0x683ab0b4
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x683ab0af
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 0x683aab76
lea rbx, str.bad_sizes
xor r13d, r13d
mov qword [0x683c4440], rbx
jmp 0x683aa30a
test r12d, r12d
je 0x683aa992
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 0x683aa992
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 0x683aaa27
mov r12d, 0xb
mov ecx, 0x10
sub ecx, r12d
jmp 0x683ab190
lea rbx, str.bad_codelengths
xor r13d, r13d
mov qword [0x683c4440], rbx
jmp 0x683aa30a
mov r12d, 0xc
jmp 0x683ab1de
mov rdx, qword [rbx]
movsxd r14, r11d
lea rax, [rdx + r14]
cmp qword [rbx + 8], rax
jae 0x683ab550
lea rcx, str.read_past_buffer
xor r13d, r13d
mov qword [0x683c4440], rcx
jmp 0x683aa30a
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 [0x683c4320], r8
movabs r10, 0x808080808080808
mov qword [0x683c4328], rax
mov qword [0x683c4330], r8
mov qword [0x683c4338], rax
mov qword [0x683c4340], r8
mov qword [0x683c4348], rax
mov qword [0x683c4350], r8
mov qword [0x683c4358], rax
mov qword [0x683c4360], r8
mov qword [0x683c4368], rax
mov qword [0x683c4370], r8
mov qword [0x683c4378], rax
mov qword [0x683c4380], r8
mov qword [0x683c4388], rax
mov qword [0x683c4390], r8
mov qword [0x683c4398], rax
mov qword [0x683c43a0], r8
mov qword [0x683c43a8], rax
mov qword [0x683c43b0], r15
mov qword [0x683c43b8], r9
mov qword [0x683c43c0], r15
mov qword [0x683c43c8], r9
mov qword [0x683c43d0], r15
mov qword [0x683c43d8], r9
mov qword [0x683c43e0], r15
mov qword [0x683c43e8], r9
mov qword [0x683c43f0], r15
mov qword [0x683c43f8], r9
mov qword [0x683c4400], r15
mov qword [0x683c4408], r9
mov qword [0x683c4410], r15
mov qword [0x683c4418], r9
mov qword [0x683c4420], rsi
mov qword [0x683c4428], rdi
mov qword [0x683c4430], rbp
mov qword [0x683c4438], r10
mov qword [0x683c4460], r11
mov qword [0x683c4468], rcx
mov qword [0x683c4470], r11
mov qword [0x683c4478], rcx
jmp 0x683a9ad5
cmp r13d, ebp
jge 0x683ab43b
mov rsi, qword [rbx + 8]
mov r11, qword [rbx]
cmp rsi, r11
jbe 0x683ab417
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 0x683ab429
mov r11, r15
cmp rsi, r11
ja 0x683ab3e9
add r13d, 8
mov dword [rbx + 0x14], r14d
mov dword [rbx + 0x10], r13d
cmp r13d, 0x18
jle 0x683ab3e4
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 0x683aa17d
mov rsi, qword [rbx + 8]
mov r8, qword [rbx]
cmp rsi, r8
jbe 0x683ab7f0
lea rcx, [r8 + 1]
mov r12d, 1
mov qword [rbx], rcx
movzx r13d, byte [r8]
mov byte [rsp + 0x80], r13b
jmp 0x683aa23e
mov r12d, 0xd
jmp 0x683ab1de
mov eax, edx
jmp 0x683aa1cf
mov r12d, 0xe
jmp 0x683ab1de
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 0x683aab5b
mov r12d, 0xf
jmp 0x683ab1de
mov r13d, 0xb
mov ecx, 0x10
sub ecx, r13d
jmp 0x683ab4c0
cdqe
mov byte [rsp + rax + 0x80], 0
cmp edi, 4
je 0x683aa2b5
xor r10d, r10d
jmp 0x683aa2ad
mov r13d, 0xc
jmp 0x683ab516
mov rcx, qword [rbx + 0x18]
mov rdi, qword [rbx + 0x28]
lea r9, [rcx + r14]
cmp rdi, r9
jae 0x683ab5f6
mov r13d, dword [rbx + 0x30]
test r13d, r13d
jne 0x683ab5a0
lea r11, str.output_buffer_limit
mov qword [0x683c4440], r11
jmp 0x683aa30a
mov r13d, 0xd
jmp 0x683ab516
mov r13d, 0xe
jmp 0x683ab516
mov r15, qword [rbx + 0x20]
sub rcx, r15
sub rdi, r15
add r11d, ecx
mov rbp, rcx
mov edx, edi
cmp edi, r11d
jge 0x683ab5c7
nop word [rax + rax]
add edx, edx
cmp edx, r11d
jl 0x683ab5c0
movsxd rsi, edx
mov rcx, r15
mov rdx, rsi
call sub.msvcrt.dll_realloc
test rax, rax
je 0x683ab850
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 0x683ab7e2
mov r8d, dword [rbx + 0x10]
mov eax, dword [rbx + 0x14]
jmp 0x683a99d0
xor r13d, r13d
jmp 0x683aa30a
mov eax, r14d
jmp 0x683aa1cf
mov r8d, r13d
xor r15d, r15d
lea rcx, [r8 + 1]
and ecx, 7
je 0x683ab6d5
cmp rcx, 1
je 0x683ab6bc
cmp rcx, 2
je 0x683ab6af
cmp rcx, 3
je 0x683ab6a2
cmp rcx, 4
je 0x683ab695
cmp rcx, 5
je 0x683ab688
cmp rcx, 6
jne 0x683ab885
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 0x683aae60
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 0x683ab6d5
jmp 0x683aae60
mov rdx, qword [rcx + 8]
mov rax, qword [rcx]
cmp rdx, rax
jbe 0x683ab86f
lea r8, [rax + 1]
mov qword [rcx], r8
movzx r9d, byte [rax]
mov ecx, r9d
and ecx, 0xf
cmp rdx, r8
jbe 0x683ab826
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 0x683ab83a
and ebp, 0x20
je 0x683ab866
lea rbx, str.no_preset_dict
mov qword [0x683c4440], rbx
jmp 0x683aa30a
mov r10d, dword [rsp + 0x28]
mov qword [rbx + 0x18], r9
test r10d, r10d
je 0x683ab613
mov r13d, 1
jmp 0x683aa30a
mov byte [rsp + 0x80], 0
mov rcx, r8
mov r12d, 1
jmp 0x683aa23e
lea rsi, str.bad_dist
xor r13d, r13d
mov qword [0x683c4440], rsi
jmp 0x683aa30a
mov eax, r9d
mov r13d, 0x1f
shl eax, 8
cdq
idiv r13d
test edx, edx
je 0x683ab866
lea r14, str.bad_zlib_header
xor r13d, r13d
mov qword [0x683c4440], r14
jmp 0x683aa30a
lea rbx, str.outofmem
xor r13d, r13d
mov qword [0x683c4440], rbx
jmp 0x683aa30a
cmp cl, 8
je 0x683a99be
lea rdi, str.bad_compression
xor r13d, r13d
mov qword [0x683c4440], rdi
jmp 0x683aa30a
movzx r12d, byte [r14]
mov r15d, 1
mov byte [r9], r12b
jmp 0x683ab67b