Function at 0x692ec600
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 0x692ee3a0
mov qword [rbx + 0x10], 0
xor eax, eax
xor r8d, r8d
nop dword [rax + rax]
test r8d, r8d
jg 0x692ec689
mov r14, qword [rbx + 8]
mov r9, qword [rbx]
mov ecx, r8d
cmp r14, r9
jbe 0x692ec66b
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 0x692ec679
mov r9, r15
cmp r14, r9
ja 0x692ec644
add ecx, 8
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x692ec63f
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 0x692ec6fa
mov rbp, qword [rbx + 8]
mov r12, qword [rbx]
cmp rbp, r12
jbe 0x692ec6da
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 0x692ec6e8
mov r12, r10
cmp rbp, r12
ja 0x692ec6af
add edx, 8
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x10], edx
cmp edx, 0x18
jle 0x692ec6aa
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 0x692ecdc8
cmp eax, 3
je 0x692ee280
cmp eax, 1
jne 0x692ed5d0
cmp byte [0x6930647f], 0
je 0x692edeb0
lea rdi, [rbx + 0x3c]
mov r12d, ebx
lea r9, [0x69306320]
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 0x692ec7ea
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x80], 0
cmp ecx, 2
jg 0x692edd98
mov edx, dword [rsp + 0x88]
cmp edx, 4
jg 0x692edd98
mov r10d, dword [rsp + 0x8c]
cmp r10d, 8
jg 0x692edd98
mov r11d, dword [rsp + 0x90]
cmp r11d, 0x10
jg 0x692edd98
mov edi, dword [rsp + 0x94]
cmp edi, 0x20
jg 0x692edd98
mov esi, dword [rsp + 0x98]
cmp esi, 0x40
jg 0x692edd98
mov r12d, dword [rsp + 0x9c]
cmp r12d, 0x80
jg 0x692edd98
mov r13d, dword [rsp + 0xa0]
cmp r13d, 0x100
jg 0x692edd98
mov ebp, dword [rsp + 0xa4]
cmp ebp, 0x200
jg 0x692edd98
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x2c], eax
cmp eax, 0x400
jg 0x692edd98
mov r14d, dword [rsp + 0xac]
mov dword [rsp + 0x30], r14d
cmp r14d, 0x800
jg 0x692edd98
mov r14d, dword [rsp + 0xb0]
cmp r14d, 0x1000
jg 0x692edd98
mov r15d, dword [rsp + 0xb4]
mov dword [rsp + 0x34], r15d
cmp r15d, 0x2000
jg 0x692edd98
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
cmp eax, 0x4000
jg 0x692edd98
mov r15d, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], r15d
cmp r15d, 0x8000
jg 0x692edd98
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 0x692ec9e5
test edx, edx
jne 0x692ede50
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 0x692eca1a
cmp eax, 8
jg 0x692ede50
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 0x692eca4d
test r11d, r11d
jne 0x692ede50
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 0x692eca81
test edi, edi
jne 0x692ede50
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 0x692ecab4
cmp eax, 0x40
jg 0x692ede50
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 0x692ecae8
test r12d, r12d
jne 0x692ede50
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 0x692ecb1d
test r13d, r13d
jne 0x692ede50
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 0x692ecb53
cmp eax, 0x200
jg 0x692ede50
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 0x692ecb8c
test ebp, ebp
jne 0x692ede50
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 0x692ecbc7
test ecx, ecx
jne 0x692ede50
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 0x692ecc00
cmp eax, 0x1000
jg 0x692ede50
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 0x692ecc3d
cmp eax, 0x2000
jg 0x692ede50
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 0x692ecc77
cmp eax, 0x4000
jg 0x692ede50
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 0x692eccb3
test edx, edx
jne 0x692ede50
add eax, eax
xor r15d, r15d
mov dword [rbx + 0x494], 0x10000
mov r14d, 1
mov dword [rbx + 0x490], eax
mov r13d, 0x10
jmp 0x692eccfa
add r10d, 1
mov dword [rsp + r11*4 + 0x40], r10d
add r15, 1
cmp r15, 0x120
je 0x692ecf88
movzx ebp, byte [r9 + r15]
mov ecx, ebp
test ebp, ebp
je 0x692ecce9
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 0x692ecce0
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 0x692ecdb0
jmp 0x692ecce0
mov ebp, r13d
and ebp, 7
jne 0x692ee038
test r13d, r13d
jle 0x692ee0b4
mov edx, r14d
lea r12d, [r13 - 8]
mov byte [rsp + 0x80], r14b
shr edx, 8
test r12d, r12d
jle 0x692ee0f8
mov byte [rsp + 0x81], dl
lea r9d, [r13 - 0x10]
mov edx, r14d
shr edx, 0x10
test r9d, r9d
jle 0x692ee0f8
mov byte [rsp + 0x82], dl
shr r14d, 0x18
cmp r13d, 0x18
jle 0x692ee290
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 0x692ecf15
mov rsi, qword [rbx + 8]
mov rcx, qword [rbx]
lea r12d, [rbp + 1]
xor r10d, r10d
cmp rsi, rcx
jbe 0x692ece8d
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 0x692ecf15
lea eax, [r12 + 1]
xor r9d, r9d
cmp rcx, rsi
jae 0x692eceb9
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 0x692ecf15
xor edi, edi
cmp eax, 2
setne dil
add edi, 3
cmp rsi, rcx
jbe 0x692ee180
lea rbp, [rcx + 1]
cdqe
mov qword [rbx], rbp
movzx r15d, byte [rcx]
mov byte [rsp + rax + 0x80], r15b
cmp edi, 4
je 0x692ecf15
cmp rsi, rbp
jbe 0x692ee193
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 0x692ede80
lea r12, str.zlib_corrupt
xor r13d, r13d
mov qword [0x69306440], 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, [0x69306460]
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 0x692ecfeb
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x80], 0
cmp ecx, 2
jg 0x692edd98
mov edx, dword [rsp + 0x88]
cmp edx, 4
jg 0x692edd98
mov r10d, dword [rsp + 0x8c]
cmp r10d, 8
jg 0x692edd98
mov r8d, dword [rsp + 0x90]
cmp r8d, 0x10
jg 0x692edd98
mov r9d, dword [rsp + 0x94]
cmp r9d, 0x20
jg 0x692edd98
mov r11d, dword [rsp + 0x98]
cmp r11d, 0x40
jg 0x692edd98
mov esi, dword [rsp + 0x9c]
cmp esi, 0x80
jg 0x692edd98
mov edi, dword [rsp + 0xa0]
cmp edi, 0x100
jg 0x692edd98
mov r12d, dword [rsp + 0xa4]
cmp r12d, 0x200
jg 0x692edd98
mov ebp, dword [rsp + 0xa8]
cmp ebp, 0x400
jg 0x692edd98
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x2c], eax
cmp eax, 0x800
jg 0x692edd98
mov r13d, dword [rsp + 0xb0]
cmp r13d, 0x1000
jg 0x692edd98
mov r14d, dword [rsp + 0xb4]
cmp r14d, 0x2000
jg 0x692edd98
mov r15d, dword [rsp + 0xb8]
mov dword [rsp + 0x30], r15d
cmp r15d, 0x4000
jg 0x692edd98
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x34], eax
cmp eax, 0x8000
jg 0x692edd98
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 0x692ed1e0
cmp eax, 4
jg 0x692ede50
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 0x692ed215
test r10d, r10d
jne 0x692ede50
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 0x692ed248
cmp eax, 0x10
jg 0x692ede50
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 0x692ed27e
cmp eax, 0x20
jg 0x692ede50
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 0x692ed2b4
cmp eax, 0x40
jg 0x692ede50
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 0x692ed2ea
cmp eax, 0x80
jg 0x692ede50
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 0x692ed31f
cmp eax, 0x100
jg 0x692ede50
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 0x692ed353
test r12d, r12d
jne 0x692ede50
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 0x692ed386
cmp eax, 0x400
jg 0x692ede50
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 0x692ed3bf
test ebp, ebp
jne 0x692ede50
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 0x692ed3f8
cmp eax, 0x1000
jg 0x692ede50
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 0x692ed42d
cmp eax, 0x2000
jg 0x692ede50
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 0x692ed46b
test r14d, r14d
jne 0x692ede50
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 0x692ed4a7
test edx, edx
jne 0x692ede50
add eax, eax
xor r15d, r15d
mov esi, 1
mov r11d, 0x10
mov dword [rbx + 0xc74], eax
mov dword [rbx + 0xc78], 0x10000
jmp 0x692ed4e7
add r8d, 1
mov dword [rsp + r9*4 + 0x40], r8d
add r15, 1
cmp r15, 0x20
je 0x692ed5e0
lea rax, [0x69306460]
movzx r13d, byte [rax + r15]
mov ecx, r13d
test r13d, r13d
je 0x692ed4d9
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 0x692ed4d0
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 0x692ed5b8
jmp 0x692ed4d0
mov rcx, rbx
call fcn.692ce010
test eax, eax
je 0x692ee280
mov r9, qword [rbx + 0x18]
lea rdi, [0x69350d20]
lea rsi, [0x69311980]
mov r8d, dword [rbx + 0x10]
mov r15d, dword [rbx + 0x14]
cmp r8d, 0xf
jg 0x692ed658
mov r11, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r8d
cmp r11, r10
jbe 0x692ed637
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 0x692ed646
mov r10, r13
cmp r11, r10
ja 0x692ed60f
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x692ed60a
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 0x692edad0
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 0x692ed700
mov r14, qword [rbx + 0x28]
cmp r14, r9
ja 0x692ed6f3
mov r8d, dword [rbx + 0x30]
mov qword [rbx + 0x18], r9
test r8d, r8d
je 0x692edb90
mov r15, qword [rbx + 0x20]
sub r9, r15
sub r14, r15
mov r13, r9
mov eax, r14d
cmp r9d, r14d
jl 0x692ed6c7
nop
add eax, eax
cmp r9d, eax
jge 0x692ed6c0
movsxd r12, eax
mov rcx, r15
mov rdx, r12
call sub.msvcrt.dll_realloc
test rax, rax
je 0x692ee4b0
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 0x692ed5f2
cmp ebp, 0x100
je 0x692ee430
sub ebp, 0x101
lea r10, [0x69350c00]
movsxd r13, ebp
mov eax, dword [rdi + r13*4]
mov r12d, dword [r10 + r13*4]
test eax, eax
jne 0x692edc68
cmp r8d, 0xf
jg 0x692ed787
mov rax, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r8d
cmp rax, r10
jbe 0x692ed768
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 0x692ed777
mov r10, r11
cmp rax, r10
ja 0x692ed741
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x692ed73c
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 0x692edbb0
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, [0x69350b60]
mov r10d, dword [rax + r14*4]
mov r13d, dword [rsi + r14*4]
test r10d, r10d
jne 0x692edd00
mov rcx, qword [rbx + 0x20]
mov r14, r9
movsxd r15, r13d
sub r14, rcx
cmp r14, r15
jl 0x692ee470
movsxd rdx, r12d
mov r10, qword [rbx + 0x28]
add rdx, r9
cmp r10, rdx
jae 0x692ed84f
mov qword [rbx + 0x18], r9
mov r9d, dword [rbx + 0x30]
test r9d, r9d
je 0x692edb90
sub r10, rcx
lea ebp, [r12 + r14]
mov eax, r10d
cmp r10d, ebp
jge 0x692ed826
nop dword [rax + rax]
add eax, eax
cmp eax, ebp
jl 0x692ed820
movsxd rbp, eax
mov rdx, rbp
call sub.msvcrt.dll_realloc
test rax, rax
je 0x692ee4b0
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 0x692eddb0
test r12d, r12d
je 0x692ed5f2
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 0x692ee2a0
cmp r13d, 0xe
jbe 0x692ee2a0
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 0x692ed94d
cmp rdx, 1
je 0x692ed939
cmp rdx, 2
je 0x692ed92a
cmp rdx, 3
je 0x692ed91b
cmp rdx, 4
je 0x692ed90c
cmp rdx, 5
je 0x692ed8fd
cmp rdx, 6
je 0x692ed8ee
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 0x692ed9bc
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 0x692ed94d
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 0x692edac0
movzx r12d, byte [r14]
mov byte [r8], r12b
cmp ecx, 1
je 0x692edac0
movzx r15d, byte [r14 + 1]
mov byte [r8 + 1], r15b
cmp ecx, 2
je 0x692edac0
movzx r10d, byte [r14 + 2]
mov byte [r8 + 2], r10b
cmp ecx, 3
je 0x692edac0
movzx edx, byte [r14 + 3]
mov byte [r8 + 3], dl
cmp ecx, 4
je 0x692edac0
movzx eax, byte [r14 + 4]
mov byte [r8 + 4], al
cmp ecx, 5
je 0x692edac0
movzx ebp, byte [r14 + 5]
mov byte [r8 + 5], bpl
cmp ecx, 6
je 0x692edac0
movzx r11d, byte [r14 + 6]
mov byte [r8 + 6], r11b
cmp ecx, 7
je 0x692edac0
movzx r12d, byte [r14 + 7]
mov byte [r8 + 7], r12b
cmp ecx, 8
je 0x692edac0
movzx r15d, byte [r14 + 8]
mov byte [r8 + 8], r15b
cmp ecx, 9
je 0x692edac0
movzx r10d, byte [r14 + 9]
mov byte [r8 + 9], r10b
cmp ecx, 0xa
je 0x692edac0
movzx edx, byte [r14 + 0xa]
mov byte [r8 + 0xa], dl
cmp ecx, 0xb
je 0x692edac0
movzx eax, byte [r14 + 0xb]
mov byte [r8 + 0xb], al
cmp ecx, 0xc
je 0x692edac0
movzx ebp, byte [r14 + 0xc]
mov byte [r8 + 0xc], bpl
cmp ecx, 0xd
je 0x692edac0
movzx r11d, byte [r14 + 0xd]
mov byte [r8 + 0xd], r11b
cmp ecx, 0xe
je 0x692edac0
movzx r14d, byte [r14 + 0xe]
mov byte [r8 + 0xe], r14b
nop dword [rax]
lea r9, [r9 + r13 + 1]
jmp 0x692ed5f2
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 0x692edde0
cmp dword [rbx + 0x480], r13d
jg 0x692ede38
cmp dword [rbx + 0x484], r13d
jg 0x692ede70
cmp dword [rbx + 0x488], r13d
jg 0x692ee0e8
cmp dword [rbx + 0x48c], r13d
jg 0x692ee100
cmp dword [rbx + 0x490], r13d
jg 0x692ee160
lea rbx, str.bad_huffman_code
xor r13d, r13d
mov qword [0x69306440], rbx
jmp 0x692ecf6a
lea rdi, str.output_buffer_limit
xor r13d, r13d
mov qword [0x69306440], rdi
jmp 0x692ecf6a
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 0x692ee110
cmp dword [rbx + 0xc64], edx
jg 0x692ee170
cmp dword [rbx + 0xc68], edx
jg 0x692ee1a0
cmp dword [rbx + 0xc6c], edx
jg 0x692ee1e8
cmp dword [rbx + 0xc70], edx
jg 0x692ee1f0
cmp dword [rbx + 0xc74], edx
jle 0x692edb77
mov r13d, 0xf
jmp 0x692ee176
cmp eax, r8d
jle 0x692edcd2
mov r14, qword [rbx + 8]
mov rbp, qword [rbx]
mov ecx, r8d
cmp r14, rbp
jbe 0x692edca3
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 0x692edcb2
mov rbp, r11
cmp r14, rbp
ja 0x692edc7c
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x692edc77
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 0x692ed72c
cmp r10d, r8d
jle 0x692edd66
mov rbp, qword [rbx + 8]
mov r14, qword [rbx]
mov ecx, r8d
cmp rbp, r14
jbe 0x692edd3b
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 0x692edd4a
mov r14, r11
cmp rbp, r14
ja 0x692edd14
add ecx, 8
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x692edd0f
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 0x692ed7d6
lea rbx, str.bad_sizes
xor r13d, r13d
mov qword [0x69306440], rbx
jmp 0x692ecf6a
test r12d, r12d
je 0x692ed5f2
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 0x692ed5f2
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 0x692ed687
mov r12d, 0xb
mov ecx, 0x10
sub ecx, r12d
jmp 0x692eddf0
lea rbx, str.bad_codelengths
xor r13d, r13d
mov qword [0x69306440], rbx
jmp 0x692ecf6a
mov r12d, 0xc
jmp 0x692ede3e
mov rdx, qword [rbx]
movsxd r14, r11d
lea rax, [rdx + r14]
cmp qword [rbx + 8], rax
jae 0x692ee1b0
lea rcx, str.read_past_buffer
xor r13d, r13d
mov qword [0x69306440], rcx
jmp 0x692ecf6a
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 [0x69306320], r8
movabs r10, 0x808080808080808
mov qword [0x69306328], rax
mov qword [0x69306330], r8
mov qword [0x69306338], rax
mov qword [0x69306340], r8
mov qword [0x69306348], rax
mov qword [0x69306350], r8
mov qword [0x69306358], rax
mov qword [0x69306360], r8
mov qword [0x69306368], rax
mov qword [0x69306370], r8
mov qword [0x69306378], rax
mov qword [0x69306380], r8
mov qword [0x69306388], rax
mov qword [0x69306390], r8
mov qword [0x69306398], rax
mov qword [0x693063a0], r8
mov qword [0x693063a8], rax
mov qword [0x693063b0], r15
mov qword [0x693063b8], r9
mov qword [0x693063c0], r15
mov qword [0x693063c8], r9
mov qword [0x693063d0], r15
mov qword [0x693063d8], r9
mov qword [0x693063e0], r15
mov qword [0x693063e8], r9
mov qword [0x693063f0], r15
mov qword [0x693063f8], r9
mov qword [0x69306400], r15
mov qword [0x69306408], r9
mov qword [0x69306410], r15
mov qword [0x69306418], r9
mov qword [0x69306420], rsi
mov qword [0x69306428], rdi
mov qword [0x69306430], rbp
mov qword [0x69306438], r10
mov qword [0x69306460], r11
mov qword [0x69306468], rcx
mov qword [0x69306470], r11
mov qword [0x69306478], rcx
jmp 0x692ec735
cmp r13d, ebp
jge 0x692ee09b
mov rsi, qword [rbx + 8]
mov r11, qword [rbx]
cmp rsi, r11
jbe 0x692ee077
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 0x692ee089
mov r11, r15
cmp rsi, r11
ja 0x692ee049
add r13d, 8
mov dword [rbx + 0x14], r14d
mov dword [rbx + 0x10], r13d
cmp r13d, 0x18
jle 0x692ee044
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 0x692ecddd
mov rsi, qword [rbx + 8]
mov r8, qword [rbx]
cmp rsi, r8
jbe 0x692ee450
lea rcx, [r8 + 1]
mov r12d, 1
mov qword [rbx], rcx
movzx r13d, byte [r8]
mov byte [rsp + 0x80], r13b
jmp 0x692ece9e
mov r12d, 0xd
jmp 0x692ede3e
mov eax, edx
jmp 0x692ece2f
mov r12d, 0xe
jmp 0x692ede3e
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 0x692ed7bb
mov r12d, 0xf
jmp 0x692ede3e
mov r13d, 0xb
mov ecx, 0x10
sub ecx, r13d
jmp 0x692ee120
cdqe
mov byte [rsp + rax + 0x80], 0
cmp edi, 4
je 0x692ecf15
xor r10d, r10d
jmp 0x692ecf0d
mov r13d, 0xc
jmp 0x692ee176
mov rcx, qword [rbx + 0x18]
mov rdi, qword [rbx + 0x28]
lea r9, [rcx + r14]
cmp rdi, r9
jae 0x692ee256
mov r13d, dword [rbx + 0x30]
test r13d, r13d
jne 0x692ee200
lea r11, str.output_buffer_limit
mov qword [0x69306440], r11
jmp 0x692ecf6a
mov r13d, 0xd
jmp 0x692ee176
mov r13d, 0xe
jmp 0x692ee176
mov r15, qword [rbx + 0x20]
sub rcx, r15
sub rdi, r15
add r11d, ecx
mov rbp, rcx
mov edx, edi
cmp edi, r11d
jge 0x692ee227
nop word [rax + rax]
add edx, edx
cmp edx, r11d
jl 0x692ee220
movsxd rsi, edx
mov rcx, r15
mov rdx, rsi
call sub.msvcrt.dll_realloc
test rax, rax
je 0x692ee4b0
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 0x692ee442
mov r8d, dword [rbx + 0x10]
mov eax, dword [rbx + 0x14]
jmp 0x692ec630
xor r13d, r13d
jmp 0x692ecf6a
mov eax, r14d
jmp 0x692ece2f
mov r8d, r13d
xor r15d, r15d
lea rcx, [r8 + 1]
and ecx, 7
je 0x692ee335
cmp rcx, 1
je 0x692ee31c
cmp rcx, 2
je 0x692ee30f
cmp rcx, 3
je 0x692ee302
cmp rcx, 4
je 0x692ee2f5
cmp rcx, 5
je 0x692ee2e8
cmp rcx, 6
jne 0x692ee4e5
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 0x692edac0
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 0x692ee335
jmp 0x692edac0
mov rdx, qword [rcx + 8]
mov rax, qword [rcx]
cmp rdx, rax
jbe 0x692ee4cf
lea r8, [rax + 1]
mov qword [rcx], r8
movzx r9d, byte [rax]
mov ecx, r9d
and ecx, 0xf
cmp rdx, r8
jbe 0x692ee486
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 0x692ee49a
and ebp, 0x20
je 0x692ee4c6
lea rbx, str.no_preset_dict
mov qword [0x69306440], rbx
jmp 0x692ecf6a
mov r10d, dword [rsp + 0x28]
mov qword [rbx + 0x18], r9
test r10d, r10d
je 0x692ee273
mov r13d, 1
jmp 0x692ecf6a
mov byte [rsp + 0x80], 0
mov rcx, r8
mov r12d, 1
jmp 0x692ece9e
lea rsi, str.bad_dist
xor r13d, r13d
mov qword [0x69306440], rsi
jmp 0x692ecf6a
mov eax, r9d
mov r13d, 0x1f
shl eax, 8
cdq
idiv r13d
test edx, edx
je 0x692ee4c6
lea r14, str.bad_zlib_header
xor r13d, r13d
mov qword [0x69306440], r14
jmp 0x692ecf6a
lea rbx, str.outofmem
xor r13d, r13d
mov qword [0x69306440], rbx
jmp 0x692ecf6a
cmp cl, 8
je 0x692ec61e
lea rdi, str.bad_compression
xor r13d, r13d
mov qword [0x69306440], rdi
jmp 0x692ecf6a
movzx r12d, byte [r14]
mov r15d, 1
mov byte [r9], r12b
jmp 0x692ee2db