Function at 0x140002cc0
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
lea rax, [0x1400163c0]
movq xmm6, rax
mov dword [rsp + 0xe8], edx
lea rdx, [0x140016340]
mov r15, rcx
movq xmm2, rdx
call fcn.140002460
punpcklqdq xmm6, xmm2
mov r10d, eax
test eax, eax
jne case.default.0x140002d90
mov r11, qword [rcx + 0x10]
test r11, r11
je case.default.0x140002d90
mov rdi, qword [rcx]
mov r14d, dword [rcx + 8]
test rdi, rdi
je 0x140002ed0
mov r12, qword [r15 + 0x28]
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
jne 0x140002d50
mov dword [r12 + 8], 0x3f40
mov eax, 0x3f40
mov esi, dword [r15 + 0x18]
mov dword [rsp + 0x38], r10d
mov ebp, dword [r12 + 0x94]
mov ebx, dword [r12 + 0x98]
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x68], esi
mov esi, r14d
sub eax, 0x3f34
cmp eax, 0x1e
ja case.default.0x140002d90
lea rdx, [0x140016278]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
notrack jmp rax
cmp ebx, 0x1f
ja 0x140002dce
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140002db8
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140002db0
bswap ebp
mov dword [r12 + 0x20], ebp
xor ebx, ebx
mov dword [r15 + 0x4c], ebp
xor ebp, ebp
mov dword [r12 + 8], 0x3f3e
mov r10d, dword [r12 + 0x14]
test r10d, r10d
je 0x140004aad
mov dword [r12 + 0x20], 1
mov dword [r15 + 0x4c], 1
mov dword [r12 + 8], 0x3f3f
mov eax, dword [rsp + 0xe8]
sub eax, 5
cmp eax, 1
jbe 0x140003e4a
mov r9d, dword [r12 + 0xc]
test r9d, r9d
je 0x140002fc0
mov dword [r12 + 8], 0x3f4e
mov ecx, ebx
mov r10d, dword [rsp + 0x38]
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
mov r9d, dword [r12 + 0x10]
mov edx, r9d
test r9d, r9d
je 0x140003220
cmp ebx, 0x1f
ja 0x140002e90
mov ecx, ebx
test esi, esi
jne 0x140002e78
jmp 0x140003e4f
test esi, esi
je 0x140004040
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140002e70
mov ebx, ecx
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
sub r8d, eax
add dword [r15 + 0x1c], r8d
add dword [r12 + 0x24], r8d
test r9b, 4
jne 0x1400044cc
mov eax, dword [rsp + 0x68]
xor ebx, ebx
xor ebp, ebp
mov dword [r12 + 8], 0x3f4f
mov dword [rsp + 0x30], eax
jmp 0x1400035ea
test r14d, r14d
je 0x140002d32
mov r10d, 0xfffffffe
jmp 0x140003348
mov rax, qword [0x140016bd8]
shr ebp, 3
sub ebx, 3
cmp dword [rsp + 0xe8], 6
mov dword [r12 + 8], 0x3f47
mov qword [r12 + 0xb8], rax
movups xmmword [r12 + 0xa8], xmm6
je 0x140004d23
mov rdi, rdx
nop dword [rax]
mov dword [r12 + 8], 0x3f48
cmp esi, 0xe
jbe 0x140003af0
mov eax, dword [rsp + 0x68]
cmp eax, 0x103
jbe 0x140003af0
mov qword [r15 + 0x10], r11
mov rcx, qword [0x14001a7e0]
mov qword [r15], rdi
mov dword [r15 + 8], esi
mov dword [r15 + 0x18], eax
mov dword [r12 + 0x94], ebp
mov dword [r12 + 0x98], ebx
call fcn.14000eb20
mov edx, dword [rsp + 0x30]
mov rcx, r15
call qword [rax + 0x50]
mov eax, dword [r15 + 0x18]
mov r11, qword [r15 + 0x10]
mov rdi, qword [r15]
mov esi, dword [r15 + 8]
mov dword [rsp + 0x68], eax
mov eax, dword [r12 + 8]
mov ebp, dword [r12 + 0x94]
mov ebx, dword [r12 + 0x98]
cmp eax, 0x3f3f
jne 0x140002d74
mov dword [r12 + 0x23ac], 0xffffffff
jmp case.0x140002d90.16191
cmp ebx, 2
ja 0x140004863
test esi, esi
je 0x14000484f
movzx eax, byte [rdi]
mov ecx, ebx
sub esi, 1
lea rdx, [rdi + 1]
add ebx, 8
shl eax, cl
add ebp, eax
mov eax, ebp
and eax, 1
mov dword [r12 + 0xc], eax
mov eax, ebp
shr eax, 1
and eax, 3
cmp eax, 2
je 0x140003d8d
cmp eax, 3
je 0x14000458b
cmp eax, 1
je 0x140002ee4
mov dword [r12 + 8], 0x3f41
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop word [rax + rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
cmp ebx, 0x1f
ja 0x14000306b
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003050
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140003048
mov ebx, 0x20
mov edx, ebp
movzx eax, bp
shr edx, 0x10
xor edx, 0xffff
cmp eax, edx
je 0x140004476
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_stored_block_lengths
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov r8d, dword [r12 + 0xa4]
test r8d, r8d
jne 0x140004328
mov dword [r12 + 8], 0x3f4c
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x140004829
mov ecx, dword [rsp + 0x30]
mov r13d, dword [r12 + 0xa0]
mov eax, ecx
sub eax, edx
cmp eax, r13d
jae 0x140003f20
add r13d, edx
mov r8d, r13d
sub r8d, ecx
cmp dword [r12 + 0x38], r8d
jae 0x140003c08
mov ecx, dword [r12 + 0x23a8]
test ecx, ecx
je 0x140003c08
mov dword [r12 + 8], 0x3f51
lea rax, [0x140016211]
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov edx, dword [r12 + 0xa4]
test edx, edx
jne 0x140004070
mov eax, dword [r12 + 0x9c]
mov dword [r12 + 0x23b0], eax
mov dword [r12 + 8], 0x3f4a
mov ecx, dword [r12 + 0xbc]
mov eax, 0xffffffff
mov r9, qword [r12 + 0xb0]
shl eax, cl
mov ecx, eax
not ecx
mov eax, ecx
mov r13d, ecx
and eax, ebp
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
mov dword [rsp + 0x40], eax
cmp ebx, eax
jae 0x1400031d4
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x1400031a0
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, r13d
and eax, ebp
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
cmp ecx, eax
jb 0x140003198
mov dword [rsp + 0x40], eax
mov ebx, ecx
cmp r8b, 0xf
jbe 0x140004167
mov r9d, dword [r12 + 0x23ac]
mov ecx, edx
sub ebx, eax
add eax, r9d
mov dword [r12 + 0x23ac], eax
shr ebp, cl
test r8b, 0x40
je 0x140004300
mov dword [r12 + 8], 0x3f51
lea rax, [0x1400161fb]
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
xor ebx, ebx
xor ebp, ebp
nop
mov dword [r12 + 8], 0x3f50
nop dword [rax]
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r10d, 1
sub r8d, eax
nop word [rax + rax]
mov eax, dword [rsp + 0x68]
mov ecx, dword [r12 + 0x34]
mov qword [r15 + 0x10], r11
mov qword [r15], rdi
mov dword [r15 + 0x18], eax
mov dword [r15 + 8], esi
mov dword [r12 + 0x94], ebp
mov dword [r12 + 0x98], ebx
test ecx, ecx
jne 0x1400032a0
mov ecx, dword [r12 + 8]
cmp dword [rsp + 0x30], eax
je 0x1400032e0
cmp ecx, 0x3f50
ja 0x1400032e0
cmp ecx, 0x3f4d
jbe 0x1400032a0
cmp dword [rsp + 0xe8], 4
je 0x1400032e0
nop dword [rax]
mov r9d, dword [r12 + 0x10]
mov rdx, r11
mov rcx, r15
mov dword [rsp + 0x68], r10d
and r9d, 4
call fcn.140002980
test eax, eax
jne 0x140004053
mov esi, dword [r15 + 8]
mov ebx, dword [r12 + 0x98]
mov ecx, dword [r12 + 8]
mov r10d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x30]
sub r8d, dword [r15 + 0x18]
mov edx, dword [r12 + 0xc]
sub r14d, esi
add dword [r15 + 0x1c], r8d
xor eax, eax
add dword [r15 + 0xc], r14d
mov r9d, r14d
add dword [r12 + 0x24], r8d
test edx, edx
setne al
shl eax, 6
add eax, ebx
cmp ecx, 0x3f3f
je 0x140003e60
cmp ecx, 0x3f47
sete dl
cmp ecx, 0x3f42
sete cl
or edx, ecx
movzx edx, dl
shl edx, 8
add eax, edx
or r9d, r8d
mov dword [r15 + 0x48], eax
je 0x14000333f
cmp dword [rsp + 0xe8], 4
jne 0x140003348
test r10d, r10d
je 0x14000449e
movaps xmm6, xmmword [rsp + 0x80]
mov eax, r10d
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [r12 + 0x9c]
mov dword [r12 + 8], 0x3f43
test eax, eax
je 0x140002e05
cmp esi, eax
mov edx, dword [rsp + 0x68]
cmovbe eax, esi
cmp eax, edx
cmova eax, edx
mov r13d, eax
test eax, eax
je 0x140004b34
mov r8d, eax
mov rdx, rdi
mov rcx, r11
sub esi, r13d
mov qword [rsp + 0x40], r8
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x40]
sub dword [rsp + 0x68], r13d
mov r11, rax
sub dword [r12 + 0x9c], r13d
mov eax, dword [r12 + 8]
add rdi, r8
add r11, r8
jmp 0x140002d74
mov eax, dword [r12 + 0x9c]
jmp 0x140003381
mov r8d, dword [r12 + 0xcc]
mov r10d, dword [r12 + 0xc0]
cmp r8d, r10d
jae 0x140004613
mov eax, r8d
lea rdx, [0x140016300]
mov ecx, ebx
lea r9, [rdx + rax*2]
cmp ecx, 2
ja 0x140003470
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
sub esi, 1
lea rdx, [rdi + 1]
shl eax, cl
add ecx, 8
add ebp, eax
movzx eax, word [r9]
mov ebx, ebp
add r8d, 1
shr ebp, 3
and ebx, 7
mov dword [r12 + 0xcc], r8d
sub ecx, 3
add r9, 2
mov word [r12 + rax*2 + 0xd8], bx
cmp r8d, r10d
je 0x14000460e
mov rdi, rdx
cmp ecx, 2
jbe 0x14000341e
mov rdx, rdi
jmp 0x140003437
mov r8d, dword [r12 + 0xc4]
mov eax, dword [r12 + 0xc8]
mov r10d, dword [r12 + 0xcc]
add eax, r8d
mov dword [rsp + 0x40], eax
cmp r10d, eax
jae 0x1400040fe
mov ecx, dword [r12 + 0xb8]
mov edx, 0xffffffff
mov dword [rsp + 0x48], r8d
mov r9, qword [r12 + 0xa8]
shl edx, cl
not edx
mov eax, ebp
and eax, edx
lea rax, [r9 + rax*4]
movzx ecx, byte [rax + 1]
movzx r13d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x140003520
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x1400034f0
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, ebp
and eax, edx
lea rax, [r9 + rax*4]
movzx r8d, byte [rax + 1]
movzx r13d, word [rax + 2]
movzx eax, r8b
cmp ecx, eax
jb 0x1400034e8
mov ebx, ecx
mov ecx, r8d
cmp r13w, 0xf
jbe 0x1400040d0
cmp r13w, 0x10
je 0x1400047a0
cmp r13w, 0x11
je 0x1400045ad
lea r8d, [rax + 7]
cmp ebx, r8d
jae 0x140003580
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003568
test esi, esi
je 0x140003e48
movzx ebx, byte [rdi]
add rdi, 1
sub esi, 1
shl ebx, cl
add ecx, 8
add ebp, ebx
cmp ecx, r8d
jb 0x140003560
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r13d, r13d
shr ebp, cl
sub ebx, 7
mov ecx, ebp
shr ebp, 7
and ecx, 0x7f
add ecx, 0xb
add r10d, ecx
cmp dword [rsp + 0x40], r10d
jb 0x140004c99
mov eax, dword [r12 + 0xcc]
lea r10d, [rcx + rax]
nop dword [rax]
mov ecx, eax
add eax, 1
mov word [r12 + rcx*2 + 0xd8], r13w
cmp r10d, eax
jne 0x1400035b8
mov dword [r12 + 0xcc], r10d
jmp 0x1400040ec
mov r10d, dword [rsp + 0x38]
mov edx, dword [r12 + 0x10]
test edx, edx
je 0x140003220
mov r8d, dword [r12 + 0x18]
test r8d, r8d
je 0x140003220
cmp ebx, 0x1f
ja 0x140003630
mov ecx, ebx
test esi, esi
jne 0x140003618
jmp 0x140003e4f
test esi, esi
je 0x140004040
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140003610
mov ebx, ecx
and edx, 4
je 0x14000321a
cmp ebp, dword [r12 + 0x24]
je 0x14000321a
mov dword [r12 + 8], 0x3f51
lea rax, str.incorrect_length_check
mov qword [r15 + 0x20], rax
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r10d, 0xfffffffd
sub r8d, eax
jmp 0x140003248
mov eax, dword [r12 + 0x18]
test ah, 2
jne 0x1400039fa
nop
mov edx, dword [r12 + 0x10]
mov rcx, qword [r12 + 0x28]
and edx, 4
test rcx, rcx
je 0x1400036a8
mov r8d, eax
mov dword [rcx + 0x40], 1
sar r8d, 9
and r8d, 1
mov dword [rcx + 0x3c], r8d
test edx, edx
je 0x140002e05
test eax, eax
je 0x140002e05
mov rcx, qword [0x14001a7e0]
mov qword [rsp + 0x40], r11
call fcn.14000eb20
lea rcx, [r12 + 0x50]
call qword [rax + 0x48]
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
mov dword [r15 + 0x4c], eax
jmp 0x140002e05
mov edx, dword [r12 + 0x10]
test edx, edx
jne 0x140004388
mov dword [r12 + 8], 0x3f40
jmp case.0x140002d90.16192
cmp ebx, 0x1f
ja 0x14000373e
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003728
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140003720
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000374b
mov dword [rax + 4], ebp
test byte [r12 + 0x19], 2
je 0x14000375f
test byte [r12 + 0x10], 4
jne 0x14000473d
mov dword [r12 + 8], 0x3f37
xor ebx, ebx
xor ebp, ebp
jmp 0x140003775
cmp ebx, 0xf
ja 0x1400037a6
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003790
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140003788
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400037bf
movzx edx, bpl
mov dword [rax + 8], edx
mov edx, ebp
shr edx, 8
mov dword [rax + 0xc], edx
mov edx, dword [r12 + 0x18]
mov eax, edx
test dh, 2
je 0x140003808
test byte [r12 + 0x10], 4
je 0x140003808
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 2
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
call fcn.140005e50
mov edx, dword [r12 + 0x18]
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
mov eax, edx
nop dword [rax + rax]
mov dword [r12 + 8], 0x3f38
xor ebx, ebx
xor ebp, ebp
test dh, 4
je 0x140003898
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003838
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140003830
mov rax, qword [r12 + 0x28]
movzx ecx, bp
mov dword [r12 + 0x9c], ecx
test rax, rax
je 0x140003866
mov dword [rax + 0x18], ecx
test dh, 2
je 0x140003877
test byte [r12 + 0x10], 4
jne 0x140004940
mov eax, edx
xor ebx, ebx
and edx, 0x400
xor ebp, ebp
jmp 0x1400038ac
mov edx, dword [r12 + 0x18]
mov eax, edx
test dh, 4
jne 0x140004450
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400038aa
mov qword [rdx + 0x10], 0
xor edx, edx
mov dword [r12 + 8], 0x3f39
test edx, edx
je 0x14000397e
mov edx, dword [r12 + 0x9c]
cmp esi, edx
mov r13d, edx
cmovbe r13d, esi
test r13d, r13d
je 0x140003971
mov rcx, qword [r12 + 0x28]
mov r10d, r13d
test rcx, rcx
je 0x140003947
mov r8, qword [rcx + 0x10]
test r8, r8
je 0x140003947
mov r9d, dword [rcx + 0x18]
mov ecx, dword [rcx + 0x1c]
mov dword [rsp + 0x40], r9d
sub r9d, edx
cmp r9d, ecx
jae 0x140003947
lea eax, [r9 + r13]
mov qword [rsp + 0x48], r10
cmp ecx, eax
jae 0x14000391d
add ecx, edx
mov edx, dword [rsp + 0x40]
mov eax, ecx
sub eax, edx
mov qword [rsp + 0x48], rax
lea rcx, [r8 + r9]
mov r8, qword [rsp + 0x48]
mov rdx, rdi
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x40], r10
call sub.msvcrt.dll_memcpy
mov eax, dword [r12 + 0x18]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
test ah, 2
je 0x140003958
test byte [r12 + 0x10], 4
jne 0x14000470f
mov edx, dword [r12 + 0x9c]
sub esi, r13d
add rdi, r10
sub edx, r13d
mov dword [r12 + 0x9c], edx
test edx, edx
jne 0x140003e4a
mov eax, dword [r12 + 0x18]
mov dword [r12 + 0x9c], 0
mov dword [r12 + 8], 0x3f3a
jmp 0x14000399d
mov eax, dword [r12 + 0x18]
test ah, 8
jne 0x140003f90
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400039b8
mov qword [rdx + 0x20], 0
mov dword [r12 + 0x9c], 0
mov dword [r12 + 8], 0x3f3b
test ah, 0x10
jne 0x140003e70
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400039e8
mov qword [rdx + 0x30], 0
mov dword [r12 + 8], 0x3f3c
test ah, 2
je 0x140003680
cmp ebx, 0xf
ja 0x140003a30
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003a18
test esi, esi
je 0x140003e48
movzx edx, byte [rdi]
add rdi, 1
sub esi, 1
shl edx, cl
add ecx, 8
add ebp, edx
cmp ecx, 0xf
jbe 0x140003a10
mov ebx, ecx
mov edx, dword [r12 + 0x10]
and edx, 4
je 0x140004150
movzx edx, word [r12 + 0x20]
cmp edx, ebp
je 0x140004517
mov dword [r12 + 8], 0x3f51
lea rax, str.header_crc_mismatch
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov eax, dword [r12 + 0x18]
jmp 0x1400039cd
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x1400038b5
cmp ebx, 0xf
ja 0x140003ac8
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003ab0
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140003aa8
mov ebx, ecx
mov dword [r12 + 0x18], ebp
cmp bpl, 8
je 0x14000445e
lea rax, str.unknown_compression_method
mov dword [r12 + 8], 0x3f51
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov ecx, dword [r12 + 0xb8]
mov eax, 0xffffffff
mov r10, qword [r12 + 0xa8]
mov dword [r12 + 0x23ac], 0
shl eax, cl
mov ecx, eax
mov eax, ebp
not ecx
and eax, ecx
mov r13d, ecx
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
mov dword [rsp + 0x40], eax
cmp ebx, eax
jae 0x140003b8d
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003b58
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, ebp
and eax, r13d
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
cmp ecx, eax
jb 0x140003b50
mov dword [rsp + 0x40], eax
mov ebx, ecx
test dl, dl
je 0x140003b9a
cmp dl, 0xf
jbe 0x14000497f
mov dword [rsp + 0x48], 0
mov ecx, r8d
sub ebx, eax
mov dword [r12 + 0x9c], r9d
shr ebp, cl
mov ecx, dword [rsp + 0x48]
add eax, ecx
mov dword [r12 + 0x23ac], eax
test dl, dl
jne 0x1400044a9
mov dword [r12 + 8], 0x3f4d
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x140004829
mov eax, dword [r12 + 0x9c]
sub edx, 1
add r11, 1
mov dword [rsp + 0x68], edx
mov byte [r11 - 1], al
mov dword [r12 + 8], 0x3f48
jmp case.0x140002d90.16200
mov edx, dword [rsp + 0x30]
mov eax, dword [r12 + 0x3c]
mov rcx, qword [r12 + 0x40]
sub edx, r13d
cmp eax, r8d
jae 0x140004140
sub r8d, eax
add eax, dword [r12 + 0x34]
add eax, edx
mov eax, eax
lea rdx, [rcx + rax]
mov r9d, dword [rsp + 0x68]
mov eax, dword [r12 + 0x9c]
mov r10d, r8d
cmp eax, r9d
mov ecx, r9d
cmovbe ecx, eax
cmp ecx, r8d
cmovbe r10d, ecx
add r9, 1
mov ecx, r10d
cmp r9, rcx
cmova r9, rcx
cmp rdx, r11
jb 0x1400042c0
lea r13, [r11 + r9]
je 0x140004dc5
cmp rdx, r13
jae 0x1400042d1
mov rax, rdx
mov rcx, r11
mov qword [rsp + 0x50], r9
sub rax, r11
mov dword [rsp + 0x48], r10d
mov r13, rax
mov qword [rsp + 0x40], rdx
neg r13
cmovs r13, rax
mov r8, r13
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov r11, rax
mov r10d, dword [rsp + 0x48]
add r11, r13
sub r9, r13
lea rcx, [rdx + r13]
je 0x140003d80
mov qword [rsp + 0x40], rdi
nop dword [rax]
cmp r13, r9
mov rdx, r9
cmovbe rdx, r13
sub r9, rdx
cmp rdx, 0x1f
jbe 0x140003d26
lea rax, [rdx - 0x20]
and rax, 0xffffffffffffffe0
lea rdi, [rax + 0x20]
mov rax, rcx
lea r8, [r11 + rdi]
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rax]
add r11, 0x20
add rax, 0x20
movups xmmword [r11 - 0x20], xmm0
movdqu xmm1, xmmword [rax - 0x10]
movups xmmword [r11 - 0x10], xmm1
cmp r8, r11
jne 0x140003d00
add rcx, rdi
and edx, 0x1f
cmp rdx, 0xf
ja 0x1400042a0
cmp rdx, 7
ja 0x140004280
cmp rdx, 3
ja 0x140004260
cmp rdx, 1
jbe 0x140003d5e
movzx eax, word [rcx]
add r11, 2
add rcx, 2
sub rdx, 2
mov word [r11 - 2], ax
test rdx, rdx
je 0x140003d72
movzx eax, byte [rcx]
add r11, 1
add rcx, 1
mov byte [r11 - 1], al
test r9, r9
jne 0x140003cd0
mov rdi, qword [rsp + 0x40]
mov eax, dword [r12 + 0x9c]
jmp 0x140003f6b
mov dword [r12 + 8], 0x3f44
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop
cmp ebx, 0xd
ja 0x140003dd8
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140003dc0
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xd
jbe 0x140003db8
mov ebx, ecx
mov eax, ebp
mov r10d, ebp
mov edx, ebp
sub ebx, 0xe
shr eax, 5
shr r10d, 0xa
and edx, 0x1f
and eax, 0x1f
and r10d, 0xf
add edx, 0x101
shr ebp, 0xe
add eax, 1
add r10d, 4
mov dword [r12 + 0xc4], edx
mov dword [r12 + 0xc8], eax
mov dword [r12 + 0xc0], r10d
cmp edx, 0x11e
ja 0x140003e2c
cmp eax, 0x1e
jbe 0x140004783
mov dword [r12 + 8], 0x3f51
lea rax, str.too_many_length_or_distance_symbols
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov ebx, ecx
mov r10d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
sub r8d, eax
jmp 0x140003248
sub eax, 0xffffff80
jmp 0x14000332c
test esi, esi
je 0x140003e4a
mov rdx, rdi
xor r13d, r13d
jmp 0x140003e85
cmp r13d, esi
jae 0x140003ec5
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r13d, 1
test rax, rax
je 0x140003ebc
mov r8, qword [rax + 0x30]
test r8, r8
je 0x140003ebc
mov ecx, dword [r12 + 0x9c]
cmp ecx, dword [rax + 0x38]
jae 0x140003ebc
lea eax, [rcx + 1]
mov dword [r12 + 0x9c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
jne 0x140003e80
test byte [r12 + 0x19], 2
je 0x140003f00
test byte [r12 + 0x10], 4
je 0x140003f00
mov ecx, dword [r12 + 0x20]
mov r8d, r13d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.140005e50
mov r11, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov dword [r12 + 0x20], eax
nop
sub esi, r13d
add rdi, r13
test r9b, r9b
jne 0x140003e4a
mov eax, dword [r12 + 0x18]
jmp 0x1400039e8
mov edx, dword [rsp + 0x68]
mov eax, dword [r12 + 0x9c]
mov qword [rsp + 0x48], r11
mov rcx, qword [0x14001a7e0]
cmp edx, eax
cmovbe eax, edx
mov dword [rsp + 0x40], eax
call fcn.14000eb20
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x40]
mov edx, r13d
mov rcx, qword [rsp + 0x48]
call qword [rax + 0x10]
mov r10d, dword [rsp + 0x40]
mov r11, rax
mov eax, dword [r12 + 0x9c]
sub dword [rsp + 0x68], r10d
sub eax, r10d
mov dword [r12 + 0x9c], eax
je case.0x140002d90.16199
mov eax, dword [r12 + 8]
jmp 0x140002d74
test esi, esi
je 0x140003e4a
mov rdx, rdi
xor r13d, r13d
nop
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r13d, 1
test rax, rax
je 0x140003fd7
mov r8, qword [rax + 0x20]
test r8, r8
je 0x140003fd7
mov ecx, dword [r12 + 0x9c]
cmp ecx, dword [rax + 0x28]
jae 0x140003fd7
lea eax, [rcx + 1]
mov dword [r12 + 0x9c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
je 0x140003fe5
cmp r13d, esi
jb 0x140003fa0
test byte [r12 + 0x19], 2
je 0x140004020
test byte [r12 + 0x10], 4
je 0x140004020
mov ecx, dword [r12 + 0x20]
mov r8d, r13d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.140005e50
mov r11, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov dword [r12 + 0x20], eax
nop
sub esi, r13d
add rdi, r13
test r9b, r9b
jne 0x140003e4a
mov eax, dword [r12 + 0x18]
jmp 0x1400039b8
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov ebx, ecx
sub r8d, eax
jmp 0x140003248
mov dword [r12 + 8], 0x3f52
nop dword [rax]
mov r10d, 0xfffffffc
jmp 0x140003348
cmp ebx, edx
jae 0x14000409f
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140004088
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jb 0x140004080
mov ebx, ecx
mov ecx, edx
mov eax, 0xffffffff
add dword [r12 + 0x23ac], edx
sub ebx, edx
shl eax, cl
not eax
and eax, ebp
add eax, dword [r12 + 0x9c]
shr ebp, cl
mov dword [r12 + 0x9c], eax
jmp 0x140003138
sub ebx, eax
lea eax, [r10 + 1]
shr ebp, cl
mov dword [r12 + 0xcc], eax
mov word [r12 + r10*2 + 0xd8], r13w
mov r10d, eax
mov eax, dword [rsp + 0x40]
cmp r10d, eax
jb 0x1400034be
mov r8d, dword [rsp + 0x48]
cmp dword [r12 + 8], 0x3f51
je case.0x140002d90.16209
cmp word [r12 + 0x2d8], 0
jne 0x140004c02
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_code____missing_end_of_block
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
add eax, edx
mov eax, eax
lea rdx, [rcx + rax]
jmp 0x140003c32
mov rcx, qword [r12 + 0x28]
xor ebx, ebx
xor ebp, ebp
test rcx, rcx
jne 0x140003692
jmp 0x140002e05
lea ecx, [r8 + rax]
mov dword [rsp + 0x48], eax
mov eax, 0xffffffff
mov r13d, r10d
shl eax, cl
mov ecx, edx
not eax
mov dword [rsp + 0x50], eax
and eax, ebp
shr eax, cl
mov ecx, dword [rsp + 0x40]
add eax, r10d
mov eax, eax
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
add ecx, eax
cmp ebx, ecx
jae 0x140004235
test esi, esi
je 0x140003e4a
mov qword [rsp + 0x58], r11
mov r11d, dword [rsp + 0x40]
mov qword [rsp + 0x60], r12
mov r12d, r13d
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x50], r14d
mov r14d, dword [rsp + 0x48]
jmp 0x1400041e8
test esi, esi
je 0x1400046ea
movzx eax, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl eax, cl
mov ecx, r14d
add ebp, eax
mov eax, ebp
and eax, r13d
shr eax, cl
add eax, r12d
mov eax, eax
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
lea ecx, [r11 + rax]
cmp ebx, ecx
jb 0x1400041e0
mov r11, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x48]
mov ecx, r9d
add r9d, dword [r12 + 0x23ac]
shr ebp, cl
mov ecx, dword [rsp + 0x40]
sub ebx, ecx
jmp 0x1400031e6
mov r10d, dword [rsp + 0x38]
jmp 0x140002e47
mov eax, dword [rcx]
add r11, 4
add rcx, 4
sub rdx, 4
mov dword [r11 - 4], eax
jmp 0x140003d44
mov rax, qword [rcx]
add r11, 8
add rcx, 8
sub rdx, 8
mov qword [r11 - 8], rax
jmp 0x140003d3a
movdqu xmm3, xmmword [rcx]
add r11, 0x10
add rcx, 0x10
sub rdx, 0x10
movups xmmword [r11 - 0x10], xmm3
jmp 0x140003d30
lea rax, [rdx + r9]
cmp r11, rax
jb 0x140003c7c
lea r13, [r11 + r9]
mov rcx, r11
mov r8, r9
mov dword [rsp + 0x40], r10d
call sub.msvcrt.dll_memcpy
mov eax, dword [r12 + 0x9c]
mov r10d, dword [rsp + 0x40]
mov r11, r13
jmp 0x140003f6b
and r8d, 0xf
mov dword [r12 + 0xa0], r10d
mov dword [r12 + 0xa4], r8d
mov dword [r12 + 8], 0x3f4b
jmp 0x1400030a8
cmp ebx, r8d
jae 0x140004360
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x140004348
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, r8d
jb 0x140004340
mov ebx, ecx
mov ecx, r8d
mov eax, 0xffffffff
add dword [r12 + 0x23ac], r8d
sub ebx, r8d
shl eax, cl
not eax
and eax, ebp
shr ebp, cl
add dword [r12 + 0xa0], eax
jmp 0x1400030b1
cmp ebx, 0xf
ja 0x1400043c0
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x1400043a8
test esi, esi
je 0x140003e48
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x1400043a0
mov ebx, ecx
test dl, 2
je 0x1400043d1
cmp ebp, 0x8b1f
je 0x140004adb
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400043e2
mov dword [rax + 0x40], 0xffffffff
and edx, 1
je 0x14000476a
mov edx, ebp
mov eax, ebp
shl edx, 8
shr eax, 8
movzx edx, dx
lea ecx, [rdx + rax]
mov rdx, rcx
imul rcx, rcx, 0x8421085
mov eax, edx
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 4
mov ecx, eax
shl ecx, 5
sub ecx, eax
cmp edx, ecx
jne 0x14000476a
mov eax, ebp
and eax, 0xf
cmp eax, 8
je 0x140004b9c
mov dword [r12 + 8], 0x3f51
lea rax, str.unknown_compression_method
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
cmp ebx, 0xf
jbe 0x14000381a
jmp 0x14000384e
test ebp, 0xe000
je 0x14000486b
lea rax, str.unknown_header_flags_set
jmp 0x140003ade
cmp dword [rsp + 0xe8], 6
mov dword [r12 + 0x9c], eax
mov dword [r12 + 8], 0x3f42
je 0x140004d09
xor ebx, ebx
xor ebp, ebp
jmp 0x140003378
mov r10d, 0xfffffffb
jmp 0x140003348
test dl, 0x20
je 0x140004807
mov dword [r12 + 0x23ac], 0xffffffff
mov dword [r12 + 8], 0x3f3f
jmp case.0x140002d90.16191
test r8d, r8d
jne 0x1400048a5
mov eax, dword [r12 + 0x18]
mov r13, qword [0x14001a7e0]
test eax, eax
jne 0x140004537
mov eax, dword [r12 + 0x20]
mov edx, ebp
bswap edx
cmp edx, eax
je 0x140004aa5
mov dword [r12 + 8], 0x3f51
lea rax, str.incorrect_data_check
mov qword [r15 + 0x20], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], eax
jmp case.0x140002d90.16209
mov rcx, qword [r12 + 0x28]
xor ebx, ebx
xor ebp, ebp
test rcx, rcx
je 0x1400036b8
mov edx, 4
xor ebx, ebx
xor ebp, ebp
jmp 0x140003692
mov rcx, r13
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x30], r11
call fcn.14000eb20
lea rcx, [r12 + 0x50]
call qword [rax + 0x40]
mov r9d, dword [r12 + 0x10]
mov r11, qword [rsp + 0x30]
mov dword [r12 + 0x20], eax
mov r10d, dword [rsp + 0x38]
test r9b, 4
mov dword [r15 + 0x4c], eax
mov edx, r9d
je 0x140002eaf
mov r13d, dword [r12 + 0x18]
mov edx, ebp
test r13d, r13d
jne 0x1400044ee
jmp 0x1400044ea
lea rax, str.invalid_block_type
shr ebp, 3
sub ebx, 3
mov rdi, rdx
mov dword [r12 + 8], 0x3f51
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
lea ecx, [rax + 3]
cmp ebx, ecx
jae 0x1400045f2
test esi, esi
je 0x140003e4a
mov r8d, ecx
mov ecx, ebx
mov ebx, r8d
jmp 0x1400045d8
test esi, esi
je 0x140003e48
movzx r8d, byte [rdi]
add rdi, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add ebp, r8d
cmp ecx, ebx
jb 0x1400045d0
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r13d, r13d
shr ebp, cl
sub ebx, 3
mov ecx, ebp
shr ebp, 3
and ecx, 7
add ecx, 3
jmp 0x140003597
mov ebx, ecx
mov rdi, rdx
cmp r8d, 0x12
ja 0x140004664
mov edx, 0x12
mov ecx, r8d
lea rax, [0x140016300]
sub edx, r8d
lea rax, [rax + rcx*2]
add rdx, rcx
lea rcx, [0x140016302]
lea rcx, [rcx + rdx*2]
nop dword [rax]
movzx edx, word [rax]
xor r8d, r8d
add rax, 2
mov word [r12 + rdx*2 + 0xd8], r8w
cmp rcx, rax
jne 0x140004640
mov dword [r12 + 0xcc], 0x13
lea rax, [r12 + 0x598]
xor ecx, ecx
mov dword [r12 + 0xb8], 7
lea rdx, [r12 + 0xd8]
mov qword [r12 + 0xd0], rax
lea r9, [r12 + 0xd0]
mov r8d, 0x13
mov qword [r12 + 0xa8], rax
lea rax, [r12 + 0x358]
mov qword [rsp + 0x28], rax
lea rax, [r12 + 0xb8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], r11
call fcn.140005770
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x140004a6b
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_code_lengths_set
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r11, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x38]
sub r8d, eax
jmp 0x140003248
mov ecx, dword [r12 + 0x20]
mov r8d, r13d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
call fcn.140005e50
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
jmp 0x140003958
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 4
mov qword [rsp + 0x40], r11
mov dword [rsp + 0x7c], ebp
call fcn.140005e50
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
jmp 0x14000375f
mov dword [r12 + 8], 0x3f51
lea rax, str.incorrect_header_check
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov dword [r12 + 0xcc], 0
xor r8d, r8d
mov dword [r12 + 8], 0x3f45
jmp 0x140003409
lea r8d, [rax + 2]
cmp ebx, r8d
jae 0x1400047d8
test esi, esi
je 0x140003e4a
mov ecx, ebx
jmp 0x1400047c0
test esi, esi
je 0x140003e48
movzx ebx, byte [rdi]
add rdi, 1
sub esi, 1
shl ebx, cl
add ecx, 8
add ebp, ebx
cmp ecx, r8d
jb 0x1400047b8
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr ebp, cl
test r10d, r10d
je 0x140004c99
mov ecx, ebp
lea eax, [r10 - 1]
shr ebp, 2
sub ebx, 2
movzx r13d, word [r12 + rax*2 + 0xd8]
and ecx, 3
add ecx, 3
jmp 0x140003597
test dl, 0x40
je 0x140004a52
mov dword [r12 + 8], 0x3f51
lea rax, [0x1400161df]
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov r10d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
jmp 0x140003248
cmp dword [rsp + 0xe8], 6
mov dword [r12 + 8], 0x3f47
jne case.0x140002d90.16199
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
xor r10d, r10d
sub r8d, eax
jmp 0x140003248
mov rdx, rdi
jmp 0x140002fe4
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000487f
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [rdx], eax
test ebp, 0x200
je 0x140004893
test byte [r12 + 0x10], 4
jne 0x140004cdb
mov dword [r12 + 8], 0x3f36
xor ebx, ebx
xor ebp, ebp
jmp 0x14000370d
mov r13, qword [0x14001a7e0]
mov r9, qword [r15 + 0x28]
mov rdx, r11
mov dword [rsp + 0x50], r10d
sub rdx, r8
mov qword [rsp + 0x48], r11
mov rcx, r13
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r9
call fcn.14000eb20
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
mov edx, dword [r9 + 0x18]
test edx, edx
mov rdx, qword [rsp + 0x38]
je 0x140004b46
mov dword [rsp + 0x38], r10d
lea rcx, [r9 + 0x50]
xor r9d, r9d
mov qword [rsp + 0x30], r11
call qword [rax + 0x30]
mov r11, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x38]
mov eax, dword [r12 + 0x18]
test eax, eax
jne 0x140004537
mov r9d, dword [r12 + 0x10]
mov edx, r9d
test r9b, 4
jne 0x1400044e5
jmp 0x140002eaf
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 2
xor ebx, ebx
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
xor ebp, ebp
call fcn.140005e50
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x1400038ac
add edx, eax
mov dword [rsp + 0x48], eax
mov eax, 0xffffffff
mov r13d, r9d
mov ecx, edx
shl eax, cl
mov ecx, r8d
not eax
mov dword [rsp + 0x6c], eax
and eax, ebp
shr eax, cl
mov ecx, dword [rsp + 0x40]
add eax, r9d
mov eax, eax
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
add ecx, eax
cmp ebx, ecx
jae 0x140004a40
test esi, esi
je 0x140003e4a
mov qword [rsp + 0x50], r11
mov r11d, dword [rsp + 0x40]
mov qword [rsp + 0x58], r12
mov r12d, dword [rsp + 0x48]
mov dword [rsp + 0x60], r14d
mov r14d, dword [rsp + 0x6c]
jmp 0x1400049f2
test esi, esi
je 0x140004b77
movzx eax, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl eax, cl
mov ecx, r12d
add ebp, eax
mov eax, r14d
and eax, ebp
shr eax, cl
add eax, r13d
mov eax, eax
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
lea ecx, [rax + r11]
cmp ebx, ecx
jb 0x1400049ea
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
movzx ecx, byte [rsp + 0x48]
shr ebp, cl
mov ecx, dword [rsp + 0x40]
sub ebx, ecx
jmp 0x140003ba2
mov dword [r12 + 8], 0x3f49
and edx, 0xf
mov dword [r12 + 0xa4], edx
jmp 0x140003128
mov r8d, dword [r12 + 0xc4]
mov dword [r12 + 0xcc], 0
mov dword [r12 + 8], 0x3f46
mov eax, r8d
add eax, dword [r12 + 0xc8]
mov dword [rsp + 0x40], eax
je 0x14000410d
xor r10d, r10d
jmp 0x1400034a0
mov edx, r9d
jmp 0x140002eaf
mov eax, dword [rsp + 0x68]
mov qword [r15 + 0x10], r11
mov r10d, 2
mov qword [r15], rdi
mov dword [r15 + 0x18], eax
mov dword [r15 + 8], esi
mov dword [r12 + 0x94], ebp
mov dword [r12 + 0x98], ebx
jmp 0x140003348
mov r13d, dword [r12 + 0x30]
test r13d, r13d
jne 0x140004aee
mov dword [r12 + 0x30], 0xf
mov ebp, 0xffff8b1f
lea rdx, [rsp + 0x7c]
xor ecx, ecx
xor ebx, ebx
mov dword [r12 + 0x20], 0
mov r8d, 2
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
xor ebp, ebp
call fcn.140005e50
mov r11, qword [rsp + 0x40]
mov dword [r12 + 8], 0x3f35
mov dword [r12 + 0x20], eax
jmp 0x140003a95
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x38]
sub r8d, edx
jmp 0x140003248
mov dword [rsp + 0x40], r10d
mov ecx, dword [r9 + 0x20]
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], r9
call qword [rax]
mov r9, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov dword [r9 + 0x20], eax
mov dword [r15 + 0x4c], eax
jmp 0x14000491a
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
mov r10d, dword [rsp + 0x38]
sub r8d, eax
jmp 0x140003248
shr ebp, 4
mov eax, dword [r12 + 0x30]
mov ecx, ebp
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x140004cb2
mov dword [r12 + 0x30], ecx
cmp ecx, 0xf
ja 0x140004cbf
mov dword [r12 + 0x20], 1
mov eax, 1
xor ebx, ebx
shl eax, cl
mov dword [r12 + 0x18], ebx
mov dword [r12 + 0x1c], eax
mov dword [r15 + 0x4c], 1
and ebp, 0x200
jne 0x140004db3
mov dword [r12 + 8], 0x3f3f
xor ebx, ebx
jmp case.0x140002d90.16191
lea rax, [r12 + 0x598]
lea r13, [r12 + 0x358]
mov dword [r12 + 0xb8], 0xa
mov ecx, 1
mov qword [r12 + 0xd0], rax
lea r9, [r12 + 0xd0]
lea rdx, [r12 + 0xd8]
mov qword [r12 + 0xa8], rax
lea rax, [r12 + 0xb8]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], rdx
call fcn.140005770
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
test eax, eax
mov r11, qword [rsp + 0x50]
je 0x140004d3a
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_literal_lengths_set
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_bit_length_repeat
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
cmp ecx, 0xf
ja 0x140004cbf
cmp eax, ecx
jae 0x140004bc2
lea rax, str.invalid_window_size
sub ebx, 4
mov dword [r12 + 8], 0x3f51
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 2
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
call fcn.140005e50
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
jmp 0x140004893
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
xor ebx, ebx
xor ebp, ebp
mov r10d, dword [rsp + 0x38]
sub r8d, eax
jmp 0x140003248
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
xor r10d, r10d
mov rdi, rdx
sub r8d, eax
jmp 0x140003248
mov rax, qword [r12 + 0xd0]
mov ecx, 2
mov qword [rsp + 0x40], r11
mov dword [r12 + 0xbc], 9
mov r8d, dword [r12 + 0xc8]
mov qword [r12 + 0xb0], rax
mov eax, dword [r12 + 0xc4]
mov qword [rsp + 0x28], r13
add rax, rax
add rdx, rax
lea rax, [r12 + 0xbc]
mov qword [rsp + 0x20], rax
call fcn.140005770
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x140004838
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_distances_set
mov qword [r15 + 0x20], rax
jmp case.0x140002d90.16209
mov dword [r12 + 8], 0x3f3d
xor ebp, ebp
xor ebx, ebx
jmp 0x140002d9d
cmp rdx, r13
jae 0x1400042d1
mov r11, r13
jmp 0x140003f6b