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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
movups xmmword [rsp + 0x70], xmm6
mov dword [rsp + 0xd8], edx
mov r13, rcx
test rcx, rcx
je case.default.0x6d436450
cmp qword [rcx + 0x30], 0
je case.default.0x6d436450
cmp qword [rcx + 0x38], 0
je case.default.0x6d436450
mov rbx, qword [rcx + 0x28]
mov r12d, 0xfffffffe
test rbx, rbx
je 0x6d4363a3
cmp rcx, qword [rbx]
jne 0x6d4363a3
mov edx, dword [rbx + 8]
lea eax, [rdx - 0x3f34]
cmp eax, 0x1f
jbe 0x6d4363c0
movups xmm6, xmmword [rsp + 0x70]
mov eax, r12d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [rcx + 0x10]
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x6d4363a3
mov esi, dword [rcx + 8]
mov r15, qword [rcx]
mov dword [rsp + 0x44], esi
test r15, r15
je 0x6d436bb8
cmp edx, 0x3f3f
jne 0x6d4363f5
mov dword [rbx + 8], 0x3f40
mov eax, 0xc
mov ecx, dword [r13 + 0x18]
mov r8d, dword [rsp + 0xd8]
lea r9, [0x6d475080]
lea r10, [0x6d487d80]
mov r11d, dword [rbx + 0x48]
movq xmm6, r10
movq xmm0, r9
mov ebp, dword [rbx + 0x4c]
sub r8d, 5
mov dword [rsp + 0x48], ecx
mov r14d, dword [rsp + 0x44]
punpcklqdq xmm6, xmm0
mov dword [rsp + 0x4c], r8d
mov esi, r11d
mov dword [rsp + 0x40], ecx
cmp eax, 0x1e
ja case.default.0x6d436450
lea r12, [0x6d452d34]
movsxd rax, dword [r12 + rax*4]
add rax, r12
jmp rax
mov r12d, 0xfffffffe
jmp 0x6d4363a3
mov eax, dword [rbx + 0x10]
test eax, eax
jne 0x6d438e4e
mov dword [rbx + 8], 0x3f40
mov r12d, dword [rbx + 0xc]
test r12d, r12d
je 0x6d437760
mov ecx, ebp
mov dword [rbx + 8], 0x3f4e
mov r11d, esi
and ebp, 0xfffffff8
and ecx, 7
shr r11d, cl
mov esi, dword [rbx + 0x10]
test esi, esi
je 0x6d436588
cmp ebp, 0x1f
ja 0x6d43a273
test r14d, r14d
je 0x6d436a73
movzx r10d, byte [r15]
mov ecx, ebp
lea r8d, [r14 - 1]
lea r12, [r15 + 1]
shl r10d, cl
lea ecx, [rbp + 8]
add r11d, r10d
cmp ecx, 0x1f
ja 0x6d439e00
test r8d, r8d
je 0x6d439e19
movzx edx, byte [r15 + 1]
lea r8d, [r14 - 2]
lea r12, [r15 + 2]
shl edx, cl
lea ecx, [rbp + 0x10]
add r11d, edx
cmp ecx, 0x1f
ja 0x6d439e00
test r8d, r8d
je 0x6d439e19
movzx r9d, byte [r15 + 2]
lea r8d, [r14 - 3]
lea r12, [r15 + 3]
shl r9d, cl
lea ecx, [rbp + 0x18]
add r11d, r9d
cmp ecx, 0x1f
ja 0x6d439e00
test r8d, r8d
je 0x6d439e19
lea r12, [r15 + 4]
movzx r15d, byte [r15 + 3]
sub r14d, 4
add ebp, 0x20
shl r15d, cl
add r11d, r15d
mov r8d, dword [rsp + 0x48]
mov r10d, esi
sub r8d, dword [rsp + 0x40]
and r10d, 4
add dword [r13 + 0x1c], r8d
add dword [rbx + 0x24], r8d
test r8d, r8d
je 0x6d439412
test r10d, r10d
jne 0x6d4393d9
mov ebp, dword [rsp + 0x40]
mov r15, r12
xor r11d, r11d
mov dword [rsp + 0x48], ebp
xor ebp, ebp
nop word [rax + rax]
mov dword [rbx + 8], 0x3f4f
jmp 0x6d436f56
mov dword [rbx + 0x1be4], eax
shr esi, cl
sub ebp, eax
mov dword [rbx + 0x50], r12d
mov dword [rbx + 8], 0x3f4d
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x6d439e0a
mov rdi, qword [rsp + 0x38]
mov r9d, dword [rbx + 0x50]
sub edx, 1
mov dword [rsp + 0x40], edx
lea r12, [rdi + 1]
mov byte [rdi], r9b
mov qword [rsp + 0x38], r12
mov dword [rbx + 8], 0x3f48
cmp r14d, 5
jbe 0x6d437980
mov r12d, dword [rsp + 0x40]
cmp r12d, 0x101
jbe 0x6d437980
mov r11, qword [rsp + 0x38]
mov edx, dword [rsp + 0x48]
mov qword [r13], r15
mov rcx, r13
mov dword [r13 + 8], r14d
mov qword [r13 + 0x10], r11
mov dword [r13 + 0x18], r12d
mov dword [rbx + 0x48], esi
mov dword [rbx + 0x4c], ebp
call fcn.6d43b740
mov rbp, qword [r13 + 0x10]
mov r14d, dword [r13 + 0x18]
mov eax, dword [rbx + 8]
mov r15, qword [r13]
mov qword [rsp + 0x38], rbp
mov esi, dword [rbx + 0x48]
mov dword [rsp + 0x40], r14d
mov ebp, dword [rbx + 0x4c]
mov r14d, dword [r13 + 8]
cmp eax, 0x3f3f
je 0x6d438bc0
sub eax, 0x3f34
jmp 0x6d43643d
movabs rdi, 0x500000009
cmp dword [rsp + 0xd8], 6
mov dword [rbx + 8], 0x3f47
mov qword [rbx + 0x70], rdi
movups xmmword [rbx + 0x60], xmm6
je 0x6d43a451
shr esi, 3
sub ebp, 3
mov r15, r10
nop dword [rax + rax]
mov dword [rbx + 8], 0x3f48
jmp case.0x6d436450.20
mov r8d, dword [rbx + 0x58]
test r8d, r8d
jne 0x6d438bd0
mov dword [rbx + 8], 0x3f4c
mov r8d, dword [rsp + 0x40]
test r8d, r8d
je 0x6d439e0a
mov r12d, dword [rsp + 0x48]
mov r10d, dword [rbx + 0x54]
mov edx, r12d
sub edx, r8d
cmp r10d, edx
jbe 0x6d438660
add r10d, r8d
mov edx, r10d
sub edx, r12d
cmp dword [rbx + 0x38], edx
jae 0x6d437b90
mov r11d, dword [rbx + 0x1be0]
test r11d, r11d
je 0x6d437b90
mov r11d, esi
lea rsi, [0x6d452ce9]
mov qword [r13 + 0x20], rsi
mov dword [rbx + 8], 0x3f51
mov esi, dword [rsp + 0x48]
mov r12d, 0xfffffffd
sub esi, dword [rsp + 0x40]
jmp 0x6d436a7e
mov edx, dword [rbx + 0x58]
test edx, edx
jne 0x6d4386c0
mov r9d, dword [rbx + 0x50]
mov dword [rbx + 0x1be8], r9d
mov dword [rbx + 8], 0x3f4a
mov ecx, dword [rbx + 0x74]
mov r9d, 0xffffffff
mov r12, qword [rbx + 0x68]
shl r9d, cl
not r9d
mov edx, r9d
and edx, esi
lea r10, [r12 + rdx*4]
movzx edx, byte [r10 + 1]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx eax, dl
mov r10d, eax
cmp ebp, eax
jae 0x6d438327
test r14d, r14d
je 0x6d436a70
mov eax, r14d
lea r8d, [r14 - 1]
and eax, 3
je 0x6d43684f
cmp eax, 1
je 0x6d43680b
cmp eax, 2
je 0x6d4367d2
movzx edi, byte [r15]
mov ecx, ebp
mov r11d, r9d
add ebp, 8
mov r14d, r8d
add r15, 1
shl edi, cl
add esi, edi
and r11d, esi
lea r10, [r12 + r11*4]
movzx edx, byte [r10 + 1]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx eax, dl
mov r10d, eax
cmp eax, ebp
jbe 0x6d438327
movzx edx, byte [r15]
mov ecx, ebp
mov r8d, r9d
add ebp, 8
add r15, 1
sub r14d, 1
shl edx, cl
add esi, edx
and r8d, esi
lea rax, [r12 + r8*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx edi, word [rax + 2]
movzx eax, dl
mov r10d, eax
cmp eax, ebp
jbe 0x6d438327
movzx edi, byte [r15]
mov ecx, ebp
mov r11d, r9d
add ebp, 8
add r15, 1
sub r14d, 1
shl edi, cl
add esi, edi
and r11d, esi
lea r10, [r12 + r11*4]
movzx edx, byte [r10 + 1]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx eax, dl
mov r10d, eax
cmp eax, ebp
jbe 0x6d438327
test r14d, r14d
je 0x6d436a70
mov qword [rsp + 0x50], rbx
mov ecx, ebp
movzx ebx, byte [r15]
mov edx, r9d
lea r11, [r15 + 1]
lea ebp, [r14 - 1]
mov r14d, ebp
mov r15, r11
shl ebx, cl
add esi, ebx
lea ebx, [rcx + 8]
and edx, esi
mov ecx, ebx
lea rax, [r12 + rdx*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx edi, word [rax + 2]
movzx eax, dl
mov r10d, eax
cmp eax, ebx
jbe 0x6d438320
movzx r8d, byte [r15]
mov edi, r9d
add r15, 1
sub r14d, 1
shl r8d, cl
add ecx, 8
add esi, r8d
and edi, esi
lea r10, [r12 + rdi*4]
movzx edx, byte [r10 + 1]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx eax, dl
mov r10d, eax
cmp eax, ecx
jbe 0x6d438320
movzx edx, byte [r11 + 1]
mov eax, r9d
lea r14d, [rbp - 2]
lea r15, [r11 + 2]
shl edx, cl
lea ecx, [rbx + 0x10]
add esi, edx
and eax, esi
lea rdi, [r12 + rax*4]
movzx edx, byte [rdi + 1]
movzx r8d, byte [rdi]
movzx edi, word [rdi + 2]
movzx eax, dl
mov r10d, eax
cmp eax, ecx
jbe 0x6d438320
lea r14d, [rbp - 3]
movzx ebp, byte [r11 + 2]
lea r15, [r11 + 3]
mov r11d, r9d
shl ebp, cl
lea ecx, [rbx + 0x18]
add esi, ebp
and r11d, esi
lea rbx, [r12 + r11*4]
movzx edx, byte [rbx + 1]
movzx r8d, byte [rbx]
movzx edi, word [rbx + 2]
movzx eax, dl
mov r10d, eax
cmp eax, ecx
jbe 0x6d438320
test r14d, r14d
jne 0x6d436856
mov rbx, qword [rsp + 0x50]
mov r11d, esi
mov ebp, ecx
jmp 0x6d436a73
cmp ebp, 0x1f
ja 0x6d43a0c8
test r14d, r14d
je 0x6d436a70
movzx edi, byte [r15]
mov ecx, ebp
lea r9d, [r14 - 1]
lea r8, [r15 + 1]
shl edi, cl
lea ecx, [rbp + 8]
add esi, edi
cmp ecx, 0x1f
ja 0x6d4394c4
test r9d, r9d
je 0x6d439b41
movzx r11d, byte [r15 + 1]
lea r9d, [r14 - 2]
lea r8, [r15 + 2]
shl r11d, cl
lea ecx, [rbp + 0x10]
add esi, r11d
cmp ecx, 0x1f
ja 0x6d4394c4
test r9d, r9d
je 0x6d439b41
movzx edx, byte [r15 + 2]
add ebp, 0x18
lea r9d, [r14 - 3]
lea r8, [r15 + 3]
shl edx, cl
add esi, edx
cmp ebp, 0x1f
ja 0x6d4394c4
test r9d, r9d
je 0x6d43a1c9
lea r8, [r15 + 4]
movzx r15d, byte [r15 + 3]
mov ecx, ebp
sub r14d, 4
shl r15d, cl
add esi, r15d
mov eax, esi
mov r12d, esi
mov r10d, esi
shl esi, 8
shr eax, 0x18
shl r12d, 0x18
and esi, 0xff0000
mov r15, r8
shr r10d, 8
add r12d, eax
and r10d, 0xff00
lea ebp, [r12 + r10]
lea esi, [rbp + rsi]
xor ebp, ebp
mov dword [rbx + 0x20], esi
mov dword [r13 + 0x4c], esi
xor esi, esi
mov dword [rbx + 8], 0x3f3e
mov edi, dword [rbx + 0x14]
test edi, edi
je 0x6d43a248
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.6d4325b0
mov dword [rbx + 0x20], eax
mov dword [r13 + 0x4c], eax
mov dword [rbx + 8], 0x3f3f
cmp dword [rsp + 0x4c], 1
ja case.0x6d436450.12
nop word [rax + rax]
mov r11d, esi
mov esi, dword [rsp + 0x48]
xor r12d, r12d
sub esi, dword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
mov eax, dword [rsp + 0x40]
mov qword [r13], r15
mov dword [r13 + 8], r14d
mov qword [r13 + 0x10], r10
mov dword [r13 + 0x18], eax
mov dword [rbx + 0x48], r11d
mov r11d, dword [rbx + 0x34]
mov dword [rbx + 0x4c], ebp
test r11d, r11d
jne 0x6d436ad0
cmp dword [rsp + 0x48], eax
je 0x6d436b38
mov ebp, dword [rbx + 8]
cmp ebp, 0x3f50
ja 0x6d436b38
cmp dword [rsp + 0xd8], 4
jne 0x6d436ad0
cmp ebp, 0x3f4d
ja 0x6d436b38
nop
mov r15, qword [r13 + 0x28]
mov r14, qword [r15 + 0x40]
test r14, r14
je 0x6d436c70
mov r8d, dword [r15 + 0x34]
test r8d, r8d
jne 0x6d436b03
mov ecx, dword [r15 + 0x30]
mov r8d, 1
mov qword [r15 + 0x38], 0
shl r8d, cl
mov dword [r15 + 0x34], r8d
cmp esi, r8d
jb 0x6d436c00
mov rdx, qword [rsp + 0x38]
mov rcx, r14
sub rdx, r8
call sub.msvcrt.dll_memcpy
mov dword [r15 + 0x3c], 0
mov eax, dword [r15 + 0x34]
mov r14d, dword [r13 + 8]
mov esi, dword [rsp + 0x48]
sub esi, dword [r13 + 0x18]
mov dword [r15 + 0x38], eax
mov r15d, dword [rsp + 0x44]
add dword [r13 + 0x1c], esi
sub r15d, r14d
add dword [r13 + 0xc], r15d
add dword [rbx + 0x24], esi
test byte [rbx + 0x10], 4
je 0x6d436b55
test esi, esi
jne 0x6d436bd0
mov ecx, dword [rbx + 0xc]
mov r14d, dword [rbx + 0x4c]
test ecx, ecx
je 0x6d436b64
add r14d, 0x40
mov ebx, dword [rbx + 8]
cmp ebx, 0x3f3f
je 0x6d436bc8
cmp ebx, 0x3f47
je 0x6d436b7f
cmp ebx, 0x3f42
jne 0x6d436b86
add r14d, 0x100
or r15d, esi
mov dword [r13 + 0x48], r14d
je 0x6d436b9d
cmp dword [rsp + 0xd8], 4
jne 0x6d4363a3
test r12d, r12d
jne 0x6d4363a3
mov r12d, 0xfffffffb
jmp 0x6d4363a3
test esi, esi
je 0x6d4363e1
jmp 0x6d4363a3
sub r14d, 0xffffff80
jmp 0x6d436b86
mov rdx, qword [r13 + 0x10]
mov ebp, dword [rbx + 0x18]
mov r11d, esi
mov r8d, esi
mov ecx, dword [rbx + 0x20]
sub rdx, r11
test ebp, ebp
je 0x6d436cb0
call fcn.6d432e10
mov dword [rbx + 0x20], eax
mov dword [r13 + 0x4c], eax
jmp 0x6d436b55
mov ecx, dword [r15 + 0x3c]
mov rdx, qword [rsp + 0x38]
sub r8d, ecx
cmp r8d, esi
cmova r8d, esi
add rcx, r14
mov edi, r8d
mov r8d, esi
sub rdx, r8
mov r8d, edi
call sub.msvcrt.dll_memcpy
sub esi, edi
jne 0x6d438120
mov r9d, dword [r15 + 0x3c]
mov edx, dword [r15 + 0x34]
mov r10d, dword [r15 + 0x38]
mov r14d, dword [r13 + 8]
add r9d, edi
cmp r9d, edx
cmove r9d, esi
mov esi, dword [rsp + 0x48]
sub esi, dword [r13 + 0x18]
mov dword [r15 + 0x3c], r9d
cmp edx, r10d
jbe 0x6d436b38
add edi, r10d
mov dword [r15 + 0x38], edi
jmp 0x6d436b38
mov ecx, dword [r15 + 0x30]
mov edx, 1
mov r8d, 1
shl edx, cl
mov rcx, qword [r13 + 0x40]
call qword [r13 + 0x30]
mov qword [r15 + 0x40], rax
mov r14, rax
test rax, rax
jne 0x6d436ae1
mov dword [rbx + 8], 0x3f52
mov r12d, 0xfffffffc
jmp 0x6d4363a3
call fcn.6d4325b0
jmp 0x6d436bf0
mov edx, dword [rbx + 0x84]
mov dword [rsp + 0x50], edx
mov edx, dword [rbx + 0x7c]
mov dword [rsp + 0x5c], edx
add edx, dword [rbx + 0x80]
mov dword [rsp + 0x58], edx
cmp edx, dword [rsp + 0x50]
jbe 0x6d4383ac
mov ecx, dword [rbx + 0x70]
mov edx, 0xffffffff
mov r8, qword [rbx + 0x60]
shl edx, cl
not edx
mov r10d, esi
and r10d, edx
lea r9, [r8 + r10*4]
movzx ecx, byte [r9 + 1]
movzx r11d, word [r9 + 2]
movzx eax, cl
cmp eax, ebp
jbe 0x6d438375
test r14d, r14d
je 0x6d436a70
mov r12d, r14d
lea edi, [r14 - 1]
and r12d, 3
je 0x6d436de0
cmp r12d, 1
je 0x6d436da3
cmp r12d, 2
je 0x6d436d6d
movzx eax, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
mov r14d, edi
shl eax, cl
add esi, eax
mov r11d, esi
and r11d, edx
lea r10, [r8 + r11*4]
movzx ecx, byte [r10 + 1]
movzx r11d, word [r10 + 2]
movzx eax, cl
cmp eax, ebp
jbe 0x6d438375
movzx r9d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r9d, cl
add esi, r9d
mov edi, esi
and edi, edx
lea r12, [r8 + rdi*4]
movzx ecx, byte [r12 + 1]
movzx r11d, word [r12 + 2]
movzx eax, cl
cmp eax, ebp
jbe 0x6d438375
movzx eax, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl eax, cl
add esi, eax
mov r11d, esi
and r11d, edx
lea r10, [r8 + r11*4]
movzx ecx, byte [r10 + 1]
movzx r11d, word [r10 + 2]
movzx eax, cl
cmp eax, ebp
jbe 0x6d438375
test r14d, r14d
je 0x6d436a70
mov ecx, ebp
movzx ebp, byte [r15]
lea r12, [r15 + 1]
lea edi, [r14 - 1]
mov r14d, edi
mov r15, r12
shl ebp, cl
add esi, ebp
lea ebp, [rcx + 8]
mov r9d, esi
mov ecx, ebp
and r9d, edx
lea rax, [r8 + r9*4]
movzx r9d, byte [rax + 1]
movzx r11d, word [rax + 2]
movzx eax, r9b
cmp eax, ebp
jbe 0x6d438372
movzx r11d, byte [r15]
add r15, 1
sub r14d, 1
shl r11d, cl
add ecx, 8
add esi, r11d
mov r10d, esi
and r10d, edx
lea rax, [r8 + r10*4]
movzx r9d, byte [rax + 1]
movzx r11d, word [rax + 2]
movzx eax, r9b
cmp eax, ecx
jbe 0x6d438370
movzx r9d, byte [r12 + 1]
lea r14d, [rdi - 2]
lea r15, [r12 + 2]
shl r9d, cl
lea ecx, [rbp + 0x10]
add esi, r9d
mov r11d, esi
and r11d, edx
lea r10, [r8 + r11*4]
movzx r9d, byte [r10 + 1]
movzx r11d, word [r10 + 2]
movzx eax, r9b
cmp eax, ecx
jbe 0x6d438370
lea r14d, [rdi - 3]
movzx edi, byte [r12 + 2]
lea r15, [r12 + 3]
shl edi, cl
lea ecx, [rbp + 0x18]
add esi, edi
mov r12d, esi
and r12d, edx
lea rbp, [r8 + r12*4]
movzx r9d, byte [rbp + 1]
movzx r11d, word [rbp + 2]
movzx eax, r9b
cmp eax, ecx
jbe 0x6d438370
test r14d, r14d
jne 0x6d436de2
nop dword [rax]
mov r11d, esi
mov ebp, ecx
jmp 0x6d436a73
mov r9d, dword [rbx + 0x50]
mov dword [rbx + 8], 0x3f43
test r9d, r9d
je 0x6d436a55
cmp r14d, r9d
mov r12d, dword [rsp + 0x40]
cmovbe r9d, r14d
cmp r9d, r12d
cmova r9d, r12d
mov edi, r9d
test r9d, r9d
je 0x6d43a27b
mov r12d, r9d
mov rcx, qword [rsp + 0x38]
mov rdx, r15
sub r14d, edi
mov r8, r12
add r15, r12
call sub.msvcrt.dll_memcpy
sub dword [rsp + 0x40], edi
mov eax, dword [rbx + 8]
add qword [rsp + 0x38], r12
sub dword [rbx + 0x50], edi
jmp 0x6d436649
mov r9d, dword [rbx + 0x50]
jmp 0x6d436eeb
mov r11d, esi
mov esi, dword [rbx + 0x10]
test esi, esi
je 0x6d439b7b
mov r12d, dword [rbx + 0x18]
test r12d, r12d
je 0x6d439b7b
cmp ebp, 0x1f
ja 0x6d439b6b
test r14d, r14d
je 0x6d436a73
movzx edi, byte [r15]
mov ecx, ebp
lea r10d, [r14 - 1]
lea rax, [r15 + 1]
shl edi, cl
lea ecx, [rbp + 8]
add r11d, edi
cmp ecx, 0x1f
ja 0x6d43932e
test r10d, r10d
je 0x6d439373
movzx esi, byte [r15 + 1]
lea r10d, [r14 - 2]
lea rax, [r15 + 2]
shl esi, cl
lea ecx, [rbp + 0x10]
add r11d, esi
cmp ecx, 0x1f
ja 0x6d43932e
test r10d, r10d
je 0x6d439373
movzx edx, byte [r15 + 2]
lea r10d, [r14 - 3]
lea rax, [r15 + 3]
shl edx, cl
lea ecx, [rbp + 0x18]
add r11d, edx
cmp ecx, 0x1f
ja 0x6d43932e
test r10d, r10d
je 0x6d439373
movzx r8d, byte [r15 + 3]
sub r14d, 4
lea rax, [r15 + 4]
add ebp, 0x20
shl r8d, cl
add r11d, r8d
cmp dword [rbx + 0x24], r11d
je 0x6d439b73
lea r9, str.incorrect_length_check
mov r15, rax
mov qword [r13 + 0x20], r9
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov r8d, dword [rbx + 0x84]
mov edi, dword [rbx + 0x78]
cmp r8d, edi
jae 0x6d4398d0
mov ecx, ebp
lea r12, [0x6d48a6c0]
cmp ecx, 2
ja 0x6d4370a5
test r14d, r14d
je 0x6d439b0d
movzx ebp, byte [r15]
sub r14d, 1
lea rdx, [r15 + 1]
shl ebp, cl
add ecx, 8
add esi, ebp
mov r11d, esi
movzx r9d, word [r12 + r8*2]
lea eax, [r8 + 1]
shr esi, 3
and r11d, 7
mov dword [rbx + 0x84], eax
sub ecx, 3
mov word [rbx + r9*2 + 0x90], r11w
cmp eax, edi
jae 0x6d4398c8
mov r15, rdx
mov r8d, eax
cmp ecx, 2
jbe 0x6d437051
mov rdx, r15
jmp 0x6d43706d
mov r8d, dword [rbx + 0x18]
nop dword [rax]
test r8d, 0x200
jne 0x6d437ea8
mov rdx, qword [rbx + 0x28]
test rdx, rdx
je 0x6d4370e1
sar r8d, 9
mov dword [rdx + 0x40], 1
and r8d, 1
mov dword [rdx + 0x3c], r8d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.6d432e10
mov dword [rbx + 0x20], eax
mov dword [r13 + 0x4c], eax
mov dword [rbx + 8], 0x3f3f
jmp case.0x6d436450.11
cmp ebp, 0x1f
ja 0x6d43868d
test r14d, r14d
je 0x6d436a70
mov eax, 0x1f
sub eax, ebp
shr eax, 3
and eax, 7
je 0x6d437222
movzx r11d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r11d, cl
add esi, r11d
cmp ebp, 0x1f
ja 0x6d43868d
test r14d, r14d
je 0x6d436a70
cmp eax, 1
je 0x6d437222
cmp eax, 2
je 0x6d437207
cmp eax, 3
je 0x6d4371ea
cmp eax, 4
je 0x6d4371cd
cmp eax, 5
je 0x6d4371b2
cmp eax, 6
je 0x6d437195
movzx r8d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r8d, cl
add esi, r8d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx edi, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edi, cl
add esi, edi
sub r14d, 1
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
movzx r12d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r12d, cl
add esi, r12d
sub r14d, 1
je 0x6d436a70
movzx edx, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edx, cl
add esi, edx
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx r11d, byte [r15]
lea rax, [r15 + 1]
lea ebp, [r14 - 1]
lea r8d, [rcx + 8]
mov r14d, ebp
mov r15, rax
shl r11d, cl
mov ecx, r8d
add esi, r11d
cmp r8d, 0x1f
ja 0x6d43868d
test r14d, r14d
je 0x6d436ed0
movzx r12d, byte [r15]
add r15, 1
shl r12d, cl
add ecx, 8
add esi, r12d
sub r14d, 1
je 0x6d436ed0
movzx r10d, byte [rax + 1]
mov r14d, ebp
lea r15, [rax + 2]
shl r10d, cl
lea ecx, [r8 + 0x10]
add esi, r10d
sub r14d, 2
je 0x6d436ed0
movzx r14d, byte [rax + 2]
lea r15, [rax + 3]
shl r14d, cl
lea ecx, [r8 + 0x18]
add esi, r14d
mov r14d, ebp
sub r14d, 3
je 0x6d436ed0
movzx r11d, byte [rax + 3]
mov r14d, ebp
lea r15, [rax + 4]
shl r11d, cl
lea ecx, [r8 + 0x20]
add esi, r11d
sub r14d, 4
je 0x6d436ed0
movzx r9d, byte [rax + 4]
mov r14d, ebp
lea r15, [rax + 5]
shl r9d, cl
lea ecx, [r8 + 0x28]
add esi, r9d
sub r14d, 5
je 0x6d436ed0
movzx edx, byte [rax + 5]
mov r14d, ebp
lea r15, [rax + 6]
shl edx, cl
lea ecx, [r8 + 0x30]
add esi, edx
sub r14d, 6
je 0x6d436ed0
lea r15, [rax + 7]
movzx eax, byte [rax + 6]
shl eax, cl
lea ecx, [r8 + 0x38]
add esi, eax
sub ebp, 7
mov r14d, ebp
jne 0x6d437224
jmp 0x6d436ed0
cmp ebp, 0xf
ja 0x6d4383e8
test r14d, r14d
je 0x6d436a70
mov edi, 0xf
sub edi, ebp
shr edi, 3
and edi, 7
je 0x6d43744e
movzx r10d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r10d, cl
add esi, r10d
cmp ebp, 0xf
ja 0x6d4383e8
test r14d, r14d
je 0x6d436a70
cmp edi, 1
je 0x6d43744e
cmp edi, 2
je 0x6d437431
cmp edi, 3
je 0x6d437414
cmp edi, 4
je 0x6d4373f7
cmp edi, 5
je 0x6d4373dc
cmp edi, 6
je 0x6d4373c1
movzx r12d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r12d, cl
add esi, r12d
sub r14d, 1
je 0x6d436a70
movzx edx, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edx, cl
add esi, edx
sub r14d, 1
je 0x6d436a70
movzx eax, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl eax, cl
add esi, eax
sub r14d, 1
je 0x6d436a70
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx r8d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r8d, cl
add esi, r8d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx r10d, byte [r15]
lea rdi, [r15 + 1]
lea ebp, [r14 - 1]
lea r12d, [rcx + 8]
mov r14d, ebp
mov r15, rdi
shl r10d, cl
mov ecx, r12d
add esi, r10d
cmp r12d, 0xf
ja 0x6d4383e8
test r14d, r14d
je 0x6d436ed0
movzx eax, byte [r15]
add r15, 1
shl eax, cl
add ecx, 8
add esi, eax
sub r14d, 1
je 0x6d436ed0
movzx r10d, byte [rdi + 1]
mov r14d, ebp
lea r15, [rdi + 2]
shl r10d, cl
lea ecx, [r12 + 0x10]
add esi, r10d
sub r14d, 2
je 0x6d436ed0
movzx r14d, byte [rdi + 2]
lea r15, [rdi + 3]
shl r14d, cl
lea ecx, [r12 + 0x18]
add esi, r14d
mov r14d, ebp
sub r14d, 3
je 0x6d436ed0
movzx r11d, byte [rdi + 3]
mov r14d, ebp
lea r15, [rdi + 4]
shl r11d, cl
lea ecx, [r12 + 0x20]
add esi, r11d
sub r14d, 4
je 0x6d436ed0
movzx r9d, byte [rdi + 4]
mov r14d, ebp
lea r15, [rdi + 5]
shl r9d, cl
lea ecx, [r12 + 0x28]
add esi, r9d
sub r14d, 5
je 0x6d436ed0
movzx edx, byte [rdi + 5]
mov r14d, ebp
lea r15, [rdi + 6]
shl edx, cl
lea ecx, [r12 + 0x30]
add esi, edx
sub r14d, 6
je 0x6d436ed0
lea r15, [rdi + 7]
movzx edi, byte [rdi + 6]
shl edi, cl
lea ecx, [r12 + 0x38]
add esi, edi
sub ebp, 7
mov r14d, ebp
jne 0x6d437450
jmp 0x6d436ed0
mov r11d, esi
mov r12d, 1
mov esi, dword [rsp + 0x48]
sub esi, dword [rsp + 0x40]
jmp 0x6d436a7e
mov r8d, dword [rbx + 0x18]
mov ecx, r8d
and ecx, 0x400
test ecx, ecx
je 0x6d437616
mov eax, dword [rbx + 0x50]
cmp r14d, eax
mov edi, eax
cmovbe edi, r14d
test edi, edi
je 0x6d43760a
mov r11, qword [rbx + 0x28]
mov r12d, edi
test r11, r11
je 0x6d4375e9
mov rdx, qword [r11 + 0x10]
test rdx, rdx
je 0x6d4375e9
mov r10d, dword [r11 + 0x18]
mov r9d, dword [r11 + 0x1c]
mov r8, r12
mov ecx, r10d
sub ecx, eax
lea r11d, [rdi + rcx]
cmp r11d, r9d
jbe 0x6d4375da
lea r8d, [r9 + rax]
sub r8d, r10d
add rcx, rdx
mov rdx, r15
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbx + 0x18]
and r8d, 0x200
je 0x6d4375fc
test byte [rbx + 0x10], 4
jne 0x6d439ad4
mov eax, dword [rbx + 0x50]
sub r14d, edi
add r15, r12
sub eax, edi
mov dword [rbx + 0x50], eax
test eax, eax
jne 0x6d436a70
mov r8d, dword [rbx + 0x18]
mov dword [rbx + 0x50], 0
mov dword [rbx + 8], 0x3f3a
test r8d, 0x800
jne 0x6d438140
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x6d437642
mov qword [rcx + 0x20], 0
mov dword [rbx + 0x50], 0
mov dword [rbx + 8], 0x3f3b
test r8d, 0x1000
jne 0x6d437f30
mov r11, qword [rbx + 0x28]
test r11, r11
je 0x6d43766e
mov qword [r11 + 0x30], 0
mov dword [rbx + 8], 0x3f3c
jmp 0x6d4370b8
mov r8d, dword [rbx + 0x18]
jmp 0x6d437624
mov r8d, dword [rbx + 0x18]
jmp 0x6d437650
mov eax, dword [rbx + 0x18]
mov r8d, eax
test ah, 4
jne 0x6d438e13
mov r9, qword [rbx + 0x28]
xor ecx, ecx
test r9, r9
je 0x6d4376c2
mov qword [r9 + 0x10], 0
mov dword [rbx + 8], 0x3f39
jmp 0x6d43758d
mov r12d, 0xfffffffc
jmp 0x6d4363a3
cmp ebp, 0xf
ja 0x6d43a0b0
test r14d, r14d
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
lea r9d, [r14 - 1]
lea rdi, [r15 + 1]
shl r10d, cl
lea ecx, [rbp + 8]
add esi, r10d
cmp ecx, 0xf
ja 0x6d43a0ea
test r9d, r9d
je 0x6d438672
movzx r12d, byte [r15 + 1]
sub r14d, 2
lea rdi, [r15 + 2]
add ebp, 0x10
shl r12d, cl
add esi, r12d
mov dword [rbx + 0x18], esi
cmp sil, 8
je 0x6d43938b
lea rdx, str.unknown_compression_method
mov r11d, esi
mov r15, rdi
mov qword [r13 + 0x20], rdx
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
cmp ebp, 2
ja 0x6d43a0d0
test r14d, r14d
je 0x6d43a109
movzx eax, byte [r15]
mov ecx, ebp
sub r14d, 1
lea r10, [r15 + 1]
add ebp, 8
shl eax, cl
add esi, eax
mov r11d, esi
mov edi, esi
shr r11d, 1
and edi, 1
and r11d, 3
mov dword [rbx + 0xc], edi
cmp r11d, 2
je 0x6d4378ae
cmp r11d, 3
je 0x6d4394fa
cmp r11d, 1
je 0x6d436653
mov dword [rbx + 8], 0x3f41
shr esi, 3
sub ebp, 3
mov r15, r10
nop word [rax + rax]
mov ecx, ebp
and ebp, 0xfffffff8
and ecx, 7
shr esi, cl
cmp ebp, 0x1f
ja 0x6d43a0b8
test r14d, r14d
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
lea r8d, [r14 - 1]
lea rdx, [r15 + 1]
shl r10d, cl
lea ecx, [rbp + 8]
add esi, r10d
cmp ecx, 0x1f
ja 0x6d439494
test r8d, r8d
je 0x6d4394ed
movzx eax, byte [r15 + 1]
lea r8d, [r14 - 2]
lea rdx, [r15 + 2]
shl eax, cl
lea ecx, [rbp + 0x10]
add esi, eax
cmp ecx, 0x1f
ja 0x6d439494
test r8d, r8d
je 0x6d4394ed
movzx r11d, byte [r15 + 2]
lea r8d, [r14 - 3]
lea rdx, [r15 + 3]
shl r11d, cl
lea ecx, [rbp + 0x18]
add esi, r11d
cmp ecx, 0x1f
ja 0x6d439494
test r8d, r8d
je 0x6d4394ed
lea rdx, [r15 + 4]
movzx r15d, byte [r15 + 3]
sub r14d, 4
add ebp, 0x20
shl r15d, cl
add esi, r15d
mov edi, esi
movzx r9d, si
shr edi, 0x10
xor edi, 0xffff
cmp r9d, edi
je 0x6d4393b4
mov r11d, esi
lea rsi, str.invalid_stored_block_lengths
mov r15, rdx
mov qword [r13 + 0x20], rsi
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov dword [rbx + 8], 0x3f44
shr esi, 3
sub ebp, 3
mov r15, r10
nop
cmp ebp, 0xd
ja 0x6d43a0c0
test r14d, r14d
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
lea r12d, [r14 - 1]
lea rdx, [r15 + 1]
shl r9d, cl
lea ecx, [rbp + 8]
add esi, r9d
cmp ecx, 0xd
ja 0x6d43a152
test r12d, r12d
je 0x6d438103
movzx r8d, byte [r15 + 1]
sub r14d, 2
lea rdx, [r15 + 2]
add ebp, 0x10
shl r8d, cl
add esi, r8d
mov r10d, esi
mov edi, esi
mov r15d, esi
sub ebp, 0xe
shr r10d, 5
shr edi, 0xa
and r15d, 0x1f
and r10d, 0x1f
and edi, 0xf
add r15d, 0x101
shr esi, 0xe
add r10d, 1
add edi, 4
mov dword [rbx + 0x7c], r15d
mov dword [rbx + 0x80], r10d
mov dword [rbx + 0x78], edi
cmp r10d, 0x1e
ja 0x6d437960
cmp r15d, 0x11e
jbe 0x6d439ba7
lea r15, str.too_many_length_or_distance_symbols
mov r11d, esi
mov qword [r13 + 0x20], r15
mov r15, rdx
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov ecx, dword [rbx + 0x70]
mov r9d, 0xffffffff
mov r8, qword [rbx + 0x60]
mov r10d, esi
mov dword [rbx + 0x1be4], 0
shl r9d, cl
not r9d
and r10d, r9d
lea rax, [r8 + r10*4]
movzx ecx, byte [rax + 1]
movzx edx, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, cl
cmp ebp, eax
jae 0x6d438909
test r14d, r14d
je 0x6d436a70
mov edi, r14d
lea edx, [r14 - 1]
and edi, 3
je 0x6d437a92
cmp edi, 1
je 0x6d437a4f
cmp edi, 2
je 0x6d437a1a
movzx r12d, byte [r15]
mov ecx, ebp
add ebp, 8
mov r14d, edx
add r15, 1
shl r12d, cl
add esi, r12d
mov r11d, esi
and r11d, r9d
lea r10, [r8 + r11*4]
movzx ecx, byte [r10 + 1]
movzx edx, byte [r10]
movzx r12d, word [r10 + 2]
movzx eax, cl
cmp eax, ebp
jbe 0x6d438909
movzx eax, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl eax, cl
add esi, eax
mov edx, esi
and edx, r9d
lea rdi, [r8 + rdx*4]
movzx ecx, byte [rdi + 1]
movzx edx, byte [rdi]
movzx r12d, word [rdi + 2]
movzx eax, cl
cmp eax, ebp
jbe 0x6d438909
movzx r12d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r12d, cl
add esi, r12d
mov r11d, esi
and r11d, r9d
lea r10, [r8 + r11*4]
movzx ecx, byte [r10 + 1]
movzx edx, byte [r10]
movzx r12d, word [r10 + 2]
movzx eax, cl
cmp eax, ebp
jbe 0x6d438909
test r14d, r14d
je 0x6d436a70
mov ecx, ebp
movzx ebp, byte [r15]
lea r11, [r15 + 1]
lea edi, [r14 - 1]
mov r14d, edi
mov r15, r11
shl ebp, cl
add esi, ebp
lea ebp, [rcx + 8]
mov eax, esi
mov ecx, ebp
and eax, r9d
lea r12, [r8 + rax*4]
movzx r10d, byte [r12 + 1]
movzx edx, byte [r12]
movzx r12d, word [r12 + 2]
movzx eax, r10b
cmp eax, ebp
jbe 0x6d438906
movzx edx, byte [r15]
add r15, 1
sub r14d, 1
shl edx, cl
add ecx, 8
add esi, edx
mov r10d, esi
and r10d, r9d
lea rax, [r8 + r10*4]
movzx r10d, byte [rax + 1]
movzx edx, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, r10b
cmp eax, ecx
jbe 0x6d438904
movzx r12d, byte [r11 + 1]
lea r14d, [rdi - 2]
lea r15, [r11 + 2]
shl r12d, cl
lea ecx, [rbp + 0x10]
add esi, r12d
mov edx, esi
and edx, r9d
lea rax, [r8 + rdx*4]
movzx r10d, byte [rax + 1]
movzx edx, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, r10b
cmp eax, ecx
jbe 0x6d438904
lea r14d, [rdi - 3]
movzx edi, byte [r11 + 2]
lea r15, [r11 + 3]
shl edi, cl
lea ecx, [rbp + 0x18]
add esi, edi
mov r11d, esi
and r11d, r9d
lea rbp, [r8 + r11*4]
movzx r10d, byte [rbp + 1]
movzx edx, byte [rbp]
movzx r12d, word [rbp + 2]
movzx eax, r10b
cmp eax, ecx
jbe 0x6d438904
test r14d, r14d
jne 0x6d437a94
jmp 0x6d436ed0
mov eax, dword [rsp + 0x48]
mov r9d, dword [rbx + 0x3c]
mov rcx, qword [rbx + 0x40]
sub eax, r10d
mov edi, eax
cmp r9d, edx
jae 0x6d438e08
sub edx, r9d
add r9d, dword [rbx + 0x34]
add edi, r9d
add rcx, rdi
mov eax, dword [rbx + 0x50]
cmp eax, edx
cmovbe edx, eax
mov r8d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
cmp edx, r8d
lea r12, [rdi + 0xf]
cmova edx, r8d
sub r12, rcx
sub r8d, edx
sub eax, edx
lea r10d, [rdx - 1]
mov dword [rsp + 0x40], r8d
mov dword [rbx + 0x50], eax
cmp r12, 0x1e
jbe 0x6d438f91
cmp r10d, 0xe
jbe 0x6d438f91
lea r9d, [rdx - 0x10]
movdqu xmm1, xmmword [rcx]
mov r8d, 1
mov eax, 0x10
shr r9d, 4
lea r11d, [r9 + 1]
movups xmmword [rdi], xmm1
and r9d, 7
cmp r8d, r11d
jae 0x6d437d60
test r9d, r9d
je 0x6d437cfd
cmp r9d, 1
je 0x6d437ce2
cmp r9d, 2
je 0x6d437ccb
cmp r9d, 3
je 0x6d437cb4
cmp r9d, 4
je 0x6d437c9e
cmp r9d, 5
je 0x6d437c87
cmp r9d, 6
je 0x6d437c70
movdqu xmm3, xmmword [rcx + 0x10]
mov r8d, 2
mov eax, 0x20
movups xmmword [rdi + 0x10], xmm3
movdqu xmm2, xmmword [rcx + rax]
mov r12, qword [rsp + 0x38]
add r8d, 1
movups xmmword [r12 + rax], xmm2
add rax, 0x10
movdqu xmm4, xmmword [rcx + rax]
mov r9, qword [rsp + 0x38]
add r8d, 1
movups xmmword [r9 + rax], xmm4
add rax, 0x10
movdqu xmm5, xmmword [rcx + rax]
mov rdi, qword [rsp + 0x38]
add r8d, 1
movups xmmword [rdi + rax], xmm5
add rax, 0x10
movdqu xmm0, xmmword [rcx + rax]
mov r12, qword [rsp + 0x38]
add r8d, 1
movups xmmword [r12 + rax], xmm0
add rax, 0x10
movdqu xmm1, xmmword [rcx + rax]
mov r9, qword [rsp + 0x38]
add r8d, 1
movups xmmword [r9 + rax], xmm1
add rax, 0x10
movdqu xmm3, xmmword [rcx + rax]
mov rdi, qword [rsp + 0x38]
add r8d, 1
movups xmmword [rdi + rax], xmm3
add rax, 0x10
cmp r8d, r11d
jae 0x6d437d60
movdqu xmm2, xmmword [rcx + rax]
add r8d, 8
movups xmmword [rdi + rax], xmm2
movdqu xmm4, xmmword [rcx + rax + 0x10]
movups xmmword [rdi + rax + 0x10], xmm4
movdqu xmm5, xmmword [rcx + rax + 0x20]
movups xmmword [rdi + rax + 0x20], xmm5
movdqu xmm0, xmmword [rcx + rax + 0x30]
movups xmmword [rdi + rax + 0x30], xmm0
movdqu xmm1, xmmword [rcx + rax + 0x40]
movups xmmword [rdi + rax + 0x40], xmm1
movdqu xmm3, xmmword [rcx + rax + 0x50]
movups xmmword [rdi + rax + 0x50], xmm3
movdqu xmm2, xmmword [rcx + rax + 0x60]
movups xmmword [rdi + rax + 0x60], xmm2
movdqu xmm4, xmmword [rcx + rax + 0x70]
movups xmmword [rdi + rax + 0x70], xmm4
sub rax, 0xffffffffffffff80
cmp r8d, r11d
jb 0x6d437cfd
mov r8, qword [rsp + 0x38]
shl r11d, 4
mov r9d, r10d
mov eax, r11d
lea r12, [r8 + rax]
add rax, rcx
cmp edx, r11d
je 0x6d437e78
movzx ecx, byte [rax]
mov byte [r12], cl
sub r10d, r11d
je 0x6d437e78
movzx edx, byte [rax + 1]
mov byte [r12 + 1], dl
cmp r10d, 1
je 0x6d437e78
movzx r11d, byte [rax + 2]
mov byte [r12 + 2], r11b
cmp r10d, 2
je 0x6d437e78
movzx edi, byte [rax + 3]
mov byte [r12 + 3], dil
cmp r10d, 3
je 0x6d437e78
movzx r8d, byte [rax + 4]
mov byte [r12 + 4], r8b
cmp r10d, 4
je 0x6d437e78
movzx ecx, byte [rax + 5]
mov byte [r12 + 5], cl
cmp r10d, 5
je 0x6d437e78
movzx edx, byte [rax + 6]
mov byte [r12 + 6], dl
cmp r10d, 6
je 0x6d437e78
movzx r11d, byte [rax + 7]
mov byte [r12 + 7], r11b
cmp r10d, 7
je 0x6d437e78
movzx edi, byte [rax + 8]
mov byte [r12 + 8], dil
cmp r10d, 8
je 0x6d437e78
movzx r8d, byte [rax + 9]
mov byte [r12 + 9], r8b
cmp r10d, 9
je 0x6d437e78
movzx ecx, byte [rax + 0xa]
mov byte [r12 + 0xa], cl
cmp r10d, 0xa
je 0x6d437e78
movzx edx, byte [rax + 0xb]
mov byte [r12 + 0xb], dl
cmp r10d, 0xb
je 0x6d437e78
movzx r11d, byte [rax + 0xc]
mov byte [r12 + 0xc], r11b
cmp r10d, 0xc
je 0x6d437e78
movzx edi, byte [rax + 0xd]
mov byte [r12 + 0xd], dil
cmp r10d, 0xd
je 0x6d437e78
movzx eax, byte [rax + 0xe]
mov byte [r12 + 0xe], al
nop dword [rax]
mov r11, qword [rsp + 0x38]
lea rcx, [r11 + r9 + 1]
mov r9d, dword [rbx + 0x50]
mov qword [rsp + 0x38], rcx
test r9d, r9d
je case.0x6d436450.19
mov eax, dword [rbx + 8]
jmp 0x6d436649
mov r11d, esi
jmp 0x6d43649c
cmp ebp, 0xf
ja 0x6d439b95
test r14d, r14d
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
lea r11d, [r14 - 1]
lea rdx, [r15 + 1]
shl r9d, cl
lea ecx, [rbp + 8]
add esi, r9d
cmp ecx, 0xf
ja 0x6d439b9d
test r11d, r11d
je 0x6d438103
lea rdx, [r15 + 2]
movzx r15d, byte [r15 + 1]
sub r14d, 2
add ebp, 0x10
shl r15d, cl
add esi, r15d
test byte [rbx + 0x10], 4
je 0x6d4388f8
movzx edi, word [rbx + 0x20]
cmp edi, esi
je 0x6d4388f8
mov r11d, esi
lea rsi, str.header_crc_mismatch
mov r15, rdx
mov qword [r13 + 0x20], rsi
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
test r14d, r14d
je 0x6d436a70
mov eax, r14d
xor edi, edi
and eax, 3
je 0x6d438008
cmp eax, 1
je 0x6d437fc5
cmp eax, 2
je 0x6d437f8a
mov r8, qword [rbx + 0x28]
movzx r12d, byte [r15]
mov edi, 1
test r8, r8
je 0x6d437f81
mov r9, qword [r8 + 0x30]
test r9, r9
je 0x6d437f81
mov r10d, dword [rbx + 0x50]
cmp r10d, dword [r8 + 0x38]
jae 0x6d437f81
lea edx, [r10 + 1]
mov dword [rbx + 0x50], edx
mov byte [r9 + r10], r12b
test r12b, r12b
je 0x6d4380d8
mov r11, qword [rbx + 0x28]
mov r12d, edi
add edi, 1
movzx r12d, byte [r15 + r12]
test r11, r11
je 0x6d437fbc
mov rcx, qword [r11 + 0x30]
test rcx, rcx
je 0x6d437fbc
mov r8d, dword [rbx + 0x50]
cmp r8d, dword [r11 + 0x38]
jae 0x6d437fbc
lea eax, [r8 + 1]
mov dword [rbx + 0x50], eax
mov byte [rcx + r8], r12b
test r12b, r12b
je 0x6d4380d8
mov rcx, qword [rbx + 0x28]
mov r9d, edi
add edi, 1
movzx r12d, byte [r15 + r9]
test rcx, rcx
je 0x6d437ff6
mov r10, qword [rcx + 0x30]
test r10, r10
je 0x6d437ff6
mov edx, dword [rbx + 0x50]
cmp edx, dword [rcx + 0x38]
jae 0x6d437ff6
lea r11d, [rdx + 1]
mov dword [rbx + 0x50], r11d
mov byte [r10 + rdx], r12b
test r12b, r12b
je 0x6d4380d8
cmp r14d, edi
jbe 0x6d4380d8
mov r12d, edi
mov r9, qword [rbx + 0x28]
lea eax, [r12 + 1]
movzx r12d, byte [r15 + r12]
mov edi, eax
test r9, r9
je 0x6d43803e
mov r8, qword [r9 + 0x30]
test r8, r8
je 0x6d43803e
mov ecx, dword [rbx + 0x50]
cmp ecx, dword [r9 + 0x38]
jae 0x6d43803e
lea r10d, [rcx + 1]
mov dword [rbx + 0x50], r10d
mov byte [r8 + rcx], r12b
test r12b, r12b
je 0x6d4380d8
mov r11, qword [rbx + 0x28]
mov edx, eax
lea edi, [rax + 1]
movzx r12d, byte [r15 + rdx]
test r11, r11
je 0x6d438078
mov r9, qword [r11 + 0x30]
test r9, r9
je 0x6d438078
mov r8d, dword [rbx + 0x50]
cmp r8d, dword [r11 + 0x38]
jae 0x6d438078
lea ecx, [r8 + 1]
mov dword [rbx + 0x50], ecx
mov byte [r9 + r8], r12b
test r12b, r12b
je 0x6d4380d8
mov r10, qword [rbx + 0x28]
mov r12d, edi
lea edi, [rax + 2]
movzx r12d, byte [r15 + r12]
test r10, r10
je 0x6d4380af
mov r11, qword [r10 + 0x30]
test r11, r11
je 0x6d4380af
mov r9d, dword [rbx + 0x50]
cmp r9d, dword [r10 + 0x38]
jae 0x6d4380af
lea edx, [r9 + 1]
mov dword [rbx + 0x50], edx
mov byte [r11 + r9], r12b
test r12b, r12b
je 0x6d4380d8
mov r8d, edi
mov rcx, qword [rbx + 0x28]
lea edi, [rax + 3]
mov eax, r8d
movzx r12d, byte [r15 + rax]
test rcx, rcx
jne 0x6d437fd9
jmp 0x6d437ff6
test byte [rbx + 0x19], 2
je 0x6d4380e8
test byte [rbx + 0x10], 4
jne 0x6d439338
mov r10d, edi
sub r14d, edi
add r15, r10
test r12b, r12b
jne 0x6d436a70
mov r8d, dword [rbx + 0x18]
jmp 0x6d43766e
mov r11d, esi
mov ebp, ecx
mov esi, dword [rsp + 0x48]
xor r14d, r14d
sub esi, dword [rsp + 0x40]
mov r15, rdx
xor r12d, r12d
jmp 0x6d436a7e
mov rdx, qword [rsp + 0x38]
mov r8d, esi
mov rcx, qword [r15 + 0x40]
sub rdx, r8
call sub.msvcrt.dll_memcpy
mov dword [r15 + 0x3c], esi
jmp 0x6d436b24
test r14d, r14d
je 0x6d436a70
mov r12d, r14d
xor edi, edi
and r12d, 3
je 0x6d43821c
cmp r12d, 1
je 0x6d4381d8
cmp r12d, 2
je 0x6d43819e
mov r10, qword [rbx + 0x28]
movzx r12d, byte [r15]
mov edi, 1
test r10, r10
je 0x6d438195
mov rdx, qword [r10 + 0x20]
test rdx, rdx
je 0x6d438195
mov r9d, dword [rbx + 0x50]
cmp r9d, dword [r10 + 0x28]
jae 0x6d438195
lea r11d, [r9 + 1]
mov dword [rbx + 0x50], r11d
mov byte [rdx + r9], r12b
test r12b, r12b
je 0x6d4382f0
mov r8, qword [rbx + 0x28]
mov eax, edi
add edi, 1
movzx r12d, byte [r15 + rax]
test r8, r8
je 0x6d4381cf
mov rcx, qword [r8 + 0x20]
test rcx, rcx
je 0x6d4381cf
mov r10d, dword [rbx + 0x50]
cmp r10d, dword [r8 + 0x28]
jae 0x6d4381cf
lea edx, [r10 + 1]
mov dword [rbx + 0x50], edx
mov byte [rcx + r10], r12b
test r12b, r12b
je 0x6d4382f0
mov rdx, qword [rbx + 0x28]
mov r12d, edi
add edi, 1
movzx r12d, byte [r15 + r12]
test rdx, rdx
je 0x6d43820a
mov r9, qword [rdx + 0x20]
test r9, r9
je 0x6d43820a
mov r11d, dword [rbx + 0x50]
cmp r11d, dword [rdx + 0x28]
jae 0x6d43820a
lea eax, [r11 + 1]
mov dword [rbx + 0x50], eax
mov byte [r9 + r11], r12b
test r12b, r12b
je 0x6d4382f0
cmp r14d, edi
jbe 0x6d4382f0
mov r8d, edi
mov rdx, qword [rbx + 0x28]
lea r10d, [r8 + 1]
movzx r12d, byte [r15 + r8]
mov edi, r10d
test rdx, rdx
je 0x6d438251
mov r9, qword [rdx + 0x20]
test r9, r9
je 0x6d438251
mov ecx, dword [rbx + 0x50]
cmp ecx, dword [rdx + 0x28]
jae 0x6d438251
lea r11d, [rcx + 1]
mov dword [rbx + 0x50], r11d
mov byte [r9 + rcx], r12b
test r12b, r12b
je 0x6d4382f0
mov rax, qword [rbx + 0x28]
mov r12d, r10d
lea edi, [r10 + 1]
movzx r12d, byte [r15 + r12]
test rax, rax
je 0x6d43828d
mov r8, qword [rax + 0x20]
test r8, r8
je 0x6d43828d
mov r9d, dword [rbx + 0x50]
cmp r9d, dword [rax + 0x28]
jae 0x6d43828d
lea edx, [r9 + 1]
mov dword [rbx + 0x50], edx
mov byte [r8 + r9], r12b
test r12b, r12b
je 0x6d4382f0
mov r11, qword [rbx + 0x28]
mov ecx, edi
lea edi, [r10 + 2]
movzx r12d, byte [r15 + rcx]
test r11, r11
je 0x6d4382c5
mov rax, qword [r11 + 0x20]
test rax, rax
je 0x6d4382c5
mov r8d, dword [rbx + 0x50]
cmp r8d, dword [r11 + 0x28]
jae 0x6d4382c5
lea r9d, [r8 + 1]
mov dword [rbx + 0x50], r9d
mov byte [rax + r8], r12b
test r12b, r12b
je 0x6d4382f0
mov r12d, edi
mov rdx, qword [rbx + 0x28]
lea edi, [r10 + 3]
mov r10d, r12d
movzx r12d, byte [r15 + r10]
test rdx, rdx
jne 0x6d4381ec
jmp 0x6d43820a
test byte [rbx + 0x19], 2
je 0x6d438300
test byte [rbx + 0x10], 4
jne 0x6d43947e
mov ecx, edi
sub r14d, edi
add r15, rcx
test r12b, r12b
jne 0x6d436a70
mov r8d, dword [rbx + 0x18]
jmp 0x6d437642
mov rbx, qword [rsp + 0x50]
mov ebp, ecx
mov ecx, eax
test r8b, 0xf0
je 0x6d4390c2
mov eax, dword [rbx + 0x1be4]
shr esi, cl
add ecx, eax
sub ebp, r10d
mov dword [rbx + 0x1be4], ecx
test r8b, 0x40
je 0x6d438ba8
lea r8, [0x6d452cd3]
mov r11d, esi
mov qword [r13 + 0x20], r8
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov ebp, ecx
mov ecx, r9d
cmp r11w, 0xf
ja 0x6d438950
shr esi, cl
mov ecx, dword [rsp + 0x50]
sub ebp, eax
lea edi, [rcx + 1]
mov dword [rbx + 0x84], edi
mov r12d, edi
mov word [rbx + rcx*2 + 0x90], r11w
mov dword [rsp + 0x50], edi
cmp dword [rsp + 0x58], r12d
ja 0x6d436cf5
cmp dword [rbx + 8], 0x3f51
je case.0x6d436450.29
cmp word [rbx + 0x290], 0
jne 0x6d43a2f2
lea rcx, str.invalid_code____missing_end_of_block
mov r11d, esi
mov qword [r13 + 0x20], rcx
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x6d438403
mov r11d, esi
movzx edx, sil
shr r11d, 8
mov dword [rax + 8], edx
mov dword [rax + 0xc], r11d
mov eax, dword [rbx + 0x18]
mov r8d, eax
test ah, 2
je 0x6d438418
test byte [rbx + 0x10], 4
jne 0x6d43949e
mov dword [rbx + 8], 0x3f38
xor ebp, ebp
xor esi, esi
test ah, 4
je 0x6d4376af
test r14d, r14d
je 0x6d436a70
mov edi, 0xf
sub edi, ebp
shr edi, 3
and edi, 7
je 0x6d438545
movzx r8d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r8d, cl
add esi, r8d
cmp ebp, 0xf
ja 0x6d438e1c
test r14d, r14d
je 0x6d436a70
cmp edi, 1
je 0x6d438545
cmp edi, 2
je 0x6d43852a
cmp edi, 3
je 0x6d43850d
cmp edi, 4
je 0x6d4384f0
cmp edi, 5
je 0x6d4384d5
cmp edi, 6
je 0x6d4384b8
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
movzx r12d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r12d, cl
add esi, r12d
sub r14d, 1
je 0x6d436a70
movzx edx, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edx, cl
add esi, edx
sub r14d, 1
je 0x6d436a70
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx edi, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edi, cl
add esi, edi
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx r10d, byte [r15]
lea r8, [r15 + 1]
lea ebp, [r14 - 1]
lea r12d, [rcx + 8]
mov r14d, ebp
mov r15, r8
shl r10d, cl
mov ecx, r12d
add esi, r10d
cmp r12d, 0xf
ja 0x6d438e1c
test r14d, r14d
je 0x6d436ed0
movzx r10d, byte [r15]
add r15, 1
shl r10d, cl
add ecx, 8
add esi, r10d
sub r14d, 1
je 0x6d436ed0
movzx r14d, byte [r8 + 1]
lea r15, [r8 + 2]
shl r14d, cl
lea ecx, [r12 + 0x10]
add esi, r14d
mov r14d, ebp
sub r14d, 2
je 0x6d436ed0
movzx r11d, byte [r8 + 2]
mov r14d, ebp
lea r15, [r8 + 3]
shl r11d, cl
lea ecx, [r12 + 0x18]
add esi, r11d
sub r14d, 3
je 0x6d436ed0
movzx r9d, byte [r8 + 3]
mov r14d, ebp
lea r15, [r8 + 4]
shl r9d, cl
lea ecx, [r12 + 0x20]
add esi, r9d
sub r14d, 4
je 0x6d436ed0
movzx edi, byte [r8 + 4]
mov r14d, ebp
lea r15, [r8 + 5]
shl edi, cl
lea ecx, [r12 + 0x28]
add esi, edi
sub r14d, 5
je 0x6d436ed0
movzx edx, byte [r8 + 5]
mov r14d, ebp
lea r15, [r8 + 6]
shl edx, cl
lea ecx, [r12 + 0x30]
add esi, edx
sub r14d, 6
je 0x6d436ed0
lea r15, [r8 + 7]
movzx r8d, byte [r8 + 6]
shl r8d, cl
lea ecx, [r12 + 0x38]
add esi, r8d
sub ebp, 7
mov r14d, ebp
jne 0x6d438547
jmp 0x6d436ed0
mov rcx, qword [rsp + 0x38]
mov edx, dword [rbx + 0x50]
sub rcx, r10
mov eax, edx
jmp 0x6d437bbf
mov r11d, esi
mov ebp, ecx
mov esi, dword [rsp + 0x48]
xor r14d, r14d
sub esi, dword [rsp + 0x40]
mov r15, rdi
xor r12d, r12d
jmp 0x6d436a7e
mov r9, qword [rbx + 0x28]
test r9, r9
je 0x6d43869a
mov dword [r9 + 4], esi
test byte [rbx + 0x19], 2
je 0x6d4386aa
test byte [rbx + 0x10], 4
jne 0x6d439b22
mov dword [rbx + 8], 0x3f37
xor esi, esi
xor ebp, ebp
jmp 0x6d437339
cmp ebp, edx
jae 0x6d438f69
test r14d, r14d
je 0x6d436a70
mov r12d, ebp
not r12d
add r12d, edx
shr r12d, 3
and r12d, 7
je 0x6d4387ea
movzx eax, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl eax, cl
add esi, eax
cmp ebp, edx
jae 0x6d438f69
test r14d, r14d
je 0x6d436a70
cmp r12d, 1
je 0x6d4387ea
cmp r12d, 2
je 0x6d4387cd
cmp r12d, 3
je 0x6d4387b0
cmp r12d, 4
je 0x6d438793
cmp r12d, 5
je 0x6d438776
cmp r12d, 6
je 0x6d438759
movzx edi, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edi, cl
add esi, edi
sub r14d, 1
je 0x6d436a70
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
movzx r8d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r8d, cl
add esi, r8d
sub r14d, 1
je 0x6d436a70
movzx r12d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r12d, cl
add esi, r12d
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx edi, byte [r15]
lea rax, [r15 + 1]
lea ebp, [r14 - 1]
lea r11d, [rcx + 8]
mov r14d, ebp
mov r15, rax
shl edi, cl
mov ecx, r11d
add esi, edi
cmp r11d, edx
jae 0x6d438f66
test r14d, r14d
je 0x6d436ed0
movzx r9d, byte [r15]
add r15, 1
shl r9d, cl
add ecx, 8
add esi, r9d
sub r14d, 1
je 0x6d436ed0
movzx edi, byte [rax + 1]
mov r14d, ebp
lea r15, [rax + 2]
shl edi, cl
lea ecx, [r11 + 0x10]
add esi, edi
sub r14d, 2
je 0x6d436ed0
movzx r14d, byte [rax + 2]
lea r15, [rax + 3]
shl r14d, cl
lea ecx, [r11 + 0x18]
add esi, r14d
mov r14d, ebp
sub r14d, 3
je 0x6d436ed0
movzx r12d, byte [rax + 3]
mov r14d, ebp
lea r15, [rax + 4]
shl r12d, cl
lea ecx, [r11 + 0x20]
add esi, r12d
sub r14d, 4
je 0x6d436ed0
movzx r10d, byte [rax + 4]
mov r14d, ebp
lea r15, [rax + 5]
shl r10d, cl
lea ecx, [r11 + 0x28]
add esi, r10d
sub r14d, 5
je 0x6d436ed0
movzx r8d, byte [rax + 5]
mov r14d, ebp
lea r15, [rax + 6]
shl r8d, cl
lea ecx, [r11 + 0x30]
add esi, r8d
sub r14d, 6
je 0x6d436ed0
lea r15, [rax + 7]
movzx eax, byte [rax + 6]
shl eax, cl
lea ecx, [r11 + 0x38]
add esi, eax
sub ebp, 7
mov r14d, ebp
jne 0x6d4387ec
jmp 0x6d436ed0
mov r15, rdx
xor ebp, ebp
xor esi, esi
jmp 0x6d4370c5
mov ebp, ecx
mov ecx, r10d
test dl, dl
je 0x6d436594
test dl, 0xf0
je 0x6d439e23
mov dword [rbx + 0x1be4], eax
mov ecx, eax
sub ebp, eax
mov dword [rbx + 0x50], r12d
shr esi, cl
test dl, 0x20
je 0x6d439aea
mov dword [rbx + 0x1be4], 0xffffffff
mov dword [rbx + 8], 0x3f3f
jmp case.0x6d436450.11
cmp r11w, 0x10
je 0x6d439bc3
cmp r11w, 0x11
je 0x6d43951e
lea edi, [rax + 7]
cmp ebp, edi
jae 0x6d43975f
test r14d, r14d
je 0x6d436a70
mov r12d, ebp
not r12d
add r12d, edi
shr r12d, 3
and r12d, 7
je 0x6d438a97
movzx r10d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r10d, cl
add esi, r10d
cmp ebp, edi
jae 0x6d43975f
test r14d, r14d
je 0x6d436a70
cmp r12d, 1
je 0x6d438a97
cmp r12d, 2
je 0x6d438a7a
cmp r12d, 3
je 0x6d438a5d
cmp r12d, 4
je 0x6d438a40
cmp r12d, 5
je 0x6d438a23
cmp r12d, 6
je 0x6d438a06
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx r12d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r12d, cl
add esi, r12d
sub r14d, 1
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx ebp, byte [r15]
lea r10, [r15 + 1]
lea r12d, [r14 - 1]
lea r11d, [rcx + 8]
mov r14d, r12d
mov r15, r10
shl ebp, cl
mov ecx, r11d
add esi, ebp
cmp r11d, edi
jae 0x6d43975c
test r14d, r14d
je 0x6d436ed0
movzx ebp, byte [r15]
add r15, 1
shl ebp, cl
add ecx, 8
add esi, ebp
sub r14d, 1
je 0x6d436ed0
movzx r14d, byte [r10 + 1]
lea r15, [r10 + 2]
shl r14d, cl
lea ecx, [r11 + 0x10]
add esi, r14d
mov r14d, r12d
sub r14d, 2
je 0x6d436ed0
movzx r9d, byte [r10 + 2]
mov r14d, r12d
lea r15, [r10 + 3]
shl r9d, cl
lea ecx, [r11 + 0x18]
add esi, r9d
sub r14d, 3
je 0x6d436ed0
movzx ebp, byte [r10 + 3]
mov r14d, r12d
lea r15, [r10 + 4]
shl ebp, cl
lea ecx, [r11 + 0x20]
add esi, ebp
sub r14d, 4
je 0x6d436ed0
movzx r14d, byte [r10 + 4]
lea r15, [r10 + 5]
shl r14d, cl
lea ecx, [r11 + 0x28]
add esi, r14d
mov r14d, r12d
sub r14d, 5
je 0x6d436ed0
movzx r9d, byte [r10 + 5]
mov r14d, r12d
lea r15, [r10 + 6]
shl r9d, cl
lea ecx, [r11 + 0x30]
add esi, r9d
sub r14d, 6
je 0x6d436ed0
lea r15, [r10 + 7]
movzx r10d, byte [r10 + 6]
shl r10d, cl
lea ecx, [r11 + 0x38]
add esi, r10d
sub r12d, 7
mov r14d, r12d
jne 0x6d438a99
jmp 0x6d436ed0
and r8d, 0xf
mov dword [rbx + 0x54], edi
mov dword [rbx + 0x58], r8d
mov dword [rbx + 8], 0x3f4b
jmp 0x6d43669c
mov dword [rbx + 0x1be4], 0xffffffff
jmp case.0x6d436450.11
cmp ebp, r8d
jae 0x6d439351
test r14d, r14d
je 0x6d436a70
mov r12d, ebp
not r12d
add r12d, r8d
shr r12d, 3
and r12d, 7
je 0x6d438cfa
movzx eax, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl eax, cl
add esi, eax
cmp ebp, r8d
jae 0x6d439351
test r14d, r14d
je 0x6d436a70
cmp r12d, 1
je 0x6d438cfa
cmp r12d, 2
je 0x6d438cdd
cmp r12d, 3
je 0x6d438cc2
cmp r12d, 4
je 0x6d438ca5
cmp r12d, 5
je 0x6d438c8a
cmp r12d, 6
je 0x6d438c6d
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx edi, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edi, cl
add esi, edi
sub r14d, 1
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
movzx edx, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edx, cl
add esi, edx
sub r14d, 1
je 0x6d436a70
movzx r12d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r12d, cl
add esi, r12d
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx r11d, byte [r15]
lea rax, [r15 + 1]
lea ebp, [r14 - 1]
lea r9d, [rcx + 8]
mov r14d, ebp
mov r15, rax
shl r11d, cl
mov ecx, r9d
add esi, r11d
cmp r9d, r8d
jae 0x6d43934e
test r14d, r14d
je 0x6d436ed0
movzx edi, byte [r15]
add r15, 1
shl edi, cl
add ecx, 8
add esi, edi
sub r14d, 1
je 0x6d436ed0
movzx r14d, byte [rax + 1]
lea r15, [rax + 2]
shl r14d, cl
lea ecx, [r9 + 0x10]
add esi, r14d
mov r14d, ebp
sub r14d, 2
je 0x6d436ed0
movzx edx, byte [rax + 2]
mov r14d, ebp
lea r15, [rax + 3]
shl edx, cl
lea ecx, [r9 + 0x18]
add esi, edx
sub r14d, 3
je 0x6d436ed0
movzx r12d, byte [rax + 3]
mov r14d, ebp
lea r15, [rax + 4]
shl r12d, cl
lea ecx, [r9 + 0x20]
add esi, r12d
sub r14d, 4
je 0x6d436ed0
movzx r10d, byte [rax + 4]
mov r14d, ebp
lea r15, [rax + 5]
shl r10d, cl
lea ecx, [r9 + 0x28]
add esi, r10d
sub r14d, 5
je 0x6d436ed0
movzx r11d, byte [rax + 5]
mov r14d, ebp
lea r15, [rax + 6]
shl r11d, cl
lea ecx, [r9 + 0x30]
add esi, r11d
sub r14d, 6
je 0x6d436ed0
lea r15, [rax + 7]
movzx eax, byte [rax + 6]
shl eax, cl
lea ecx, [r9 + 0x38]
add esi, eax
sub ebp, 7
mov r14d, ebp
jne 0x6d438cfc
jmp 0x6d436ed0
add edi, r9d
add rcx, rdi
jmp 0x6d437bb7
cmp ebp, 0xf
jbe 0x6d43842c
mov rdx, qword [rbx + 0x28]
mov dword [rbx + 0x50], esi
test rdx, rdx
je 0x6d438e2b
mov dword [rdx + 0x18], esi
test ah, 2
je 0x6d438e3a
test byte [rbx + 0x10], 4
jne 0x6d43a198
mov ecx, eax
mov r8d, eax
xor ebp, ebp
xor esi, esi
and ecx, 0x400
jmp 0x6d4376c2
cmp ebp, 0xf
ja 0x6d43a2d8
test r14d, r14d
je 0x6d436a70
movzx r8d, byte [r15]
mov ecx, ebp
lea r11d, [r14 - 1]
lea rdi, [r15 + 1]
shl r8d, cl
lea ecx, [rbp + 8]
add esi, r8d
cmp ecx, 0xf
ja 0x6d43a2e0
test r11d, r11d
je 0x6d438672
lea rdi, [r15 + 2]
movzx r15d, byte [r15 + 1]
sub r14d, 2
add ebp, 0x10
shl r15d, cl
add esi, r15d
test al, 2
je 0x6d438eaf
cmp esi, 0x8b1f
je 0x6d43a28d
mov r8, qword [rbx + 0x28]
mov dword [rbx + 0x18], 0
test r8, r8
je 0x6d438ec7
mov dword [r8 + 0x40], 0xffffffff
test al, 1
je 0x6d439b4e
mov r12d, esi
mov r11d, esi
shl r12d, 8
shr r11d, 8
movzx r10d, r12w
add r11d, r10d
imul rcx, r11, 0x8421085
mov r15d, r11d
shr rcx, 0x20
sub r15d, ecx
shr r15d, 1
add r15d, ecx
shr r15d, 4
mov eax, r15d
shl eax, 5
sub eax, r15d
cmp r11d, eax
jne 0x6d439b4e
mov r12d, esi
and r12d, 0xf
cmp r12d, 8
jne 0x6d43773e
shr esi, 4
mov r10d, dword [rbx + 0x30]
sub ebp, 4
mov ecx, esi
and ecx, 0xf
add ecx, 8
test r10d, r10d
jne 0x6d43a36c
mov dword [rbx + 0x30], ecx
cmp ecx, 0xf
jbe 0x6d43a37e
lea r8, str.invalid_window_size
mov r11d, esi
mov r15, rdi
mov qword [r13 + 0x20], r8
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov ebp, r11d
mov ecx, edx
mov r9d, 0xffffffff
add dword [rbx + 0x1be4], edx
sub ebp, edx
shl r9d, cl
not r9d
and r9d, esi
add r9d, dword [rbx + 0x50]
shr esi, cl
mov dword [rbx + 0x50], r9d
jmp 0x6d43672f
mov r9d, r10d
xor r11d, r11d
lea r12, [r9 + 1]
and r12d, 7
je 0x6d43a23e
cmp r12, 1
je 0x6d439039
cmp r12, 2
je 0x6d439027
cmp r12, 3
je 0x6d439015
cmp r12, 4
je 0x6d439003
cmp r12, 5
je 0x6d438ff1
cmp r12, 6
je 0x6d438fdf
movzx r10d, byte [rcx]
mov r8, qword [rsp + 0x38]
mov r11d, 1
mov byte [r8], r10b
movzx edx, byte [rcx + r11]
mov rdi, qword [rsp + 0x38]
mov byte [rdi + r11], dl
add r11, 1
movzx eax, byte [rcx + r11]
mov r12, qword [rsp + 0x38]
mov byte [r12 + r11], al
add r11, 1
movzx r10d, byte [rcx + r11]
mov r8, qword [rsp + 0x38]
mov byte [r8 + r11], r10b
add r11, 1
movzx edx, byte [rcx + r11]
mov rdi, qword [rsp + 0x38]
mov byte [rdi + r11], dl
add r11, 1
movzx eax, byte [rcx + r11]
mov r12, qword [rsp + 0x38]
mov byte [r12 + r11], al
add r11, 1
movzx r10d, byte [rcx + r11]
mov r8, qword [rsp + 0x38]
mov rdx, r11
mov byte [r8 + r11], r10b
add r11, 1
cmp rdx, r9
je 0x6d437e78
mov rdi, r8
movzx eax, byte [rcx + r11]
mov byte [rdi + r11], al
movzx r12d, byte [rcx + r11 + 1]
mov byte [rdi + r11 + 1], r12b
movzx r10d, byte [rcx + r11 + 2]
mov byte [rdi + r11 + 2], r10b
movzx r8d, byte [rcx + r11 + 3]
mov byte [rdi + r11 + 3], r8b
movzx edx, byte [rcx + r11 + 4]
lea r8, [r11 + 7]
mov byte [rdi + r11 + 4], dl
movzx eax, byte [rcx + r11 + 5]
mov byte [rdi + r11 + 5], al
movzx r12d, byte [rcx + r11 + 6]
mov byte [rdi + r11 + 6], r12b
movzx r10d, byte [rcx + r11 + 7]
mov byte [rdi + r11 + 7], r10b
add r11, 8
cmp r8, r9
jne 0x6d43905a
jmp 0x6d437e78
lea ecx, [r8 + rax]
mov r9d, 0xffffffff
movzx r11d, di
shl r9d, cl
mov ecx, edx
not r9d
mov r8d, r9d
and r8d, esi
shr r8d, cl
lea edx, [r8 + r11]
lea r10, [r12 + rdx*4]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx r10d, byte [r10 + 1]
lea ecx, [r10 + rax]
cmp ecx, ebp
jbe 0x6d4394d9
test r14d, r14d
je 0x6d436a70
mov r8d, r14d
lea edi, [r14 - 1]
and r8d, 3
je 0x6d4391f7
cmp r8d, 1
je 0x6d4391ad
cmp r8d, 2
je 0x6d43916c
movzx edx, byte [r15]
mov ecx, ebp
mov r10d, r9d
add ebp, 8
mov r14d, edi
add r15, 1
shl edx, cl
mov ecx, eax
add esi, edx
and r10d, esi
shr r10d, cl
add r10d, r11d
lea rdx, [r12 + r10*4]
movzx r10d, byte [rdx + 1]
movzx r8d, byte [rdx]
movzx edi, word [rdx + 2]
lea ecx, [r10 + rax]
cmp ecx, ebp
jbe 0x6d4394d9
movzx edi, byte [r15]
mov ecx, ebp
mov r8d, r9d
add ebp, 8
add r15, 1
sub r14d, 1
shl edi, cl
mov ecx, eax
add esi, edi
and r8d, esi
shr r8d, cl
add r8d, r11d
lea r10, [r12 + r8*4]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx r10d, byte [r10 + 1]
lea edx, [r10 + rax]
cmp edx, ebp
jbe 0x6d4394d9
movzx edi, byte [r15]
mov ecx, ebp
mov r8d, r9d
add ebp, 8
add r15, 1
sub r14d, 1
shl edi, cl
mov ecx, eax
add esi, edi
and r8d, esi
shr r8d, cl
add r8d, r11d
lea r10, [r12 + r8*4]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx r10d, byte [r10 + 1]
lea edx, [r10 + rax]
cmp edx, ebp
jbe 0x6d4394d9
test r14d, r14d
je 0x6d436a70
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0xd0], r13
movzx ebx, byte [r15]
mov ecx, ebp
mov edi, r9d
lea rdx, [r15 + 1]
lea r13d, [r14 - 1]
mov r15, rdx
shl ebx, cl
mov ecx, eax
mov r14d, r13d
add esi, ebx
lea ebx, [rbp + 8]
and edi, esi
mov ebp, ebx
shr edi, cl
lea r8d, [rdi + r11]
lea r10, [r12 + r8*4]
movzx r8d, byte [r10]
movzx edi, word [r10 + 2]
movzx r10d, byte [r10 + 1]
lea ecx, [r10 + rax]
cmp ecx, ebx
jbe 0x6d4394cc
movzx edi, byte [r15]
mov ecx, ebp
mov r8d, r9d
add ebp, 8
add r15, 1
sub r14d, 1
shl edi, cl
mov ecx, eax
add esi, edi
and r8d, esi
shr r8d, cl
lea r10d, [r8 + r11]
lea rcx, [r12 + r10*4]
movzx r10d, byte [rcx + 1]
movzx r8d, byte [rcx]
movzx edi, word [rcx + 2]
lea ecx, [r10 + rax]
cmp ecx, ebp
jbe 0x6d4394cc
movzx edi, byte [rdx + 1]
mov ecx, ebp
mov r8d, r9d
lea ebp, [rbx + 0x10]
lea r14d, [r13 - 2]
lea r15, [rdx + 2]
shl edi, cl
mov ecx, eax
add esi, edi
and r8d, esi
shr r8d, cl
lea r10d, [r8 + r11]
lea rcx, [r12 + r10*4]
movzx r10d, byte [rcx + 1]
movzx r8d, byte [rcx]
movzx edi, word [rcx + 2]
lea ecx, [r10 + rax]
cmp ecx, ebp
jbe 0x6d4394cc
lea r14d, [r13 - 3]
movzx r13d, byte [rdx + 2]
mov ecx, ebp
lea r15, [rdx + 3]
mov edx, r9d
lea ebp, [rbx + 0x18]
shl r13d, cl
mov ecx, eax
add esi, r13d
and edx, esi
shr edx, cl
add edx, r11d
lea rbx, [r12 + rdx*4]
movzx r10d, byte [rbx + 1]
movzx r8d, byte [rbx]
movzx edi, word [rbx + 2]
lea r13d, [r10 + rax]
cmp r13d, ebp
jbe 0x6d4394cc
test r14d, r14d
jne 0x6d439204
mov rbx, qword [rsp + 0x50]
mov r13, qword [rsp + 0xd0]
mov r11d, esi
jmp 0x6d436a73
mov ebp, ecx
mov r14d, r10d
jmp 0x6d437009
mov ecx, dword [rbx + 0x20]
mov r8d, edi
mov rdx, r15
call fcn.6d432e10
mov dword [rbx + 0x20], eax
jmp 0x6d4380e8
mov ebp, r9d
mov ecx, r8d
mov edi, 0xffffffff
add dword [rbx + 0x1be4], r8d
sub ebp, r8d
shl edi, cl
not edi
and edi, esi
shr esi, cl
add dword [rbx + 0x54], edi
jmp 0x6d4366a5
mov ebp, ecx
mov r15, rax
mov esi, dword [rsp + 0x48]
xor r12d, r12d
sub esi, dword [rsp + 0x40]
xor r14d, r14d
jmp 0x6d436a7e
test esi, 0xe000
je 0x6d43a119
mov r11d, esi
lea rsi, str.unknown_header_flags_set
mov r15, rdi
mov qword [r13 + 0x20], rsi
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
cmp dword [rsp + 0xd8], 6
mov dword [rbx + 0x50], r9d
mov dword [rbx + 8], 0x3f42
je 0x6d43a46b
mov r15, rdx
xor ebp, ebp
xor esi, esi
jmp 0x6d436ee4
mov rdx, qword [rsp + 0x38]
mov edi, dword [rbx + 0x18]
mov eax, r8d
mov dword [rsp + 0x48], r11d
mov ecx, dword [rbx + 0x20]
sub rdx, rax
test edi, edi
je 0x6d43a211
call fcn.6d432e10
mov r11d, dword [rsp + 0x48]
mov esi, dword [rbx + 0x10]
mov dword [rbx + 0x20], eax
mov dword [r13 + 0x4c], eax
mov r10d, esi
and r10d, 4
test r10d, r10d
je 0x6d436572
mov r8d, dword [rbx + 0x18]
mov edx, r11d
test r8d, r8d
jne 0x6d439453
mov r9d, r11d
mov ecx, r11d
shr edx, 0x18
mov r15d, r11d
shl r9d, 0x18
shr ecx, 8
add edx, r9d
and ecx, 0xff00
shl r15d, 8
add edx, ecx
and r15d, 0xff0000
add edx, r15d
cmp dword [rbx + 0x20], edx
je 0x6d436572
mov edi, dword [rsp + 0x40]
lea r15, str.incorrect_data_check
mov qword [r13 + 0x20], r15
mov r15, r12
mov dword [rbx + 8], 0x3f51
mov dword [rsp + 0x48], edi
jmp 0x6d436709
mov ecx, dword [rbx + 0x20]
mov r8d, edi
mov rdx, r15
call fcn.6d432e10
mov dword [rbx + 0x20], eax
jmp 0x6d438300
mov ebp, ecx
mov r14d, r8d
jmp 0x6d437879
mov ecx, dword [rbx + 0x20]
mov r8d, 2
lea rdx, [rsp + 0x6c]
mov word [rsp + 0x6c], si
call fcn.6d432e10
mov dword [rbx + 0x20], eax
mov eax, dword [rbx + 0x18]
mov r8d, eax
jmp 0x6d438418
mov r14d, r9d
jmp 0x6d4369f4
mov rbx, qword [rsp + 0x50]
mov r13, qword [rsp + 0xd0]
mov ecx, eax
sub ebp, eax
add eax, dword [rbx + 0x1be4]
shr esi, cl
mov ecx, r10d
jmp 0x6d438339
mov r11d, esi
mov ebp, ecx
mov r15, rdx
jmp 0x6d439378
mov r11d, esi
lea rdx, str.invalid_block_type
sub ebp, 3
mov r15, r10
mov qword [r13 + 0x20], rdx
shr r11d, 3
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
lea r12d, [rax + 3]
cmp ebp, r12d
jae 0x6d43a08a
test r14d, r14d
je 0x6d436a70
mov r11d, ebp
not r11d
add r11d, r12d
shr r11d, 3
and r11d, 7
je 0x6d43964e
movzx edi, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl edi, cl
add esi, edi
cmp ebp, r12d
jae 0x6d43a08a
test r14d, r14d
je 0x6d436a70
cmp r11d, 1
je 0x6d43964e
cmp r11d, 2
je 0x6d439631
cmp r11d, 3
je 0x6d439614
cmp r11d, 4
je 0x6d4395f9
cmp r11d, 5
je 0x6d4395dc
cmp r11d, 6
je 0x6d4395bf
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx edi, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edi, cl
add esi, edi
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx r11d, byte [r15]
lea r9, [r15 + 1]
lea ebp, [r14 - 1]
lea r10d, [rcx + 8]
mov r14d, ebp
mov r15, r9
shl r11d, cl
mov ecx, r10d
add esi, r11d
cmp r10d, r12d
jae 0x6d43a087
test r14d, r14d
je 0x6d436ed0
movzx edi, byte [r15]
add r15, 1
shl edi, cl
add ecx, 8
add esi, edi
sub r14d, 1
je 0x6d436ed0
movzx r14d, byte [r9 + 1]
lea r15, [r9 + 2]
shl r14d, cl
lea ecx, [r10 + 0x10]
add esi, r14d
mov r14d, ebp
sub r14d, 2
je 0x6d436ed0
movzx r11d, byte [r9 + 2]
mov r14d, ebp
lea r15, [r9 + 3]
shl r11d, cl
lea ecx, [r10 + 0x18]
add esi, r11d
sub r14d, 3
je 0x6d436ed0
movzx edi, byte [r9 + 3]
mov r14d, ebp
lea r15, [r9 + 4]
shl edi, cl
lea ecx, [r10 + 0x20]
add esi, edi
sub r14d, 4
je 0x6d436ed0
movzx r14d, byte [r9 + 4]
lea r15, [r9 + 5]
shl r14d, cl
lea ecx, [r10 + 0x28]
add esi, r14d
mov r14d, ebp
sub r14d, 5
je 0x6d436ed0
movzx r11d, byte [r9 + 5]
mov r14d, ebp
lea r15, [r9 + 6]
shl r11d, cl
lea ecx, [r10 + 0x30]
add esi, r11d
sub r14d, 6
je 0x6d436ed0
lea r15, [r9 + 7]
movzx r9d, byte [r9 + 6]
shl r9d, cl
lea ecx, [r10 + 0x38]
add esi, r9d
sub ebp, 7
mov r14d, ebp
jne 0x6d439650
jmp 0x6d436ed0
mov ebp, r11d
mov ecx, eax
mov edi, 0xfffffff9
xor r12d, r12d
shr esi, cl
sub edi, eax
mov r9d, esi
add ebp, edi
shr esi, 7
and r9d, 0x7f
add r9d, 0xb
mov r10d, dword [rsp + 0x50]
add r10d, r9d
cmp r10d, dword [rsp + 0x58]
ja 0x6d43a3d8
mov r11d, dword [rbx + 0x84]
lea edi, [r9 + r11]
mov dword [rsp + 0x50], edi
and r9d, 7
je 0x6d439844
cmp r9d, 1
je 0x6d43982d
cmp r9d, 2
je 0x6d43981d
cmp r9d, 3
je 0x6d43980d
cmp r9d, 4
je 0x6d4397fd
cmp r9d, 5
je 0x6d4397ed
cmp r9d, 6
je 0x6d4397dd
mov r9d, r11d
add r11d, 1
mov word [rbx + r9*2 + 0x90], r12w
mov ecx, r11d
add r11d, 1
mov word [rbx + rcx*2 + 0x90], r12w
mov eax, r11d
add r11d, 1
mov word [rbx + rax*2 + 0x90], r12w
mov r10d, r11d
add r11d, 1
mov word [rbx + r10*2 + 0x90], r12w
mov edi, r11d
add r11d, 1
mov word [rbx + rdi*2 + 0x90], r12w
mov r9d, r11d
add r11d, 1
mov word [rbx + r9*2 + 0x90], r12w
mov ecx, r11d
add r11d, 1
mov word [rbx + rcx*2 + 0x90], r12w
cmp r11d, dword [rsp + 0x50]
je 0x6d4398b6
mov eax, r11d
lea r10d, [r11 + 1]
lea edi, [r11 + 2]
mov word [rbx + rax*2 + 0x90], r12w
lea r9d, [r11 + 3]
lea ecx, [r11 + 4]
mov word [rbx + r10*2 + 0x90], r12w
lea eax, [r11 + 5]
lea r10d, [r11 + 6]
mov word [rbx + rdi*2 + 0x90], r12w
lea edi, [r11 + 7]
add r11d, 8
mov word [rbx + r9*2 + 0x90], r12w
mov word [rbx + rcx*2 + 0x90], r12w
mov word [rbx + rax*2 + 0x90], r12w
mov word [rbx + r10*2 + 0x90], r12w
mov word [rbx + rdi*2 + 0x90], r12w
cmp r11d, dword [rsp + 0x50]
jne 0x6d439844
mov edi, dword [rsp + 0x50]
mov dword [rbx + 0x84], edi
mov r12d, edi
jmp 0x6d4383a1
mov ebp, ecx
mov r8d, eax
mov r15, rdx
cmp r8d, 0x12
ja 0x6d439a69
mov edi, 0x12
mov r10d, r8d
lea rcx, [0x6d48a6c0]
sub edi, r8d
lea r8, [0x6d48a6c2]
lea rax, [rcx + r10*2]
add rdi, r10
lea rcx, [r8 + rdi*2]
mov r12, rcx
sub r12, rax
sub r12, 2
shr r12, 1
add r12, 1
and r12d, 7
je 0x6d4399cf
cmp r12, 1
je 0x6d4399b3
cmp r12, 2
je 0x6d43999f
cmp r12, 3
je 0x6d43998c
cmp r12, 4
je 0x6d439979
cmp r12, 5
je 0x6d439965
cmp r12, 6
je 0x6d439952
movzx edx, word [rax]
add rax, 2
mov word [rbx + rdx*2 + 0x90], 0
movzx r9d, word [rax]
add rax, 2
mov word [rbx + r9*2 + 0x90], 0
movzx r11d, word [rax]
xor r10d, r10d
add rax, 2
mov word [rbx + r11*2 + 0x90], r10w
movzx edi, word [rax]
xor r8d, r8d
add rax, 2
mov word [rbx + rdi*2 + 0x90], r8w
movzx r12d, word [rax]
xor edx, edx
add rax, 2
mov word [rbx + r12*2 + 0x90], dx
movzx r11d, word [rax]
xor r9d, r9d
add rax, 2
mov word [rbx + r11*2 + 0x90], r9w
movzx r10d, word [rax]
xor edi, edi
add rax, 2
mov word [rbx + r10*2 + 0x90], di
cmp rcx, rax
je 0x6d439a5f
movzx r8d, word [rax]
xor r12d, r12d
xor r11d, r11d
xor r9d, r9d
add rax, 0x10
mov word [rbx + r8*2 + 0x90], r12w
movzx edx, word [rax - 0xe]
xor r8d, r8d
mov word [rbx + rdx*2 + 0x90], r11w
movzx r10d, word [rax - 0xc]
xor edx, edx
mov word [rbx + r10*2 + 0x90], r9w
movzx edi, word [rax - 0xa]
xor r10d, r10d
mov word [rbx + rdi*2 + 0x90], r8w
movzx r12d, word [rax - 8]
xor edi, edi
xor r8d, r8d
mov word [rbx + r12*2 + 0x90], dx
movzx r11d, word [rax - 6]
mov word [rbx + r11*2 + 0x90], r10w
movzx r9d, word [rax - 4]
mov word [rbx + r9*2 + 0x90], di
movzx r12d, word [rax - 2]
mov word [rbx + r12*2 + 0x90], r8w
cmp rcx, rax
jne 0x6d4399cf
mov dword [rbx + 0x84], 0x13
lea rax, [rbx + 0x550]
lea rcx, [rbx + 0x310]
mov dword [rbx + 0x70], 7
mov r8d, 0x13
lea r11, [rbx + 0x70]
mov qword [rbx + 0x88], rax
lea rdx, [rbx + 0x90]
mov qword [rbx + 0x60], rax
lea r9, [rbx + 0x88]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov qword [rsp + 0x20], r11
call fcn.6d43cc40
test eax, eax
je 0x6d43a220
lea rax, str.invalid_code_lengths_set
mov r11d, esi
mov qword [r13 + 0x20], rax
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov ecx, dword [rbx + 0x20]
mov r8d, edi
mov rdx, r15
call fcn.6d432e10
mov dword [rbx + 0x20], eax
jmp 0x6d4375fc
test dl, 0x40
je 0x6d43a0d8
lea rcx, [0x6d452cb7]
mov r11d, esi
mov qword [r13 + 0x20], rcx
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov r11d, esi
mov ebp, ecx
mov esi, dword [rsp + 0x48]
xor r12d, r12d
sub esi, dword [rsp + 0x40]
jmp 0x6d436a7e
mov ecx, dword [rbx + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], esi
call fcn.6d432e10
mov dword [rbx + 0x20], eax
jmp 0x6d4386aa
mov r11d, esi
mov ebp, ecx
mov r15, r8
jmp 0x6d439378
lea r15, str.incorrect_header_check
mov r11d, esi
mov qword [r13 + 0x20], r15
mov r15, rdi
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov rax, r15
jmp 0x6d437009
mov r15, rax
xor ebp, ebp
xor r11d, r11d
mov esi, dword [rsp + 0x48]
mov r12d, 1
sub esi, dword [rsp + 0x40]
mov dword [rbx + 8], 0x3f50
jmp 0x6d436a7e
mov rdx, r15
jmp 0x6d437ef9
mov ebp, ecx
mov r14d, r11d
jmp 0x6d437ef9
mov dword [rbx + 0x84], 0
mov r15, rdx
xor r8d, r8d
mov dword [rbx + 8], 0x3f45
jmp 0x6d437043
lea r12d, [rax + 2]
cmp ebp, r12d
jae 0x6d43a1d7
test r14d, r14d
je 0x6d436a70
mov edi, ebp
not edi
add edi, r12d
shr edi, 3
and edi, 7
je 0x6d439ceb
movzx r10d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r10d, cl
add esi, r10d
cmp ebp, r12d
jae 0x6d43a1d7
test r14d, r14d
je 0x6d436a70
cmp edi, 1
je 0x6d439ceb
cmp edi, 2
je 0x6d439cce
cmp edi, 3
je 0x6d439cb1
cmp edi, 4
je 0x6d439c94
cmp edi, 5
je 0x6d439c79
cmp edi, 6
je 0x6d439c5c
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
movzx edi, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl edi, cl
add esi, edi
sub r14d, 1
je 0x6d436a70
movzx r10d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r10d, cl
add esi, r10d
sub r14d, 1
je 0x6d436a70
movzx r11d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r11d, cl
add esi, r11d
sub r14d, 1
je 0x6d436a70
movzx r9d, byte [r15]
mov ecx, ebp
add r15, 1
add ebp, 8
shl r9d, cl
add esi, r9d
sub r14d, 1
je 0x6d436a70
mov ecx, ebp
movzx edi, byte [r15]
lea r10, [r15 + 1]
lea ebp, [r14 - 1]
lea r11d, [rcx + 8]
mov r14d, ebp
mov r15, r10
shl edi, cl
mov ecx, r11d
add esi, edi
cmp r11d, r12d
jae 0x6d43a1d4
test r14d, r14d
je 0x6d436ed0
movzx r9d, byte [r15]
add r15, 1
shl r9d, cl
add ecx, 8
add esi, r9d
sub r14d, 1
je 0x6d436ed0
movzx r14d, byte [r10 + 1]
lea r15, [r10 + 2]
shl r14d, cl
lea ecx, [r11 + 0x10]
add esi, r14d
mov r14d, ebp
sub r14d, 2
je 0x6d436ed0
movzx edi, byte [r10 + 2]
mov r14d, ebp
lea r15, [r10 + 3]
shl edi, cl
lea ecx, [r11 + 0x18]
add esi, edi
sub r14d, 3
je 0x6d436ed0
movzx r9d, byte [r10 + 3]
mov r14d, ebp
lea r15, [r10 + 4]
shl r9d, cl
lea ecx, [r11 + 0x20]
add esi, r9d
sub r14d, 4
je 0x6d436ed0
movzx r14d, byte [r10 + 4]
lea r15, [r10 + 5]
shl r14d, cl
lea ecx, [r11 + 0x28]
add esi, r14d
mov r14d, ebp
sub r14d, 5
je 0x6d436ed0
movzx edi, byte [r10 + 5]
mov r14d, ebp
lea r15, [r10 + 6]
shl edi, cl
lea ecx, [r11 + 0x30]
add esi, edi
sub r14d, 6
je 0x6d436ed0
lea r15, [r10 + 7]
movzx r10d, byte [r10 + 6]
shl r10d, cl
lea ecx, [r11 + 0x38]
add esi, r10d
sub ebp, 7
mov r14d, ebp
jne 0x6d439ced
jmp 0x6d436ed0
mov ebp, ecx
mov r14d, r8d
jmp 0x6d436547
mov r11d, esi
xor r12d, r12d
mov esi, dword [rsp + 0x48]
jmp 0x6d436a7e
mov ebp, ecx
mov r15, r12
jmp 0x6d439378
add edx, eax
mov r9d, 0xffffffff
mov ecx, edx
shl r9d, cl
mov ecx, eax
not r9d
mov r11d, r9d
and r9d, esi
shr r9d, cl
add r9d, r12d
lea r10, [r8 + r9*4]
movzx r9d, byte [r10 + 1]
movzx edx, byte [r10]
movzx edi, word [r10 + 2]
lea r10d, [r9 + rax]
cmp r10d, ebp
jbe 0x6d43a16b
test r14d, r14d
je 0x6d436a70
mov edx, r14d
lea edi, [r14 - 1]
and edx, 3
je 0x6d439f55
cmp edx, 1
je 0x6d439f0a
cmp edx, 2
je 0x6d439eca
movzx r9d, byte [r15]
mov ecx, ebp
mov r10d, r11d
mov r14d, edi
add ebp, 8
add r15, 1
shl r9d, cl
mov ecx, eax
add esi, r9d
and r10d, esi
shr r10d, cl
add r10d, r12d
lea r9, [r8 + r10*4]
movzx edx, byte [r9]
movzx edi, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r10d, [r9 + rax]
cmp r10d, ebp
jbe 0x6d43a16b
movzx edi, byte [r15]
mov ecx, ebp
mov edx, r11d
add ebp, 8
add r15, 1
sub r14d, 1
shl edi, cl
mov ecx, eax
add esi, edi
and edx, esi
shr edx, cl
add edx, r12d
lea r10, [r8 + rdx*4]
movzx r9d, byte [r10 + 1]
movzx edx, byte [r10]
movzx edi, word [r10 + 2]
lea r10d, [r9 + rax]
cmp r10d, ebp
jbe 0x6d43a16b
movzx r9d, byte [r15]
mov ecx, ebp
mov edi, r11d
add ebp, 8
add r15, 1
sub r14d, 1
shl r9d, cl
mov ecx, eax
add esi, r9d
and edi, esi
shr edi, cl
add edi, r12d
lea r10, [r8 + rdi*4]
movzx r9d, byte [r10 + 1]
movzx edx, byte [r10]
movzx edi, word [r10 + 2]
lea r10d, [r9 + rax]
cmp r10d, ebp
jbe 0x6d43a16b
test r14d, r14d
je 0x6d436a70
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0x50], rbx
mov ebx, r11d
movzx r13d, byte [r15]
mov ecx, ebp
lea r11, [r15 + 1]
lea edi, [r14 - 1]
mov r14d, edi
mov r15, r11
shl r13d, cl
mov ecx, eax
add esi, r13d
lea r13d, [rbp + 8]
mov edx, esi
mov ebp, r13d
and edx, ebx
shr edx, cl
add edx, r12d
lea r9, [r8 + rdx*4]
movzx edx, byte [r9]
movzx ecx, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r10d, [r9 + rax]
cmp r10d, r13d
jbe 0x6d43a15c
movzx r10d, byte [r15]
mov ecx, ebp
add ebp, 8
add r15, 1
sub r14d, 1
shl r10d, cl
mov ecx, eax
add esi, r10d
mov edx, esi
and edx, ebx
shr edx, cl
add edx, r12d
lea r9, [r8 + rdx*4]
movzx edx, byte [r9]
movzx ecx, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r10d, [r9 + rax]
cmp r10d, ebp
jbe 0x6d43a15c
movzx r10d, byte [r11 + 1]
mov ecx, ebp
lea ebp, [r13 + 0x10]
lea r14d, [rdi - 2]
lea r15, [r11 + 2]
shl r10d, cl
mov ecx, eax
add esi, r10d
mov edx, esi
and edx, ebx
shr edx, cl
add edx, r12d
lea r9, [r8 + rdx*4]
movzx edx, byte [r9]
movzx ecx, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r10d, [r9 + rax]
cmp r10d, ebp
jbe 0x6d43a15c
lea r14d, [rdi - 3]
movzx edi, byte [r11 + 2]
mov ecx, ebp
lea r15, [r11 + 3]
lea ebp, [r13 + 0x18]
shl edi, cl
mov ecx, eax
add esi, edi
mov r11d, esi
and r11d, ebx
shr r11d, cl
add r11d, r12d
lea r13, [r8 + r11*4]
movzx r9d, byte [r13 + 1]
movzx edx, byte [r13]
movzx ecx, word [r13 + 2]
lea r10d, [r9 + rax]
cmp r10d, ebp
jbe 0x6d43a15c
test r14d, r14d
jne 0x6d439f65
jmp 0x6d439319
mov ebp, r10d
mov ecx, eax
mov r12d, 0xfffffffd
shr esi, cl
sub r12d, eax
mov r9d, esi
add ebp, r12d
shr esi, 3
xor r12d, r12d
and r9d, 7
add r9d, 3
jmp 0x6d43977d
mov rdi, r15
jmp 0x6d437731
mov rdx, r15
jmp 0x6d437879
mov rdx, r15
jmp 0x6d437911
mov r8, r15
jmp 0x6d4369f4
mov r10, r15
jmp 0x6d437787
and edx, 0xf
mov dword [rbx + 8], 0x3f49
mov dword [rbx + 0x58], edx
jmp 0x6d436723
mov ebp, ecx
mov r14d, r9d
jmp 0x6d437731
cmp dword [rsp + 0xd8], 6
mov dword [rbx + 8], 0x3f47
jne case.0x6d436450.19
mov r11d, esi
mov esi, dword [rsp + 0x48]
sub esi, dword [rsp + 0x40]
jmp 0x6d436a7e
mov rbp, qword [rbx + 0x28]
test rbp, rbp
je 0x6d43a12d
mov edx, esi
shr edx, 8
and edx, 1
mov dword [rbp], edx
test esi, 0x200
je 0x6d43a13f
test byte [rbx + 0x10], 4
jne 0x6d43a3b8
mov dword [rbx + 8], 0x3f36
mov r15, rdi
xor esi, esi
xor ebp, ebp
jmp 0x6d437109
mov ebp, ecx
mov r14d, r12d
jmp 0x6d437911
mov rbx, qword [rsp + 0x50]
mov r13, qword [rsp + 0xd0]
mov edi, ecx
mov ecx, eax
sub ebp, eax
movzx r8d, di
mov dword [rbx + 0x1be4], r10d
shr esi, cl
mov ecx, r9d
mov dword [rbx + 0x50], r8d
sub ebp, r9d
shr esi, cl
test dl, dl
jne 0x6d43892a
jmp 0x6d4365a2
mov ecx, dword [rbx + 0x20]
mov r8d, 2
lea rdx, [rsp + 0x6c]
xor ebp, ebp
mov word [rsp + 0x6c], si
xor esi, esi
call fcn.6d432e10
mov r8d, dword [rbx + 0x18]
mov dword [rbx + 0x20], eax
mov ecx, r8d
and ecx, 0x400
jmp 0x6d4376c2
mov r11d, esi
mov r15, r8
jmp 0x6d439378
mov ebp, r11d
mov ecx, eax
sub ebp, eax
mov eax, dword [rsp + 0x50]
shr esi, cl
test eax, eax
je 0x6d43a3d8
mov r12d, dword [rsp + 0x50]
mov r9d, esi
sub ebp, 2
shr esi, 2
and r9d, 3
sub r12d, 1
add r9d, 3
movzx r12d, word [rbx + r12*2 + 0x90]
jmp 0x6d43977d
call fcn.6d4325b0
mov r11d, dword [rsp + 0x48]
jmp 0x6d439401
mov dword [rbx + 0x84], 0
mov dword [rbx + 8], 0x3f46
mov dword [rsp + 0x50], 0
jmp 0x6d436cca
mov rdi, qword [rsp + 0x38]
jmp 0x6d43905a
mov r11, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
mov qword [r13], r15
mov r12d, 2
mov dword [r13 + 8], r14d
mov qword [r13 + 0x10], r11
mov dword [r13 + 0x18], r9d
mov dword [rbx + 0x48], esi
mov dword [rbx + 0x4c], ebp
jmp 0x6d4363a3
mov r12, r15
jmp 0x6d436547
mov r11d, esi
mov esi, dword [rsp + 0x48]
sub esi, r12d
xor r12d, r12d
jmp 0x6d436a7e
cmp dword [rbx + 0x30], 0
jne 0x6d43a29a
mov dword [rbx + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov r15, rdi
call fcn.6d432e10
lea rdx, [rsp + 0x6c]
xor ebp, ebp
xor esi, esi
mov dword [rbx + 0x20], eax
mov ecx, eax
mov r8d, 2
mov word [rsp + 0x6c], 0x8b1f
call fcn.6d432e10
mov dword [rbx + 8], 0x3f35
mov dword [rbx + 0x20], eax
jmp 0x6d4376e9
mov rdi, r15
jmp 0x6d438e9f
mov ebp, ecx
mov r14d, r11d
jmp 0x6d438e9f
mov r11d, esi
jmp 0x6d436709
lea rdx, [rbx + 0x550]
lea r8, [rbx + 0x70]
mov dword [rbx + 0x70], 9
mov ecx, 1
lea r12, [rbx + 0x310]
mov qword [rbx + 0x88], rdx
lea rdi, [rbx + 0x90]
mov qword [rbx + 0x60], rdx
lea r9, [rbx + 0x88]
mov rdx, rdi
mov qword [rsp + 0x20], r8
mov r8d, dword [rsp + 0x5c]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x50], r9
call fcn.6d43cc40
mov r9, qword [rsp + 0x50]
test eax, eax
je 0x6d43a3f2
lea r9, str.invalid_literal_lengths_set
mov r11d, esi
mov qword [r13 + 0x20], r9
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
cmp ecx, 0xf
ja 0x6d438f49
cmp r10d, ecx
jb 0x6d438f49
mov ebp, 1
xor r8d, r8d
xor edx, edx
shl ebp, cl
xor ecx, ecx
mov dword [rbx + 0x1c], ebp
call fcn.6d4325b0
mov dword [rbx + 0x20], eax
mov dword [r13 + 0x4c], eax
and esi, 0x200
jne 0x6d43a483
mov dword [rbx + 8], 0x3f3f
xor ebp, ebp
mov r15, rdi
jmp case.0x6d436450.11
mov ecx, dword [rbx + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], si
call fcn.6d432e10
mov dword [rbx + 0x20], eax
jmp 0x6d43a13f
mov r11d, esi
lea rsi, str.invalid_bit_length_repeat
mov qword [r13 + 0x20], rsi
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov r11, qword [rbx + 0x88]
mov edx, dword [rbx + 0x7c]
lea r10, [rbx + 0x74]
mov dword [rbx + 0x74], 6
mov r8d, dword [rbx + 0x80]
mov ecx, 2
mov qword [rbx + 0x68], r11
add rdx, rdx
mov qword [rsp + 0x28], r12
add rdx, rdi
mov qword [rsp + 0x20], r10
call fcn.6d43cc40
mov r12d, eax
test eax, eax
je 0x6d43a0f4
mov r11d, esi
lea rsi, str.invalid_distances_set
mov qword [r13 + 0x20], rsi
mov dword [rbx + 8], 0x3f51
jmp 0x6d436709
mov r11d, esi
sub ebp, 3
mov esi, dword [rsp + 0x48]
mov r15, r10
shr r11d, 3
sub esi, dword [rsp + 0x40]
jmp 0x6d436a7e
mov esi, dword [rsp + 0x48]
mov r15, rdx
sub esi, dword [rsp + 0x40]
xor r12d, r12d
xor ebp, ebp
xor r11d, r11d
jmp 0x6d436a7e
mov dword [rbx + 8], 0x3f3d
xor esi, esi
xor ebp, ebp
mov r15, rdi
jmp 0x6d436961