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

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov r15, rcx
call fcn.00466f04
xor edx, edx
test eax, eax
jne case.0x467e2a.16211
cmp qword [rcx + 0x18], rdx
je case.0x467e2a.16211
cmp qword [rcx], rdx
jne 0x467da5
cmp dword [rcx + 8], edx
jne case.0x467e2a.16211
mov rdi, qword [rcx + 0x38]
mov eax, 0x3f40
mov ecx, dword [rdi + 8]
cmp ecx, 0x3f3f
jne 0x467dbe
mov dword [rdi + 8], eax
mov ecx, eax
mov r10d, dword [r15 + 0x20]
add ecx, 0xffffc0cc
mov r9d, dword [rdi + 0x3c]
mov ebx, r10d
mov eax, dword [rdi + 0x34]
mov r12d, dword [r15 + 8]
add r9, rax
add r9, qword [rdi + 0x40]
mov r13, qword [r15]
mov esi, dword [rdi + 0xa0]
mov r14d, dword [rdi + 0xa4]
mov qword [rbp - 8], r9
mov dword [rbp + 0x50], r10d
mov dword [rbp - 0x10], r12d
mov dword [rbp - 0x1c], ebx
mov dword [rbp + 0x58], edx
cmp ecx, 0x1f
ja case.0x467e2a.16211
movsxd rax, ecx
lea r11, [rdi + 0xc8]
lea rcx, [0x00400000]
mov ecx, dword [rcx + rax*4 + 0x696b4]
lea rax, [0x00400000]
add rcx, rax
jmp rcx
xor r8d, r8d
cmp dword [rdi + 0x10], r8d
jne 0x467e41
mov dword [rdi + 8], 0x3f40
jmp 0x467ec2
mov ebx, select
jmp 0x467e67
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, ebx
jb 0x467e48
test byte [rdi + 0x10], 2
je 0x467edc
cmp esi, 0x8b1f
jne 0x467edc
cmp dword [rdi + 0x30], r8d
jne 0x467e87
mov dword [rdi + 0x30], select
mov byte [rbp - 0x20], sil
lea rdx, [rbp - 0x20]
mov dword [rdi + 0x20], r8d
xor ecx, ecx
shr esi, 8
mov r8d, 2
mov byte [rbp - 0x1f], sil
call fcn.00463950
xor r11d, r11d
mov dword [rdi + 0x20], eax
mov esi, r11d
mov dword [rdi + 8], 0x3f35
mov r14d, r11d
mov r10d, dword [rbp + 0x50]
mov r9, qword [rbp - 8]
mov ecx, dword [rdi + 8]
sub ecx, 0x3f34
cmp ecx, 0x1f
ja case.0x467e2a.16211
mov ebx, dword [rbp - 0x1c]
jmp 0x467e08
mov rax, qword [rdi + 0x28]
mov dword [rdi + 0x18], r8d
test rax, rax
je 0x467eed
or dword [rax + 0x40], 0xffffffff
test byte [rdi + 0x10], 1
je 0x46803c
movzx ecx, sil
mov eax, esi
shr eax, 8
shl ecx, 8
add ecx, eax
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
cmp ecx, eax
jne 0x46803c
mov eax, esi
and al, 0xf
cmp al, 8
je 0x467f36
lea rax, str.unknown_compression_method
jmp 0x468043
mov eax, dword [rdi + 0x30]
add r14d, 0xfffffffc
shr esi, 4
mov ebx, esi
and ebx, 0xf
add ebx, 8
test eax, eax
jne 0x467f51
mov eax, ebx
mov dword [rdi + 0x30], ebx
cmp ebx, 0xf
ja 0x468033
cmp ebx, eax
ja 0x468033
cmp qword [rdi + 0x40], r8
jne 0x467ffc
sub r9d, dword [rdi + 0x34]
mov edx, 1
sub r9d, dword [rdi + 0x40]
mov r8d, 4
mov dword [rdi + 0x3c], r9d
mov dword [r15 + 0x20], r10d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov ecx, dword [rdi + 0x30]
shl edx, cl
mov dword [rdi + 0x34], edx
add edx, 0x10
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0xa4], r14d
mov rax, qword [r15 + 0x40]
mov rcx, qword [r15 + 0x50]
call rax
xor r8d, r8d
mov qword [rdi + 0x40], rax
test rax, rax
jne 0x467fd5
mov rcx, qword [r15 + 0x50]
mov rdx, rdi
call qword [r15 + 0x48]
xor r8d, r8d
mov dword [rbp + 0x58], 0xfffffffc
mov qword [r15 + 0x38], r8
mov r9d, dword [rdi + 0x3c]
mov eax, dword [rdi + 0x34]
mov r10d, dword [r15 + 0x20]
add r9, rax
add r9, qword [rdi + 0x40]
mov r13, qword [r15]
mov r12d, dword [r15 + 8]
mov esi, dword [rdi + 0xa0]
mov qword [rbp - 8], r9
mov dword [rbp + 0x50], r10d
shr esi, 8
mov ecx, ebx
not esi
mov dword [rdi + 0x20], 1
and esi, 2
mov eax, 1
shl eax, cl
mov r14d, r8d
or esi, 0x3f3d
mov dword [rdi + 0x1c], eax
mov dword [r15 + 0x5c], 1
mov dword [rdi + 8], esi
mov esi, r8d
jmp 0x467ec2
lea rax, str.invalid_window_size
jmp 0x468043
lea rax, str.incorrect_header_check
mov qword [r15 + 0x30], rax
mov dword [rdi + 8], 0x3f51
jmp 0x467ec2
mov ebx, select
xor r8d, r8d
cmp r14d, ebx
jae 0x468081
test r12d, r12d
je 0x469682
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x46805b
mov dword [rdi + 0x18], esi
cmp sil, 8
jne 0x467f2a
test esi, 0xe000
je 0x46809f
lea rax, str.unknown_header_flags_set
jmp 0x468043
mov rdx, qword [rdi + 0x28]
mov ecx, esi
shr ecx, 8
test rdx, rdx
je 0x4680b4
mov eax, ecx
and eax, 1
mov dword [rdx], eax
test dword [rdi + 0x18], 0x200
je 0x4680e2
test byte [rdi + 0x10], 4
je 0x4680e2
mov byte [rbp - 0x1f], cl
lea rdx, [rbp - 0x20]
mov ecx, dword [rdi + 0x20]
mov r8d, 2
mov byte [rbp - 0x20], sil
call fcn.00463950
mov dword [rdi + 0x20], eax
xor r8d, r8d
mov esi, r8d
mov dword [rdi + 8], 0x3f36
mov r14d, r8d
jmp 0x4680fd
mov dword [rbp - 0x18], esi
xor r8d, r8d
cmp r14d, 0x20
jae 0x46811e
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x4680f7
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x46812a
mov dword [rax + 4], esi
test dword [rdi + 0x18], 0x200
je 0x46816c
test byte [rdi + 0x10], 4
je 0x46816c
mov ecx, dword [rdi + 0x20]
lea rdx, [rbp - 0x20]
mov eax, esi
mov byte [rbp - 0x20], sil
shr eax, 8
mov r8d, 4
mov byte [rbp - 0x1f], al
mov eax, esi
shr eax, 0x10
shr esi, 0x18
mov byte [rbp - 0x1e], al
mov byte [rbp - 0x1d], sil
call fcn.00463950
mov dword [rdi + 0x20], eax
xor r8d, r8d
mov esi, r8d
mov dword [rdi + 8], 0x3f37
mov r14d, r8d
mov ebx, select
jmp 0x468190
mov dword [rbp - 0x18], esi
mov ebx, select
xor r8d, r8d
cmp r14d, ebx
jae 0x4681b1
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x46818b
mov rdx, qword [rdi + 0x28]
mov ecx, esi
shr ecx, 8
test rdx, rdx
je 0x4681cd
movzx eax, sil
mov dword [rdx + 8], eax
mov rax, qword [rdi + 0x28]
mov dword [rax + 0xc], ecx
test dword [rdi + 0x18], 0x200
je 0x4681fb
test byte [rdi + 0x10], 4
je 0x4681fb
mov byte [rbp - 0x1f], cl
lea rdx, [rbp - 0x20]
mov ecx, dword [rdi + 0x20]
mov r8d, 2
mov byte [rbp - 0x20], sil
call fcn.00463950
mov dword [rdi + 0x20], eax
xor r8d, r8d
mov esi, r8d
mov dword [rdi + 8], 0x3f38
mov r14d, r8d
jmp 0x468211
xor r8d, r8d
lea ebx, [r8 + 0x10]
test dword [rdi + 0x18], 0x400
jne 0x46824f
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x468227
mov qword [rax + 0x10], r8
mov dword [rdi + 8], 0x3f39
jmp 0x4682a3
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, ebx
jb 0x468230
mov rax, qword [rdi + 0x28]
mov dword [rdi + 0xa8], esi
test rax, rax
je 0x468266
mov dword [rax + 0x18], esi
test dword [rdi + 0x18], 0x200
je 0x468298
test byte [rdi + 0x10], 4
je 0x468298
mov ecx, dword [rdi + 0x20]
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x20], sil
mov r8d, 2
shr esi, 8
mov byte [rbp - 0x1f], sil
call fcn.00463950
mov dword [rdi + 0x20], eax
xor r8d, r8d
mov esi, r8d
mov r14d, r8d
jmp 0x468227
xor r8d, r8d
test dword [rdi + 0x18], 0x400
je 0x46835c
mov ebx, dword [rdi + 0xa8]
mov ecx, r12d
cmp ebx, r12d
cmovbe ecx, ebx
mov dword [rbp + 0x48], ecx
test ecx, ecx
je 0x468354
mov rax, qword [rdi + 0x28]
mov edx, ebx
test rax, rax
je 0x468314
mov r10, qword [rax + 0x10]
test r10, r10
je 0x468314
mov r9d, dword [rax + 0x18]
mov edx, dword [rax + 0x1c]
sub r9d, ebx
lea eax, [rcx + r9]
cmp eax, edx
jbe 0x4682f5
sub edx, r9d
jmp 0x4682f7
mov edx, ecx
mov ecx, r9d
mov r8d, edx
add rcx, r10
mov rdx, r13
call fcn.00424180
mov edx, dword [rdi + 0xa8]
xor r8d, r8d
mov ecx, dword [rbp + 0x48]
test dword [rdi + 0x18], 0x200
mov ebx, edx
je 0x468343
test byte [rdi + 0x10], 4
je 0x468343
test r13, r13
jne 0x46832f
mov eax, r8d
jmp 0x468340
mov r8d, ecx
mov rdx, r13
mov ecx, dword [rdi + 0x20]
call fcn.00463950
xor r8d, r8d
mov dword [rdi + 0x20], eax
mov ecx, dword [rbp + 0x48]
sub r12d, ecx
add r13, rcx
sub ebx, ecx
mov dword [rdi + 0xa8], ebx
test ebx, ebx
jne 0x4684c4
mov dword [rdi + 0xa8], r8d
mov dword [rdi + 8], 0x3f3a
jmp 0x46836f
xor r8d, r8d
test dword [rdi + 0x18], 0x800
je 0x46840c
test r12d, r12d
je 0x4684c4
mov ebx, r8d
xor r9d, r9d
mov eax, ebx
inc ebx
mov r8b, byte [rax + r13]
mov rax, qword [rdi + 0x28]
mov byte [rbp + 0x48], r8b
test rax, rax
je 0x4683be
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x4683be
mov ecx, dword [rdi + 0xa8]
cmp ecx, dword [rax + 0x28]
jae 0x4683be
mov byte [rcx + rdx], r8b
inc dword [rdi + 0xa8]
test r8b, r8b
je 0x4683c8
cmp ebx, r12d
jb 0x46838b
test dword [rdi + 0x18], 0x200
je 0x4683f6
test byte [rdi + 0x10], 4
je 0x4683f6
test r13, r13
jne 0x4683e1
mov eax, r9d
jmp 0x4683f3
mov ecx, dword [rdi + 0x20]
mov rdx, r13
mov r8d, ebx
call fcn.00463950
mov r8b, byte [rbp + 0x48]
mov dword [rdi + 0x20], eax
mov eax, ebx
sub r12d, ebx
add r13, rax
test r8b, r8b
jne 0x4684c4
xor r8d, r8d
jmp 0x468419
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x468419
mov qword [rax + 0x20], r8
mov dword [rdi + 0xa8], r8d
mov dword [rdi + 8], 0x3f3b
jmp 0x46842c
xor r8d, r8d
test dword [rdi + 0x18], 0x1000
je 0x468587
test r12d, r12d
je 0x4684c4
mov ebx, r8d
xor r9d, r9d
mov eax, ebx
inc ebx
mov r8b, byte [rax + r13]
mov rax, qword [rdi + 0x28]
mov byte [rbp + 0x48], r8b
test rax, rax
je 0x46847b
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x46847b
mov ecx, dword [rdi + 0xa8]
cmp ecx, dword [rax + 0x38]
jae 0x46847b
mov byte [rcx + rdx], r8b
inc dword [rdi + 0xa8]
test r8b, r8b
je 0x468485
cmp ebx, r12d
jb 0x468448
test dword [rdi + 0x18], 0x200
je 0x4684b3
test byte [rdi + 0x10], 4
je 0x4684b3
test r13, r13
jne 0x46849e
mov eax, r9d
jmp 0x4684b0
mov ecx, dword [rdi + 0x20]
mov rdx, r13
mov r8d, ebx
call fcn.00463950
mov r8b, byte [rbp + 0x48]
mov dword [rdi + 0x20], eax
mov eax, ebx
sub r12d, ebx
add r13, rax
test r8b, r8b
je 0x468594
mov ebx, dword [rbp + 0x58]
mov r8d, dword [rbp + 0x50]
mov rax, qword [rbp - 8]
sub eax, dword [rdi + 0x34]
sub eax, dword [rdi + 0x40]
mov dword [rdi + 0x3c], eax
mov dword [r15 + 0x20], r8d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov dword [rdi + 0xa0], esi
xor esi, esi
mov dword [rdi + 0xa4], r14d
cmp dword [rdi + 0x3c], esi
je 0x468505
cmp dword [r15 + 0x20], esi
je 0x468505
mov rcx, r15
call fcn.0041b8c4
mov r10d, dword [rbp - 0x10]
sub r10d, dword [r15 + 8]
mov r9d, dword [rbp - 0x1c]
sub r9d, dword [r15 + 0x20]
mov eax, r10d
add qword [r15 + 0x10], rax
mov eax, r9d
add qword [r15 + 0x28], rax
add dword [rdi + 0x24], r9d
cmp dword [rdi + 8], 0x3f47
je 0x46853c
cmp dword [rdi + 8], 0x3f42
mov r8d, esi
jne 0x468542
mov r8d, 0x100
mov eax, dword [rdi + 0xc]
mov edx, esi
neg eax
mov eax, 0x80
sbb ecx, ecx
and ecx, 0x40
cmp dword [rdi + 8], 0x3f3f
cmove edx, eax
lea eax, [r8 + rcx]
add edx, eax
add edx, dword [rdi + 0xa4]
mov dword [r15 + 0x58], edx
test r10d, r10d
jne 0x468580
test r9d, r9d
jne 0x468580
test ebx, ebx
lea eax, [r10 - 5]
cmove ebx, eax
mov eax, ebx
jmp 0x46969a
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x468594
mov qword [rax + 0x30], r8
mov r9, qword [rbp - 8]
mov r10d, dword [rbp + 0x50]
mov dword [rdi + 8], 0x3f3c
mov edx, dword [rdi + 0x18]
xor r8d, r8d
bt edx, 9
jae 0x4685f9
lea ebx, [r8 + 0x10]
cmp r14d, ebx
jae 0x4685d9
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x4685b3
test byte [rdi + 0x10], 4
je 0x4685f3
movzx eax, word [rdi + 0x20]
cmp esi, eax
je 0x4685f3
lea rax, str.header_crc_mismatch
jmp 0x468043
mov esi, r8d
mov r14d, r8d
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x468616
sar edx, 9
and edx, 1
mov dword [rax + 0x3c], edx
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x40], 1
cmp dword [0x004bb5c4], r8d
mov dword [rdi + 0x20], r8d
mov dword [r15 + 0x5c], r8d
je 0x46865a
movdqu xmm2, xmmword [rdi + 0x90]
mov eax, 0x9db42487
xorps xmm1, xmm1
movdqu xmmword [rdi + 0x60], xmm1
movd xmm0, eax
movdqu xmmword [rdi + 0x50], xmm0
movdqu xmmword [rdi + 0x70], xmm1
movdqu xmmword [rdi + 0x80], xmm1
movdqu xmmword [rdi + 0x90], xmm2
mov dword [rdi + 8], 0x3f3f
jmp 0x467ec2
xor r8d, r8d
cmp r14d, 0x20
jae 0x468690
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x468669
mov ecx, esi
mov eax, esi
shl eax, 0x10
mov edx, 0xff00
and ecx, edx
mov r14d, r8d
add ecx, eax
mov eax, esi
shr eax, 8
and eax, edx
shl ecx, 8
shr esi, 0x18
add eax, ecx
add eax, esi
mov esi, r8d
mov dword [rdi + 0x20], eax
mov dword [r15 + 0x5c], eax
mov dword [rdi + 8], 0x3f3e
jmp 0x4686ca
xor r8d, r8d
cmp dword [rdi + 0x14], r8d
je 0x469626
mov dword [rdi + 0x20], 1
mov dword [r15 + 0x5c], 1
mov dword [rdi + 8], 0x3f3f
jmp 0x4686ef
xor r8d, r8d
cmp dword [rdi + 0xc], r8d
je 0x46872b
mov ecx, r14d
mov dword [rdi + 8], 0x3f4e
and ecx, 7
shr esi, cl
sub r14d, ecx
jmp 0x467ec2
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, 3
jb 0x46870c
mov eax, esi
shr esi, 1
and eax, 1
mov dword [rdi + 0xc], eax
mov eax, esi
and eax, 3
je 0x4687a4
sub eax, 1
je 0x46876e
sub eax, 1
je 0x468765
cmp eax, 1
jne 0x4687ab
lea rax, str.invalid_block_type
mov qword [r15 + 0x30], rax
mov dword [rdi + 8], 0x3f51
jmp 0x4687ab
mov dword [rdi + 8], 0x3f44
jmp 0x4687ab
lea rax, [0x00496280]
mov dword [r11], 9
mov qword [rdi + 0xb8], rax
lea rax, [0x00496200]
mov qword [rdi + 0xc0], rax
mov dword [rdi + 0xcc], 5
mov dword [rdi + 8], 0x3f47
jmp 0x4687ab
mov dword [rdi + 8], 0x3f41
shr esi, 2
add r14d, 0xfffffffd
jmp 0x467ec2
mov ecx, r14d
and ecx, 7
shr esi, cl
sub r14d, ecx
xor r8d, r8d
cmp r14d, 0x20
jae 0x4687ec
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x4687c5
mov eax, esi
movzx ecx, si
not eax
shr eax, 0x10
cmp ecx, eax
je 0x468806
lea rax, str.invalid_stored_block_lengths
jmp 0x468043
mov dword [rdi + 0xa8], ecx
mov esi, r8d
mov r14d, r8d
mov dword [rdi + 8], 0x3f43
mov edx, dword [rdi + 0xa8]
test edx, edx
je 0x46865a
mov r8d, dword [rdi + 0x34]
mov ebx, r12d
lea eax, [r8*4]
add rax, qword [rdi + 0x40]
mov ecx, eax
mov qword [rbp - 0x18], rax
sub ecx, r9d
cmp edx, r12d
cmovbe ebx, edx
mov dword [rbp + 0x48], ebx
mov eax, ebx
cmp ebx, ecx
jbe 0x4688cf
test r10d, r10d
je 0x4688c4
sub r9d, r8d
mov rcx, r15
sub r9d, dword [rdi + 0x40]
mov dword [rdi + 0x3c], r9d
mov dword [r15 + 0x20], r10d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0xa4], r14d
call fcn.0041b8c4
mov eax, dword [rdi + 0x34]
mov ecx, dword [rbp - 0x18]
mov r9d, dword [rdi + 0x3c]
mov r8d, dword [r15 + 0x20]
add r9, rax
add r9, qword [rdi + 0x40]
mov eax, ebx
mov esi, dword [rdi + 0xa0]
sub ecx, r9d
mov r13, qword [r15]
mov r12d, dword [r15 + 8]
mov r14d, dword [rdi + 0xa4]
mov qword [rbp - 8], r9
mov dword [rbp + 0x50], r8d
mov dword [rbp + 0x48], ebx
mov dword [rbp - 0x18], esi
cmp ebx, ecx
jbe 0x4688d3
jmp 0x4688c8
mov r8d, dword [rbp + 0x50]
mov eax, ecx
mov dword [rbp + 0x48], ecx
jmp 0x4688d3
mov r8d, dword [rbp + 0x50]
test eax, eax
je 0x469686
mov r8d, eax
mov rdx, r13
mov rcx, r9
mov ebx, eax
call fcn.00424180
mov r9, qword [rbp - 8]
add r13, rbx
mov eax, dword [rbp + 0x48]
add r9, rbx
sub r12d, eax
mov qword [rbp - 8], r9
sub dword [rdi + 0xa8], eax
mov r10d, dword [rbp + 0x50]
jmp 0x467ec2
xor r8d, r8d
cmp r14d, 0xe
jae 0x468938
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x468911
mov ecx, esi
add r14d, 0xfffffff2
shr esi, 5
and ecx, 0x1f
mov edx, esi
add ecx, 0x101
shr esi, 5
and edx, 0x1f
mov eax, esi
mov dword [rdi + 0xd4], ecx
and eax, 0xf
shr esi, 4
add eax, 4
inc edx
mov dword [rdi + 0xd8], edx
mov dword [rdi + 0xd0], eax
cmp ecx, 0x11e
ja 0x46898e
cmp edx, 0x1e
ja 0x46898e
mov dword [rdi + 0xdc], r8d
mov dword [rdi + 8], 0x3f45
jmp 0x46899d
lea rax, str.too_many_length_or_distance_symbols
jmp 0x468043
xor r8d, r8d
mov edx, 7
lea r9, [0x00400000]
mov eax, dword [rdi + 0xdc]
cmp eax, dword [rdi + 0xd0]
jae 0x468a28
jmp 0x4689d8
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, 3
jb 0x4689b9
mov eax, dword [rdi + 0xdc]
movzx ecx, si
and cx, dx
shr esi, 3
movzx eax, word [r9 + rax*2 + 0x96a80]
mov word [rdi + rax*2 + 0xe8], cx
inc dword [rdi + 0xdc]
add r14d, 0xfffffffd
jmp 0x4689a9
movzx eax, word [r9 + rax*2 + 0x96a80]
mov word [rdi + rax*2 + 0xe8], r8w
inc dword [rdi + 0xdc]
mov eax, dword [rdi + 0xdc]
cmp eax, 0x13
jb 0x468a0a
lea rax, [rdi + 0x5a8]
mov dword [r11], edx
lea r9, [rdi + 0xe0]
mov qword [rdi + 0xb8], rax
xor ecx, ecx
mov qword [r9], rax
lea rax, [rdi + 0x368]
mov qword [rsp + 0x28], rax
lea rdx, [rdi + 0xe8]
mov qword [rsp + 0x20], r11
lea r8d, [rcx + 0x13]
call fcn.00466980
mov r10d, dword [rbp + 0x50]
xor r8d, r8d
mov dword [rbp + 0x58], eax
test eax, eax
je 0x468a90
lea rax, str.invalid_code_lengths_set
mov qword [r15 + 0x30], rax
mov dword [rdi + 8], 0x3f51
jmp 0x467ebe
mov dword [rdi + 0xdc], r8d
lea r11, [rdi + 0xc8]
mov dword [rdi + 8], 0x3f46
jmp 0x468aaa
xor r8d, r8d
mov eax, dword [rdi + 0xd8]
add eax, dword [rdi + 0xd4]
cmp dword [rdi + 0xdc], eax
jae 0x468ce9
mov r8d, dword [r11]
mov eax, 1
mov r9, qword [rdi + 0xb8]
mov ecx, r8d
shl eax, cl
lea ecx, [rax - 1]
mov eax, esi
and rcx, rax
mov eax, dword [r9 + rcx*4]
mov ecx, eax
shr ecx, 8
xor ebx, ebx
movzx ecx, cl
mov dword [rbp + 0x48], eax
cmp ecx, r14d
jbe 0x468b2f
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
mov ecx, r8d
mov eax, 1
mov edx, esi
shl eax, cl
inc r13
dec eax
add r14d, 8
and rax, rdx
mov eax, dword [r9 + rax*4]
mov ecx, eax
shr ecx, 8
jmp 0x468ae9
mov edx, eax
mov ecx, select
shr edx, 0x10
cmp dx, cx
jae 0x468b69
shr eax, 8
movzx ecx, al
mov eax, dword [rdi + 0xdc]
sub r14d, ecx
shr esi, cl
mov word [rdi + rax*2 + 0xe8], dx
inc dword [rdi + 0xdc]
mov r8d, dword [rdi + 0xdc]
jmp 0x468caa
jne 0x468bd3
shr eax, 8
movzx edx, al
add edx, 2
xor r8d, r8d
cmp r14d, edx
jae 0x468b9d
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
jmp 0x468b77
movzx ecx, byte [rbp + 0x49]
mov eax, dword [rdi + 0xdc]
sub r14d, ecx
shr esi, cl
test eax, eax
je 0x468cc0
mov edx, esi
add r14d, 0xfffffffe
and edx, 3
shr esi, 2
add edx, 3
dec eax
movzx r9d, word [rdi + rax*2 + 0xe8]
jmp 0x468c6c
cmp word [rbp + 0x4a], 0x11
movzx r8d, byte [rbp + 0x49]
jne 0x468c23
lea edx, [r8 + 3]
jmp 0x468c04
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, edx
jb 0x468be5
mov ecx, r8d
mov eax, 0xfffffffd
shr esi, cl
mov r9d, ebx
mov edx, esi
and edx, 7
add edx, 3
shr esi, 3
jmp 0x468c66
lea edx, [r8 + 7]
jmp 0x468c48
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, edx
jb 0x468c29
mov ecx, r8d
mov eax, 0xfffffff9
shr esi, cl
movzx r9d, bx
mov edx, esi
and edx, 0x7f
add edx, 0xb
shr esi, 7
sub eax, r8d
add r14d, eax
mov r8d, dword [rdi + 0xdc]
mov ecx, dword [rdi + 0xd4]
add ecx, dword [rdi + 0xd8]
lea eax, [r8 + rdx]
cmp eax, ecx
ja 0x468cd4
mov eax, r8d
mov word [rdi + rax*2 + 0xe8], r9w
mov r8d, dword [rdi + 0xdc]
lea r8d, [r8 + 1]
mov dword [rdi + 0xdc], r8d
add edx, 0xffffffff
jne 0x468c87
mov eax, dword [rdi + 0xd4]
add eax, dword [rdi + 0xd8]
cmp r8d, eax
jae 0x468ce6
jmp 0x468ac2
lea rax, str.invalid_bit_length_repeat
mov qword [r15 + 0x30], rax
mov dword [rdi + 8], 0x3f51
jmp 0x468ce9
lea rax, str.invalid_bit_length_repeat
mov qword [r15 + 0x30], rax
mov dword [rdi + 8], 0x3f51
xor r8d, r8d
cmp dword [rdi + 8], 0x3f51
je 0x467ebe
cmp word [rdi + 0x2e8], r8w
jne 0x468d0c
lea rax, str.invalid_code____missing_end_of_block
jmp 0x468a80
mov r8d, dword [rdi + 0xd4]
lea rax, [rdi + 0x5a8]
lea rbx, [rdi + 0xe0]
mov qword [rdi + 0xb8], rax
mov qword [rbx], rax
lea rdx, [rdi + 0xe8]
lea rax, [rdi + 0x368]
mov dword [r11], 9
mov qword [rsp + 0x28], rax
mov r9, rbx
mov ecx, 1
mov qword [rsp + 0x20], r11
call fcn.00466980
mov dword [rbp + 0x58], eax
test eax, eax
je 0x468d75
lea rax, str.invalid_literal_lengths_set
mov qword [r15 + 0x30], rax
mov dword [rdi + 8], 0x3f51
jmp 0x467eba
mov rax, qword [rbx]
lea rcx, [rdi + 0xcc]
mov r8d, dword [rdi + 0xd8]
mov r9, rbx
mov qword [rdi + 0xc0], rax
mov eax, dword [rdi + 0xd4]
add rax, 0x74
mov dword [rcx], 6
lea rdx, [rdi + rax*2]
lea rax, [rdi + 0x368]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov ecx, 2
call fcn.00466980
mov r9, qword [rbp - 8]
mov r10d, dword [rbp + 0x50]
mov dword [rbp + 0x58], eax
test eax, eax
je 0x468dda
lea rax, str.invalid_distances_set
jmp 0x468043
lea r11, [rdi + 0xc8]
mov dword [rdi + 8], 0x3f48
cmp r12d, 6
jb 0x468e6a
cmp r10d, 0x102
jb 0x468e6a
sub r9d, dword [rdi + 0x34]
mov rcx, r15
sub r9d, dword [rdi + 0x40]
mov dword [rdi + 0x3c], r9d
mov dword [r15 + 0x20], r10d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0xa4], r14d
call fcn.0046356c
mov r9d, dword [rdi + 0x3c]
mov eax, dword [rdi + 0x34]
mov r10d, dword [r15 + 0x20]
add r9, rax
add r9, qword [rdi + 0x40]
cmp dword [rdi + 8], 0x3f3f
mov r13, qword [r15]
mov r12d, dword [r15 + 8]
mov esi, dword [rdi + 0xa0]
mov r14d, dword [rdi + 0xa4]
mov qword [rbp - 8], r9
mov dword [rbp + 0x50], r10d
jne 0x467ec2
or dword [rdi + 0x1c3c], 0xffffffff
jmp 0x467ec2
mov r8d, dword [r11]
xor edx, edx
mov r10, qword [rdi + 0xb8]
mov ecx, r8d
mov dword [rdi + 0x1c3c], edx
lea eax, [rdx + 1]
shl eax, cl
lea ecx, [rax - 1]
mov eax, esi
and rcx, rax
mov eax, dword [r10 + rcx*4]
jmp 0x468ec6
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
mov ecx, r8d
mov eax, 1
mov edx, esi
shl eax, cl
inc r13
dec eax
add r14d, 8
and rax, rdx
mov eax, dword [r10 + rax*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, r14d
ja 0x468e92
mov r11d, eax
test al, al
je 0x468f99
test al, 0xf0
jne 0x468f99
mov ecx, eax
mov dword [rbp + 0x48], eax
shr ecx, 8
mov r9d, 1
movzx r8d, cl
mov edx, eax
movzx ecx, al
add ecx, r8d
shr eax, 0x10
shl r9d, cl
mov ecx, r8d
dec r9d
shr r11d, 8
and r9d, esi
shr r9d, cl
add r9d, eax
mov eax, dword [r10 + r9*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, r11b
add r8d, ecx
jmp 0x468f85
test r12d, r12d
je 0x4684c4
movzx r9d, byte [rbp + 0x49]
mov ecx, r14d
movzx eax, byte [r13]
mov r8d, 1
shl eax, cl
dec r12d
add esi, eax
movzx ecx, dl
movzx eax, word [rbp + 0x4a]
add ecx, r9d
shl r8d, cl
inc r13
dec r8d
mov ecx, r9d
and r8d, esi
add r14d, 8
shr r8d, cl
add r8d, eax
mov eax, dword [r10 + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r9d
cmp r8d, r14d
ja 0x468f2f
movzx ecx, byte [rbp + 0x49]
shr esi, cl
sub r14d, ecx
mov dword [rdi + 0x1c3c], ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
add dword [rdi + 0x1c3c], ecx
sub r14d, ecx
shr esi, cl
mov ecx, eax
shr ecx, 0x10
mov dword [rdi + 0xa8], ecx
test al, al
jne 0x468fc7
mov dword [rdi + 8], 0x3f4d
jmp 0x467eba
test al, 0x20
je 0x468fde
or dword [rdi + 0x1c3c], 0xffffffff
mov dword [rdi + 8], 0x3f3f
jmp 0x467eba
test al, 0x40
je 0x468fee
lea rax, str.invalid_literal_length_code
jmp 0x468d65
movzx ecx, al
and ecx, 0xf
mov dword [rdi + 8], 0x3f49
mov dword [rdi + 0xb0], ecx
mov edx, dword [rdi + 0xb0]
test edx, edx
je 0x46904f
jmp 0x46902c
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, edx
jb 0x46900d
mov ecx, edx
mov eax, 1
shl eax, cl
sub r14d, edx
dec eax
and eax, esi
shr esi, cl
add dword [rdi + 0xa8], eax
add dword [rdi + 0x1c3c], edx
mov eax, dword [rdi + 0xa8]
mov dword [rdi + 0x1c40], eax
mov dword [rdi + 8], 0x3f4a
mov r8d, dword [rdi + 0xcc]
mov eax, 1
mov r10, qword [rdi + 0xc0]
mov ecx, r8d
shl eax, cl
lea ecx, [rax - 1]
mov eax, esi
and rcx, rax
mov eax, dword [r10 + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, r14d
jbe 0x4690c9
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
mov ecx, r8d
mov eax, 1
mov edx, esi
shl eax, cl
inc r13
dec eax
add r14d, 8
and rax, rdx
mov eax, dword [r10 + rax*4]
jmp 0x469086
mov r11d, eax
test al, 0xf0
jne 0x469189
mov ecx, eax
mov dword [rbp + 0x48], eax
shr ecx, 8
mov r9d, 1
movzx r8d, cl
mov edx, eax
movzx ecx, al
add ecx, r8d
shr eax, 0x10
shl r9d, cl
mov ecx, r8d
dec r9d
shr r11d, 8
and r9d, esi
shr r9d, cl
add r9d, eax
mov eax, dword [r10 + r9*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, r11b
add r8d, ecx
jmp 0x469173
test r12d, r12d
je 0x4684c4
movzx r9d, byte [rbp + 0x49]
mov ecx, r14d
movzx eax, byte [r13]
mov r8d, 1
shl eax, cl
dec r12d
add esi, eax
movzx ecx, dl
movzx eax, word [rbp + 0x4a]
add ecx, r9d
shl r8d, cl
inc r13
dec r8d
mov ecx, r9d
and r8d, esi
add r14d, 8
shr r8d, cl
add r8d, eax
mov eax, dword [r10 + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r9d
cmp r8d, r14d
ja 0x46911d
movzx edx, byte [rbp + 0x49]
mov ecx, edx
sub r14d, edx
shr esi, cl
add dword [rdi + 0x1c3c], edx
mov r9, qword [rbp - 8]
mov ecx, eax
mov r10d, dword [rbp + 0x50]
shr ecx, 8
movzx ecx, cl
add dword [rdi + 0x1c3c], ecx
sub r14d, ecx
shr esi, cl
test al, 0x40
je 0x4691b4
lea rax, str.invalid_distance_code
jmp 0x468043
mov ecx, eax
mov dword [rdi + 8], 0x3f4b
shr ecx, 0x10
mov dword [rdi + 0xac], ecx
movzx ecx, al
and ecx, 0xf
mov dword [rdi + 0xb0], ecx
mov edx, dword [rdi + 0xb0]
xor r11d, r11d
test edx, edx
je 0x469223
jmp 0x469200
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, edx
jb 0x4691e1
mov ecx, edx
mov eax, 1
shl eax, cl
sub r14d, edx
dec eax
and eax, esi
shr esi, cl
add dword [rdi + 0xac], eax
add dword [rdi + 0x1c3c], edx
mov dword [rdi + 8], 0x3f4c
jmp 0x46922f
xor r11d, r11d
mov ecx, dword [rdi + 0x34]
mov ebx, dword [rdi + 0xa8]
lea eax, [rcx*4]
add rax, qword [rdi + 0x40]
mov edx, eax
mov qword [rbp - 0x18], rax
mov eax, r9d
sub edx, r9d
sub eax, dword [rdi + 0x40]
sub eax, ecx
mov dword [rdi + 0x3c], eax
mov dword [r15 + 0x20], r10d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0xa4], r14d
cmp ebx, edx
jbe 0x4692c5
cmp dword [r15 + 0x20], r11d
jbe 0x4692ba
mov rcx, r15
call fcn.0041b8c4
mov r9d, dword [rdi + 0x3c]
mov eax, dword [rdi + 0x34]
mov edx, dword [rbp - 0x18]
add r9, rax
add r9, qword [rdi + 0x40]
mov r8d, dword [r15 + 0x20]
sub edx, r9d
mov r13, qword [r15]
xor r11d, r11d
mov r12d, dword [r15 + 8]
mov esi, dword [rdi + 0xa0]
mov r14d, dword [rdi + 0xa4]
mov qword [rbp - 8], r9
mov dword [rbp + 0x50], r8d
jmp 0x4692be
mov r8d, dword [rbp + 0x50]
cmp ebx, edx
cmova ebx, edx
jmp 0x4692c9
mov r8d, dword [rbp + 0x50]
test ebx, ebx
je 0x469686
mov r8d, dword [rdi + 0x3c]
mov ecx, dword [rdi + 0x38]
mov r10d, dword [rdi + 0xac]
add ecx, r8d
cmp r10d, ecx
jbe 0x469307
cmp dword [rdi + 0x1c38], r11d
je 0x469307
lea rax, str.invalid_distance_too_far_back
mov qword [r15 + 0x30], rax
mov dword [rdi + 8], 0x3f51
jmp 0x468905
mov rcx, qword [rdi + 0x40]
mov r11, r8
mov edx, dword [rdi + 0x34]
mov r9, rcx
sub dword [rdi + 0xa8], ebx
sub r9, r10
add r9, rdx
add r9, r8
cmp ebx, r10d
jbe 0x4693d9
cmp ebx, 2
jbe 0x4693a1
lea ecx, [rbx - 3]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea r10d, [rdx + 1]
mov dl, byte [r9]
add ebx, 0xfffffffd
mov ecx, dword [rdi + 0x34]
mov eax, r8d
add rcx, rax
mov rax, qword [rdi + 0x40]
mov byte [rcx + rax], dl
inc dword [rdi + 0x3c]
mov cl, byte [r9 + 1]
mov edx, dword [rdi + 0x3c]
mov eax, dword [rdi + 0x34]
add rdx, rax
mov rax, qword [rdi + 0x40]
mov byte [rdx + rax], cl
inc dword [rdi + 0x3c]
mov cl, byte [r9 + 2]
add r9, 3
mov edx, dword [rdi + 0x3c]
mov eax, dword [rdi + 0x34]
add rdx, rax
mov rax, qword [rdi + 0x40]
mov byte [rdx + rax], cl
mov ecx, dword [rdi + 0x3c]
inc ecx
mov dword [rdi + 0x3c], ecx
mov r8d, ecx
sub r10, 1
jne 0x469341
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x40]
xor r11d, r11d
test ebx, ebx
je 0x4693f4
mov eax, r8d
add rcx, rax
mov al, byte [r9]
mov byte [rdx + rcx], al
inc dword [rdi + 0x3c]
mov r8d, dword [rdi + 0x3c]
cmp ebx, 1
jbe 0x4693f4
mov eax, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x40]
mov edx, r8d
add rdx, rax
mov al, byte [r9 + 1]
mov byte [rdx + rcx], al
inc dword [rdi + 0x3c]
jmp 0x4693f0
add rcx, r11
mov r8d, ebx
add rcx, rdx
mov rdx, r9
call fcn.00424180
add dword [rdi + 0x3c], ebx
xor r11d, r11d
mov r8d, dword [rdi + 0x3c]
mov r9d, dword [rdi + 0x34]
mov r10d, dword [r15 + 0x20]
mov r13, qword [r15]
mov r12d, dword [r15 + 8]
mov esi, dword [rdi + 0xa0]
mov r14d, dword [rdi + 0xa4]
mov eax, r8d
add r9, rax
mov dword [rbp + 0x50], r10d
add r9, qword [rdi + 0x40]
mov qword [rbp - 8], r9
cmp dword [rdi + 0xa8], r11d
jne 0x467ec2
mov dword [rdi + 8], 0x3f48
jmp 0x467ec2
mov edx, dword [rdi + 0x34]
lea ecx, [rdx*4]
add rcx, qword [rdi + 0x40]
cmp r9, rcx
jb 0x4694a7
sub r9d, edx
mov rcx, r15
sub r9d, dword [rdi + 0x40]
mov dword [rdi + 0x3c], r9d
mov dword [r15 + 0x20], r10d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0xa4], r14d
call fcn.0041b8c4
mov r9d, dword [rdi + 0x3c]
mov eax, dword [rdi + 0x34]
mov r10d, dword [r15 + 0x20]
add r9, rax
add r9, qword [rdi + 0x40]
mov r13, qword [r15]
mov r12d, dword [r15 + 8]
mov esi, dword [rdi + 0xa0]
mov r14d, dword [rdi + 0xa4]
mov qword [rbp - 8], r9
mov dword [rbp + 0x50], r10d
test r10d, r10d
je 0x4684c4
mov al, byte [rdi + 0xa8]
mov byte [r9], al
inc r9
mov qword [rbp - 8], r9
jmp 0x46942f
sub r9d, dword [rdi + 0x34]
mov rcx, r15
sub r9d, dword [rdi + 0x40]
mov dword [rdi + 0x3c], r9d
mov dword [r15 + 0x20], r10d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0xa4], r14d
call fcn.0041b8c4
mov r10d, dword [r15 + 0x20]
xor r8d, r8d
mov eax, dword [rdi + 0x3c]
mov r9d, dword [rdi + 0x34]
mov r13, qword [r15]
add r9, rax
add r9, qword [rdi + 0x40]
mov r12d, dword [r15 + 8]
mov esi, dword [rdi + 0xa0]
mov r14d, dword [rdi + 0xa4]
mov qword [rbp - 8], r9
mov dword [rbp + 0x50], r10d
test r10d, r10d
jne 0x46952f
test eax, eax
jne 0x46967d
cmp dword [rdi + 0x10], r8d
je 0x4695d6
jmp 0x46955a
test r12d, r12d
je 0x469672
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, 0x20
jb 0x46953b
sub ebx, r10d
mov dword [rbp - 0x1c], r10d
mov eax, ebx
add qword [r15 + 0x28], rax
add dword [rdi + 0x24], ebx
test byte [rdi + 0x10], 2
je 0x46958f
cmp dword [0x004bb5c4], r8d
je 0x46958f
lea rcx, [rdi + 0x50]
call fcn.00462344
mov dword [rdi + 0x20], eax
mov dword [r15 + 0x5c], eax
test byte [rdi + 0x10], 4
je 0x4695d0
mov edx, 0xff00
mov ecx, esi
and ecx, edx
mov eax, esi
shl eax, 0x10
add ecx, eax
mov eax, esi
shr eax, 8
and eax, edx
shl ecx, 8
add ecx, eax
mov eax, esi
shr eax, 0x18
add ecx, eax
cmp dword [rdi + 0x18], r8d
cmovne ecx, esi
cmp ecx, dword [rdi + 0x20]
je 0x4695d0
lea rax, str.incorrect_data_check
jmp 0x468043
mov esi, r8d
mov r14d, r8d
mov dword [rdi + 8], 0x3f4f
jmp 0x4695e2
xor r8d, r8d
cmp dword [rdi + 0x10], r8d
je 0x469657
cmp dword [rdi + 0x18], r8d
je 0x469657
jmp 0x46960f
test r12d, r12d
je 0x4684c4
movzx eax, byte [r13]
mov ecx, r14d
shl eax, cl
dec r12d
add esi, eax
inc r13
add r14d, 8
cmp r14d, 0x20
jb 0x4695f0
cmp esi, dword [rdi + 0x24]
je 0x469651
lea rax, str.incorrect_length_check
jmp 0x468043
sub r9d, dword [rdi + 0x34]
mov eax, 2
sub r9d, dword [rdi + 0x40]
mov dword [rdi + 0x3c], r9d
mov dword [r15 + 0x20], r10d
mov qword [r15], r13
mov dword [r15 + 8], r12d
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0xa4], r14d
jmp 0x46969a
mov esi, r8d
mov r14d, r8d
mov dword [rdi + 8], 0x3f50
mov ebx, 1
jmp 0x4684c7
mov ebx, 0xfffffffd
jmp 0x4684c7
mov ebx, dword [rbp + 0x58]
mov r8d, r10d
jmp 0x4684cb
mov r8d, r10d
jmp 0x469686
mov r8d, dword [rbp + 0x50]
mov ebx, dword [rbp + 0x58]
jmp 0x4684cb
mov eax, 0xfffffffc
jmp 0x46969a
mov eax, 0xfffffffe
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret