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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov r13, rcx
test rcx, rcx
je case.0x140078c4d.16211
cmp qword [rcx + 0x40], 0
je case.0x140078c4d.16211
cmp qword [rcx + 0x48], 0
je case.0x140078c4d.16211
mov r15, qword [rcx + 0x38]
test r15, r15
je case.0x140078c4d.16211
cmp qword [r15], rcx
jne case.0x140078c4d.16211
mov ecx, dword [r15 + 8]
cmp ecx, 0x3f34
jl case.0x140078c4d.16211
cmp ecx, 0x3f53
jg case.0x140078c4d.16211
cmp qword [r13 + 0x18], 0
je case.0x140078c4d.16211
cmp qword [r13], 0
jne 0x140078bba
cmp dword [r13 + 8], 0
jne case.0x140078c4d.16211
cmp ecx, 0x3f3f
jne 0x140078bcf
mov dword [r15 + 8], 0x3f40
mov ecx, 0x3f40
mov r10d, dword [r13 + 0x20]
xor r12d, r12d
mov r9d, dword [r15 + 0x3c]
add ecx, 0xffffc0cc
mov eax, dword [r15 + 0x34]
mov edi, r10d
mov esi, dword [r13 + 8]
add r9, rax
add r9, qword [r15 + 0x40]
mov rbp, qword [r13]
mov r14d, dword [r15 + 0xa0]
mov ebx, dword [r15 + 0xa4]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0xa8], r10d
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0xb0], r12d
cmp ecx, 0x1f
ja case.0x140078c4d.16211
movsxd rax, ecx
lea rdx, [0x140000000]
lea r8, [r15 + 0xcc]
lea r11, [r15 + 0xc8]
mov ecx, dword [rdx + rax*4 + 0x7a7cc]
add rcx, rdx
jmp rcx
cmp dword [r15 + 0x10], 0
jne 0x140078c63
mov dword [r15 + 8], 0x3f40
jmp 0x140078cf7
cmp ebx, 0x10
jae 0x140078c88
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x10
jb 0x140078c68
test byte [r15 + 0x10], 2
je 0x140078d16
cmp r14d, 0x8b1f
jne 0x140078d16
cmp dword [r15 + 0x30], 0
jne 0x140078cab
mov dword [r15 + 0x30], shutdown
mov byte [rsp + 0xb8], r14b
lea rdx, [rsp + 0xb8]
shr r14d, 8
mov r8d, 2
xor ecx, ecx
mov byte [rsp + 0xb9], r14b
mov dword [r15 + 0x20], r12d
call fcn.140073240
mov dword [r15 + 0x20], eax
mov r14d, r12d
mov ebx, r12d
mov dword [r15 + 8], 0x3f35
mov r10d, dword [rsp + 0xa8]
mov r9, qword [rsp + 0x40]
mov ecx, dword [r15 + 8]
sub ecx, 0x3f34
cmp ecx, 0x1f
ja case.0x140078c4d.16211
mov edi, dword [rsp + 0x38]
xor r12d, r12d
jmp 0x140078c2b
mov rax, qword [r15 + 0x28]
mov dword [r15 + 0x18], r12d
test rax, rax
je 0x140078d2a
mov dword [rax + 0x40], 0xffffffff
test byte [r15 + 0x10], 1
je 0x140078ead
movzx ecx, r14b
mov eax, r14d
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 0x140078ead
mov eax, r14d
and al, 0xf
cmp al, 8
je 0x140078d82
lea rax, str.unknown_compression_method
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov eax, dword [r15 + 0x30]
add ebx, 0xfffffffc
shr r14d, 4
mov edi, r14d
and edi, 0xf
add edi, 8
test eax, eax
jne 0x140078da0
mov eax, edi
mov dword [r15 + 0x30], eax
cmp edi, 0xf
ja 0x140078e95
cmp edi, eax
ja 0x140078e95
mov rax, qword [r15 + 0x40]
test rax, rax
jne 0x140078e57
sub r9d, eax
mov edx, 1
sub r9d, dword [r15 + 0x34]
mov r8d, 4
mov dword [r15 + 0x3c], r9d
mov dword [r13 + 0x20], r10d
mov qword [r13], rbp
mov dword [r13 + 8], esi
mov ecx, dword [r15 + 0x30]
shl edx, cl
mov dword [r15 + 0x34], edx
add edx, 0x10
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
mov rax, qword [r13 + 0x40]
mov rcx, qword [r13 + 0x50]
call rax
mov qword [r15 + 0x40], rax
test rax, rax
jne 0x140078e28
mov rcx, qword [r13 + 0x50]
mov rdx, r15
call qword [r13 + 0x48]
mov qword [r13 + 0x38], r12
mov dword [rsp + 0xb0], 0xfffffffc
mov r9d, dword [r15 + 0x3c]
mov eax, dword [r15 + 0x34]
mov r10d, dword [r13 + 0x20]
add r9, rax
add r9, qword [r15 + 0x40]
mov rbp, qword [r13]
mov esi, dword [r13 + 8]
mov r14d, dword [r15 + 0xa0]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0xa8], r10d
shr r14d, 8
mov ecx, edi
not r14d
mov dword [r15 + 0x20], 1
and r14d, 2
mov eax, 1
shl eax, cl
mov ebx, r12d
or r14d, 0x3f3d
mov dword [r15 + 0x1c], eax
mov dword [r13 + 0x5c], 1
mov dword [r15 + 8], r14d
mov r14d, r12d
jmp 0x140078cf7
lea rax, str.invalid_window_size
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
lea rax, str.incorrect_header_check
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
cmp ebx, 0x10
jae 0x140078ef0
nop word [rax + rax]
test esi, esi
je 0x14007a6c3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x10
jb 0x140078ed0
mov dword [r15 + 0x18], r14d
cmp r14b, 8
jne 0x140078d6a
test r14d, 0xe000
je 0x140078f1f
lea rax, str.unknown_header_flags_set
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov rcx, qword [r15 + 0x28]
test rcx, rcx
je 0x140078f33
mov eax, r14d
shr eax, 8
and eax, 1
mov dword [rcx], eax
test dword [r15 + 0x18], 0x200
je 0x140078f73
test byte [r15 + 0x10], 4
je 0x140078f73
mov ecx, dword [r15 + 0x20]
lea rdx, [rsp + 0xb8]
mov byte [rsp + 0xb8], r14b
mov r8d, 2
shr r14d, 8
mov byte [rsp + 0xb9], r14b
call fcn.140073240
mov dword [r15 + 0x20], eax
mov r14d, r12d
mov dword [r15 + 8], 0x3f36
mov ebx, r12d
jmp 0x140078f88
cmp ebx, 0x20
jae 0x140078fa8
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x20
jb 0x140078f88
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x140078fb5
mov dword [rax + 4], r14d
test dword [r15 + 0x18], 0x200
je 0x14007900f
test byte [r15 + 0x10], 4
je 0x14007900f
mov ecx, dword [r15 + 0x20]
lea rdx, [rsp + 0xb8]
mov eax, r14d
mov byte [rsp + 0xb8], r14b
shr eax, 8
mov r8d, 4
mov byte [rsp + 0xb9], al
mov eax, r14d
shr eax, 0x10
shr r14d, 0x18
mov byte [rsp + 0xba], al
mov byte [rsp + 0xbb], r14b
call fcn.140073240
mov dword [r15 + 0x20], eax
mov r14d, r12d
mov dword [r15 + 8], 0x3f37
mov ebx, r12d
jmp 0x140079024
cmp ebx, 0x10
jae 0x140079044
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x10
jb 0x140079024
mov rdx, qword [r15 + 0x28]
mov ecx, r14d
shr ecx, 8
test rdx, rdx
je 0x140079061
movzx eax, r14b
mov dword [rdx + 8], eax
mov rax, qword [r15 + 0x28]
mov dword [rax + 0xc], ecx
test dword [r15 + 0x18], 0x200
je 0x14007909c
test byte [r15 + 0x10], 4
je 0x14007909c
mov byte [rsp + 0xb9], cl
lea rdx, [rsp + 0xb8]
mov ecx, dword [r15 + 0x20]
mov r8d, 2
mov byte [rsp + 0xb8], r14b
call fcn.140073240
mov dword [r15 + 0x20], eax
mov r14d, r12d
mov dword [r15 + 8], 0x3f38
mov ebx, r12d
test dword [r15 + 0x18], 0x400
je 0x14007913c
cmp ebx, 0x10
jae 0x1400790e0
nop dword [rax]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x10
jb 0x1400790c0
mov rax, qword [r15 + 0x28]
mov dword [r15 + 0xa8], r14d
test rax, rax
je 0x1400790f4
mov dword [rax + 0x18], r14d
test dword [r15 + 0x18], 0x200
je 0x140079134
test byte [r15 + 0x10], 4
je 0x140079134
mov ecx, dword [r15 + 0x20]
lea rdx, [rsp + 0xb8]
mov byte [rsp + 0xb8], r14b
mov r8d, 2
shr r14d, 8
mov byte [rsp + 0xb9], r14b
call fcn.140073240
mov dword [r15 + 0x20], eax
mov r14d, r12d
mov ebx, r12d
jmp 0x140079149
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x140079149
mov qword [rax + 0x10], r12
mov dword [r15 + 8], 0x3f39
test dword [r15 + 0x18], 0x400
je 0x140079200
mov eax, dword [r15 + 0xa8]
mov edi, esi
cmp eax, esi
cmovbe edi, eax
test edi, edi
je 0x1400791f8
mov r8, qword [r15 + 0x28]
test r8, r8
je 0x1400791b3
mov r10, qword [r8 + 0x10]
test r10, r10
je 0x1400791b3
mov edx, dword [r8 + 0x1c]
mov r9d, dword [r8 + 0x18]
sub r9d, eax
mov eax, edi
sub edx, r9d
lea ecx, [rdi + r9]
cmp ecx, dword [r8 + 0x1c]
mov ecx, r9d
cmova eax, edx
add rcx, r10
mov r8d, eax
mov rdx, rbp
call fcn.14014cbf0
test dword [r15 + 0x18], 0x200
je 0x1400791e1
test byte [r15 + 0x10], 4
je 0x1400791e1
test rbp, rbp
jne 0x1400791ce
mov eax, r12d
jmp 0x1400791dd
mov ecx, dword [r15 + 0x20]
mov rdx, rbp
mov r8d, edi
call fcn.140073240
mov dword [r15 + 0x20], eax
mov eax, edi
sub esi, edi
add rbp, rax
mov eax, dword [r15 + 0xa8]
sub eax, edi
mov dword [r15 + 0xa8], eax
test eax, eax
jne 0x14007a6d3
mov dword [r15 + 0xa8], r12d
mov dword [r15 + 8], 0x3f3a
test dword [r15 + 0x18], 0x800
je 0x1400792ad
test esi, esi
je 0x14007a6d3
mov edi, r12d
nop dword [rax + rax]
mov eax, edi
inc edi
movzx r12d, byte [rax + rbp]
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x140079262
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x140079262
mov ecx, dword [r15 + 0xa8]
cmp ecx, dword [rax + 0x28]
jae 0x140079262
mov byte [rcx + rdx], r12b
inc dword [r15 + 0xa8]
test r12b, r12b
je 0x14007926b
cmp edi, esi
jb 0x140079230
test dword [r15 + 0x18], 0x200
je 0x140079298
test byte [r15 + 0x10], 4
je 0x140079298
test rbp, rbp
jne 0x140079285
xor eax, eax
jmp 0x140079294
mov ecx, dword [r15 + 0x20]
mov rdx, rbp
mov r8d, edi
call fcn.140073240
mov dword [r15 + 0x20], eax
mov eax, edi
sub esi, edi
add rbp, rax
test r12b, r12b
jne 0x14007a6d3
xor r12d, r12d
jmp 0x1400792ba
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x1400792ba
mov qword [rax + 0x20], r12
mov dword [r15 + 0xa8], r12d
mov dword [r15 + 8], 0x3f3b
test dword [r15 + 0x18], 0x1000
je 0x14007936d
test esi, esi
je 0x14007a6d3
mov edi, r12d
nop dword [rax]
nop word [rax + rax]
mov eax, edi
inc edi
movzx r12d, byte [rax + rbp]
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x140079322
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x140079322
mov ecx, dword [r15 + 0xa8]
cmp ecx, dword [rax + 0x38]
jae 0x140079322
mov byte [rcx + rdx], r12b
inc dword [r15 + 0xa8]
test r12b, r12b
je 0x14007932b
cmp edi, esi
jb 0x1400792f0
test dword [r15 + 0x18], 0x200
je 0x140079358
test byte [r15 + 0x10], 4
je 0x140079358
test rbp, rbp
jne 0x140079345
xor eax, eax
jmp 0x140079354
mov ecx, dword [r15 + 0x20]
mov rdx, rbp
mov r8d, edi
call fcn.140073240
mov dword [r15 + 0x20], eax
mov eax, edi
sub esi, edi
add rbp, rax
test r12b, r12b
jne 0x14007a6d3
xor r12d, r12d
jmp 0x14007937a
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x14007937a
mov qword [rax + 0x30], r12
mov r9, qword [rsp + 0x40]
mov r10d, dword [rsp + 0xa8]
mov dword [r15 + 8], 0x3f3c
test dword [r15 + 0x18], 0x200
je 0x1400793ef
cmp ebx, 0x10
jae 0x1400793c0
nop
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x10
jb 0x1400793a0
test byte [r15 + 0x10], 4
je 0x1400793e9
movzx eax, word [r15 + 0x20]
cmp r14d, eax
je 0x1400793e9
lea rax, str.header_crc_mismatch
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov r14d, r12d
mov ebx, r12d
mov rcx, qword [r15 + 0x28]
test rcx, rcx
je 0x140079410
mov eax, dword [r15 + 0x18]
sar eax, 9
and eax, 1
mov dword [rcx + 0x3c], eax
mov rax, qword [r15 + 0x28]
mov dword [rax + 0x40], 1
cmp dword [0x1401f41e4], 0
mov dword [r15 + 0x20], r12d
mov dword [r13 + 0x5c], r12d
je 0x14007945a
movdqu xmm2, xmmword [r15 + 0x90]
mov eax, 0x9db42487
xorps xmm1, xmm1
movdqu xmmword [r15 + 0x60], xmm1
movd xmm0, eax
movdqu xmmword [r15 + 0x50], xmm0
movdqu xmmword [r15 + 0x70], xmm1
movdqu xmmword [r15 + 0x80], xmm1
movdqu xmmword [r15 + 0x90], xmm2
mov dword [r15 + 8], 0x3f3f
jmp 0x140078cf7
cmp ebx, 0x20
jae 0x140079490
nop dword [rax]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x20
jb 0x140079470
bswap r14d
mov dword [r15 + 0x20], r14d
mov ebx, r12d
mov dword [r13 + 0x5c], r14d
mov r14d, r12d
mov dword [r15 + 8], 0x3f3e
cmp dword [r15 + 0x14], 0
je 0x14007a64e
mov dword [r15 + 0x20], 1
mov dword [r13 + 0x5c], 1
mov dword [r15 + 8], 0x3f3f
cmp dword [r15 + 0xc], 0
je 0x1400794ea
mov ecx, ebx
mov dword [r15 + 8], 0x3f4e
and ecx, 7
shr r14d, cl
sub ebx, ecx
jmp 0x140078cf7
cmp ebx, 3
jae 0x140079510
nop
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 3
jb 0x1400794f0
mov eax, r14d
shr r14d, 1
and eax, 1
mov dword [r15 + 0xc], eax
mov eax, r14d
and eax, 3
je 0x1400795a9
sub eax, 1
je 0x14007956b
sub eax, 1
je 0x140079557
cmp eax, 1
jne 0x1400795b1
lea rax, str.invalid_block_type
shr r14d, 2
mov qword [r13 + 0x30], rax
add ebx, 0xfffffffd
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
shr r14d, 2
add ebx, 0xfffffffd
mov dword [r15 + 8], 0x3f44
jmp 0x140078cf7
lea rax, [0x1401c37f0]
shr r14d, 2
mov qword [r15 + 0xb8], rax
add ebx, 0xfffffffd
lea rax, [0x1401c3770]
mov dword [r11], 9
mov qword [r15 + 0xc0], rax
mov dword [r8], 5
mov dword [r15 + 8], 0x3f47
jmp 0x140078cf7
mov dword [r15 + 8], 0x3f41
shr r14d, 2
add ebx, 0xfffffffd
jmp 0x140078cf7
mov ecx, ebx
and ecx, 7
shr r14d, cl
sub ebx, ecx
cmp ebx, 0x20
jae 0x1400795f0
nop dword [rax]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x20
jb 0x1400795d0
mov eax, r14d
movzx ecx, r14w
not eax
shr eax, 0x10
cmp ecx, eax
je 0x140079618
lea rax, str.invalid_stored_block_lengths
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov dword [r15 + 0xa8], ecx
mov r14d, r12d
mov ebx, r12d
mov dword [r15 + 8], 0x3f43
mov ecx, dword [r15 + 0xa8]
test ecx, ecx
je 0x14007945a
mov edx, dword [r15 + 0x34]
mov edi, esi
mov r8, qword [r15 + 0x40]
lea r13d, [rdx*4]
add r13, r8
mov eax, r13d
sub eax, r9d
cmp ecx, esi
cmovbe edi, ecx
mov r12d, edi
cmp edi, eax
jbe 0x140079700
test r10d, r10d
je 0x1400796f4
mov r12, qword [rsp + 0xa0]
sub r9d, edx
sub r9d, r8d
mov rcx, r12
mov dword [r15 + 0x3c], r9d
mov dword [r12 + 0x20], r10d
mov qword [r12], rbp
mov dword [r12 + 8], esi
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
call fcn.140019e60
mov eax, dword [r15 + 0x34]
mov ecx, dword [r12 + 0x20]
mov r9d, dword [r15 + 0x3c]
mov rbp, qword [r12]
add r9, rax
add r9, qword [r15 + 0x40]
mov eax, r13d
mov esi, dword [r12 + 8]
sub eax, r9d
mov r14d, dword [r15 + 0xa0]
mov r12d, edi
mov ebx, dword [r15 + 0xa4]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0xa8], ecx
mov dword [rsp + 0x30], r14d
cmp edi, eax
jbe 0x140079707
mov r12d, eax
jmp 0x140079707
mov ecx, dword [rsp + 0xa8]
mov r12d, eax
jmp 0x140079707
mov ecx, dword [rsp + 0xa8]
test r12d, r12d
je 0x14007a69a
mov r8d, r12d
mov rdx, rbp
mov rcx, r9
mov edi, r12d
call fcn.14014cbf0
mov r9, qword [rsp + 0x40]
sub esi, r12d
mov r13, qword [rsp + 0xa0]
add r9, rdi
mov r10d, dword [rsp + 0xa8]
add rbp, rdi
sub dword [r15 + 0xa8], r12d
mov qword [rsp + 0x40], r9
jmp 0x140078cf7
cmp ebx, 0xe
jae 0x140079775
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0xe
jb 0x140079755
mov ecx, r14d
add ebx, 0xfffffff2
shr r14d, 5
and ecx, 0x1f
mov edx, r14d
add ecx, 0x101
shr r14d, 5
and edx, 0x1f
mov eax, r14d
mov dword [r15 + 0xd4], ecx
and eax, 0xf
shr r14d, 4
add eax, 4
inc edx
mov dword [r15 + 0xd8], edx
mov dword [r15 + 0xd0], eax
cmp ecx, 0x11e
ja 0x1400798f1
cmp edx, 0x1e
ja 0x1400798f1
mov dword [r15 + 0xdc], r12d
lea rdx, [0x140000000]
mov dword [r15 + 8], 0x3f45
mov eax, dword [r15 + 0xdc]
cmp eax, dword [r15 + 0xd0]
jae 0x140079856
cmp ebx, 3
jae 0x140079816
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 3
jb 0x1400797f6
mov eax, dword [r15 + 0xdc]
movzx ecx, r14w
and cx, 7
shr r14d, 3
add ebx, 0xfffffffd
movzx eax, word [rdx + rax*2 + 0x1c3ff0]
mov word [r15 + rax*2 + 0xe8], cx
mov eax, dword [r15 + 0xdc]
inc eax
mov dword [r15 + 0xdc], eax
cmp eax, dword [r15 + 0xd0]
jb 0x1400797f1
cmp eax, 0x13
jae 0x140079884
nop dword [rax + rax]
movzx eax, word [rdx + rax*2 + 0x1c3ff0]
mov word [r15 + rax*2 + 0xe8], r12w
inc dword [r15 + 0xdc]
mov eax, dword [r15 + 0xdc]
cmp eax, 0x13
jb 0x140079860
lea rax, [r15 + 0x5a8]
mov dword [r11], 7
lea r9, [r15 + 0xe0]
mov qword [r15 + 0xb8], rax
xor ecx, ecx
mov qword [r9], rax
lea rax, [r15 + 0x368]
mov qword [rsp + 0x28], rax
lea rdx, [r15 + 0xe8]
mov qword [rsp + 0x20], r11
lea r8d, [rcx + 0x13]
call fcn.140077090
mov r10d, dword [rsp + 0xa8]
mov dword [rsp + 0xb0], eax
test eax, eax
je 0x140079909
lea rax, str.invalid_code_lengths_set
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf2
lea rax, str.too_many_length_or_distance_symbols
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov dword [r15 + 0xdc], r12d
lea r11, [r15 + 0xc8]
mov dword [r15 + 8], 0x3f46
mov eax, dword [r15 + 0xd8]
add eax, dword [r15 + 0xd4]
cmp dword [r15 + 0xdc], eax
jae 0x140079b62
nop word [rax + rax]
mov r8d, dword [r11]
mov eax, 1
mov r9, qword [r15 + 0xb8]
mov ecx, r8d
shl eax, cl
lea ecx, [rax - 1]
mov eax, r14d
and rcx, rax
mov eax, dword [r9 + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov dword [rsp + 0x30], eax
cmp ecx, ebx
jbe 0x1400799b2
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
mov ecx, r8d
mov eax, 1
mov edx, r14d
shl eax, cl
inc rbp
dec eax
add ebx, 8
and rax, rdx
mov eax, dword [r9 + rax*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov dword [rsp + 0x30], eax
cmp ecx, ebx
ja 0x140079971
mov edx, eax
shr edx, 0x10
cmp dx, 0x10
jae 0x1400799eb
shr eax, 8
movzx ecx, al
mov eax, dword [r15 + 0xdc]
sub ebx, ecx
shr r14d, cl
mov word [r15 + rax*2 + 0xe8], dx
inc dword [r15 + 0xdc]
mov r8d, dword [r15 + 0xdc]
jmp 0x140079b36
jne 0x140079a58
shr eax, 8
movzx edx, al
add edx, 2
cmp ebx, edx
jae 0x140079a1f
nop word [rax + rax]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, edx
jb 0x140079a00
movzx ecx, byte [rsp + 0x31]
mov eax, dword [r15 + 0xdc]
sub ebx, ecx
shr r14d, cl
test eax, eax
je 0x140079b4f
mov edx, r14d
add ebx, 0xfffffffe
and edx, 3
shr r14d, 2
add edx, 3
dec eax
movzx r9d, word [r15 + rax*2 + 0xe8]
jmp 0x140079af6
cmp word [rsp + 0x32], 0x11
movzx r8d, byte [rsp + 0x31]
jne 0x140079aad
lea edx, [r8 + 3]
cmp ebx, edx
jae 0x140079a8f
nop
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, edx
jb 0x140079a70
movzx ecx, r8b
mov r9d, r12d
shr r14d, cl
mov ecx, 0xfffffffd
mov edx, r14d
and edx, 7
add edx, 3
shr r14d, 3
jmp 0x140079af1
lea edx, [r8 + 7]
cmp ebx, edx
jae 0x140079ad4
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, edx
jb 0x140079ab5
movzx ecx, r8b
movzx r9d, r12w
shr r14d, cl
mov ecx, 0xfffffff9
mov edx, r14d
and edx, 0x7f
add edx, 0xb
shr r14d, 7
sub ecx, r8d
add ebx, ecx
mov r8d, dword [r15 + 0xdc]
mov ecx, dword [r15 + 0xd8]
add ecx, dword [r15 + 0xd4]
lea eax, [r8 + rdx]
cmp eax, ecx
ja 0x140079b4f
mov eax, r8d
mov word [r15 + rax*2 + 0xe8], r9w
mov r8d, dword [r15 + 0xdc]
lea r8d, [r8 + 1]
mov dword [r15 + 0xdc], r8d
add edx, 0xffffffff
jne 0x140079b13
mov eax, dword [r15 + 0xd8]
add eax, dword [r15 + 0xd4]
cmp r8d, eax
jb 0x140079940
jmp 0x140079b62
lea rax, str.invalid_bit_length_repeat
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
cmp dword [r15 + 8], 0x3f51
je 0x140078cf2
cmp word [r15 + 0x2e8], 0
jne 0x140079b93
lea rax, str.invalid_code____missing_end_of_block
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf2
mov r8d, dword [r15 + 0xd4]
lea rax, [r15 + 0x5a8]
lea r12, [r15 + 0x368]
mov qword [r15 + 0xe0], rax
mov qword [rsp + 0x28], r12
lea rdx, [r15 + 0xe8]
lea r9, [r15 + 0xe0]
mov qword [rsp + 0x20], r11
mov ecx, 1
mov qword [r15 + 0xb8], rax
mov dword [r11], 9
call fcn.140077090
mov dword [rsp + 0xb0], eax
test eax, eax
je 0x140079c02
lea rax, str.invalid_literal_lengths_set
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cea
mov rax, qword [r15 + 0xe0]
lea rcx, [r15 + 0xcc]
mov r8d, dword [r15 + 0xd8]
lea r9, [r15 + 0xe0]
mov qword [r15 + 0xc0], rax
mov eax, dword [r15 + 0xd4]
add rax, 0x74
mov dword [rcx], 6
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
mov ecx, 2
lea rdx, [r15 + rax*2]
call fcn.140077090
mov r9, qword [rsp + 0x40]
mov r10d, dword [rsp + 0xa8]
mov dword [rsp + 0xb0], eax
test eax, eax
je 0x140079c7e
lea rax, str.invalid_distances_set
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
xor r12d, r12d
lea r11, [r15 + 0xc8]
mov dword [r15 + 8], 0x3f48
cmp esi, 6
jb 0x140079d28
cmp r10d, 0x102
jb 0x140079d28
sub r9d, dword [r15 + 0x40]
mov rcx, r13
sub r9d, dword [r15 + 0x34]
mov dword [r15 + 0x3c], r9d
mov dword [r13 + 0x20], r10d
mov qword [r13], rbp
mov dword [r13 + 8], esi
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
call fcn.140072cc0
mov r9d, dword [r15 + 0x3c]
mov eax, dword [r15 + 0x34]
mov r10d, dword [r13 + 0x20]
add r9, rax
add r9, qword [r15 + 0x40]
cmp dword [r15 + 8], 0x3f3f
mov rbp, qword [r13]
mov esi, dword [r13 + 8]
mov r14d, dword [r15 + 0xa0]
mov ebx, dword [r15 + 0xa4]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0xa8], r10d
jne 0x140078cf7
mov dword [r15 + 0x1c3c], 0xffffffff
jmp 0x140078cf7
mov r8d, dword [r11]
mov eax, 1
mov r10, qword [r15 + 0xb8]
mov ecx, r8d
shl eax, cl
mov dword [r15 + 0x1c3c], r12d
lea ecx, [rax - 1]
mov eax, r14d
and rcx, rax
mov eax, dword [r10 + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, ebx
jbe 0x140079d9d
nop dword [rax]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
mov ecx, r8d
mov eax, 1
mov edx, r14d
shl eax, cl
inc rbp
dec eax
add ebx, 8
and rax, rdx
mov eax, dword [r10 + rax*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, ebx
ja 0x140079d60
mov r11d, eax
test al, al
je 0x140079e65
test al, 0xf0
jne 0x140079e65
mov ecx, eax
mov dword [rsp + 0x30], 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, r14d
movzx r8d, r11b
movzx r11d, byte [rsp + 0x31]
shr r9d, cl
add r9d, eax
mov eax, dword [r10 + r9*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
add r8d, ecx
cmp r8d, ebx
jbe 0x140079e55
movzx edi, word [rsp + 0x32]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
mov r8d, 1
add r14d, eax
movzx ecx, dl
add ecx, r11d
dec esi
shl r8d, cl
inc rbp
dec r8d
mov ecx, r11d
and r8d, r14d
add ebx, 8
shr r8d, cl
add r8d, edi
mov eax, dword [r10 + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r11d
cmp r8d, ebx
ja 0x140079e07
mov ecx, r11d
shr r14d, cl
sub ebx, r11d
mov dword [r15 + 0x1c3c], ecx
mov ecx, eax
shr ecx, 8
movzx edx, cl
add dword [r15 + 0x1c3c], edx
mov ecx, edx
shr r14d, cl
sub ebx, edx
mov ecx, eax
shr ecx, 0x10
mov dword [r15 + 0xa8], ecx
test al, al
jne 0x140079e98
mov dword [r15 + 8], 0x3f4d
jmp 0x140078cea
test al, 0x20
je 0x140079eb4
mov dword [r15 + 0x1c3c], 0xffffffff
mov dword [r15 + 8], 0x3f3f
jmp 0x140078cea
test al, 0x40
je 0x140079ed0
lea rax, str.invalid_literal_length_code
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cea
movzx ecx, al
lea r8, [r15 + 0xcc]
and ecx, 0xf
mov dword [r15 + 8], 0x3f49
mov dword [r15 + 0xb0], ecx
mov edx, dword [r15 + 0xb0]
test edx, edx
je 0x140079f45
cmp ebx, edx
jae 0x140079f1f
nop dword [rax + rax]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, edx
jb 0x140079f00
mov ecx, dword [r15 + 0xb0]
mov eax, 1
shl eax, cl
sub ebx, ecx
dec eax
and eax, r14d
shr r14d, cl
add dword [r15 + 0xa8], eax
add dword [r15 + 0x1c3c], ecx
mov eax, dword [r15 + 0xa8]
mov dword [r15 + 0x1c40], eax
mov dword [r15 + 8], 0x3f4a
mov r8d, dword [r8]
mov eax, 1
mov r10, qword [r15 + 0xc0]
mov ecx, r8d
shl eax, cl
lea ecx, [rax - 1]
mov eax, r14d
and rcx, rax
mov eax, dword [r10 + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, ebx
jbe 0x140079fc5
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
mov ecx, r8d
mov eax, 1
mov edx, r14d
shl eax, cl
inc rbp
dec eax
add ebx, 8
and rax, rdx
mov eax, dword [r10 + rax*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, ebx
ja 0x140079f88
mov r11d, eax
test al, 0xf0
jne 0x14007a086
mov ecx, eax
mov dword [rsp + 0x30], 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, r14d
shr r9d, cl
add r9d, eax
mov eax, dword [r10 + r9*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, r11b
movzx r11d, byte [rsp + 0x31]
add r8d, ecx
cmp r8d, ebx
jbe 0x14007a076
movzx edi, word [rsp + 0x32]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
mov r8d, 1
add r14d, eax
movzx ecx, dl
add ecx, r11d
dec esi
shl r8d, cl
inc rbp
dec r8d
mov ecx, r11d
and r8d, r14d
add ebx, 8
shr r8d, cl
add r8d, edi
mov eax, dword [r10 + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r11d
cmp r8d, ebx
ja 0x14007a028
mov ecx, r11d
sub ebx, r11d
shr r14d, cl
add dword [r15 + 0x1c3c], ecx
mov r9, qword [rsp + 0x40]
mov ecx, eax
mov r10d, dword [rsp + 0xa8]
shr ecx, 8
movzx ecx, cl
add dword [r15 + 0x1c3c], ecx
sub ebx, ecx
shr r14d, cl
test al, 0x40
je 0x14007a0c3
lea rax, str.invalid_distance_code
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov ecx, eax
mov dword [r15 + 8], 0x3f4b
shr ecx, 0x10
mov dword [r15 + 0xac], ecx
movzx ecx, al
and ecx, 0xf
mov dword [r15 + 0xb0], ecx
mov edx, dword [r15 + 0xb0]
test edx, edx
je 0x14007a138
cmp ebx, edx
jae 0x14007a112
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, edx
jb 0x14007a0f3
mov ecx, dword [r15 + 0xb0]
mov eax, 1
shl eax, cl
sub ebx, ecx
dec eax
and eax, r14d
shr r14d, cl
add dword [r15 + 0xac], eax
add dword [r15 + 0x1c3c], ecx
mov dword [r15 + 8], 0x3f4c
mov ecx, dword [r15 + 0x34]
mov eax, r9d
mov rdx, qword [r15 + 0x40]
sub eax, ecx
mov edi, dword [r15 + 0xa8]
sub eax, edx
mov dword [r15 + 0x3c], eax
mov dword [r13 + 0x20], r10d
lea r12d, [rcx*4]
add r12, rdx
mov qword [r13], rbp
mov dword [r13 + 8], esi
mov r8d, r12d
sub r8d, r9d
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
cmp edi, r8d
jbe 0x14007a1dc
cmp dword [r13 + 0x20], 0
jbe 0x14007a1d5
mov rcx, r13
call fcn.140019e60
mov r9d, dword [r15 + 0x3c]
mov r8d, r12d
mov eax, dword [r15 + 0x34]
mov r10d, dword [r13 + 0x20]
add r9, rax
add r9, qword [r15 + 0x40]
mov rbp, qword [r13]
sub r8d, r9d
mov esi, dword [r13 + 8]
mov r14d, dword [r15 + 0xa0]
mov ebx, dword [r15 + 0xa4]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0xa8], r10d
cmp edi, r8d
cmova edi, r8d
test edi, edi
je 0x14007a6d3
mov r8d, dword [r15 + 0x3c]
mov ecx, dword [r15 + 0x38]
mov edx, dword [r15 + 0xac]
add ecx, r8d
cmp edx, ecx
jbe 0x14007a21c
cmp dword [r15 + 0x1c38], 0
je 0x14007a21c
lea rax, str.invalid_distance_too_far_back
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov r11, qword [r15 + 0x40]
mov rcx, r8
mov r10d, dword [r15 + 0x34]
mov r9, r11
sub dword [r15 + 0xa8], edi
sub r9, rdx
add r9, r10
add r9, r8
cmp edi, edx
jbe 0x14007a309
cmp edi, 2
jbe 0x14007a2c5
lea ecx, [rdi - 3]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea r10d, [rdx + 1]
nop dword [rax + rax]
movzx edx, byte [r9]
add edi, 0xfffffffd
mov eax, dword [r15 + 0x34]
mov ecx, r8d
add rcx, rax
mov rax, qword [r15 + 0x40]
mov byte [rcx + rax], dl
inc dword [r15 + 0x3c]
movzx ecx, byte [r9 + 1]
mov edx, dword [r15 + 0x3c]
mov eax, dword [r15 + 0x34]
add rdx, rax
mov rax, qword [r15 + 0x40]
mov byte [rdx + rax], cl
inc dword [r15 + 0x3c]
mov edx, dword [r15 + 0x3c]
mov eax, dword [r15 + 0x34]
movzx ecx, byte [r9 + 2]
add rdx, rax
mov rax, qword [r15 + 0x40]
add r9, 3
mov byte [rdx + rax], cl
mov eax, dword [r15 + 0x3c]
inc eax
mov dword [r15 + 0x3c], eax
mov r8d, eax
sub r10, 1
jne 0x14007a260
test edi, edi
je 0x14007a322
mov eax, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x40]
mov edx, r8d
add rdx, rax
movzx eax, byte [r9]
mov byte [rdx + rcx], al
inc dword [r15 + 0x3c]
mov eax, dword [r15 + 0x3c]
mov r8d, eax
cmp edi, 1
jbe 0x14007a322
mov rcx, qword [r15 + 0x40]
mov edx, eax
mov eax, dword [r15 + 0x34]
add rdx, rax
movzx eax, byte [r9 + 1]
mov byte [rdx + rcx], al
inc dword [r15 + 0x3c]
jmp 0x14007a31e
add rcx, r10
mov r8d, edi
add rcx, r11
mov rdx, r9
call fcn.14014cbf0
add dword [r15 + 0x3c], edi
mov r8d, dword [r15 + 0x3c]
mov eax, dword [r15 + 0x34]
mov r10d, dword [r13 + 0x20]
mov rbp, qword [r13]
mov esi, dword [r13 + 8]
mov r14d, dword [r15 + 0xa0]
mov ebx, dword [r15 + 0xa4]
mov r9d, r8d
add r9, rax
mov dword [rsp + 0xa8], r10d
add r9, qword [r15 + 0x40]
cmp dword [r15 + 0xa8], 0
mov qword [rsp + 0x40], r9
jne 0x140078cf7
mov dword [r15 + 8], 0x3f48
jmp 0x140078cf7
mov edx, dword [r15 + 0x34]
mov r8, qword [r15 + 0x40]
lea ecx, [rdx*4]
add rcx, r8
cmp r9, rcx
jb 0x14007a3eb
sub r9d, r8d
mov rcx, r13
sub r9d, edx
mov dword [r15 + 0x3c], r9d
mov dword [r13 + 0x20], r10d
mov qword [r13], rbp
mov dword [r13 + 8], esi
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
call fcn.140019e60
mov r9d, dword [r15 + 0x3c]
mov eax, dword [r15 + 0x34]
mov r10d, dword [r13 + 0x20]
add r9, rax
add r9, qword [r15 + 0x40]
mov rbp, qword [r13]
mov esi, dword [r13 + 8]
mov r14d, dword [r15 + 0xa0]
mov ebx, dword [r15 + 0xa4]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0xa8], r10d
test r10d, r10d
je 0x14007a6d3
movzx eax, byte [r15 + 0xa8]
mov byte [r9], al
inc r9
mov qword [rsp + 0x40], r9
mov dword [r15 + 8], 0x3f48
jmp 0x140078cf7
sub r9d, dword [r15 + 0x40]
mov rcx, r13
sub r9d, dword [r15 + 0x34]
mov dword [r15 + 0x3c], r9d
mov dword [r13 + 0x20], r10d
mov qword [r13], rbp
mov dword [r13 + 8], esi
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
call fcn.140019e60
mov r9d, dword [r15 + 0x3c]
mov r10d, dword [r13 + 0x20]
mov ecx, r9d
mov eax, dword [r15 + 0x34]
mov rbp, qword [r13]
add r9, rax
add r9, qword [r15 + 0x40]
mov esi, dword [r13 + 8]
mov r14d, dword [r15 + 0xa0]
mov ebx, dword [r15 + 0xa4]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0xa8], r10d
test r10d, r10d
jne 0x14007a488
test ecx, ecx
jne 0x14007a6b7
cmp dword [r15 + 0x10], 0
je 0x14007a5ed
cmp ebx, 0x20
jae 0x14007a4b8
test esi, esi
je 0x14007a6ab
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x20
jb 0x14007a498
sub edi, r10d
mov dword [rsp + 0x38], r10d
mov eax, edi
add qword [r13 + 0x28], rax
add dword [r15 + 0x24], edi
test byte [r15 + 0x10], 2
je 0x14007a5b6
cmp dword [0x1401f41e4], 0
je 0x14007a5b6
movdqa xmm3, xmmword [0x1401bd240]
movdqu xmm1, xmmword [r15 + 0x50]
movdqu xmm0, xmmword [r15 + 0x60]
movdqa xmm2, xmm1
pclmulqdq xmm2, xmm3, 0x10
xorps xmm2, xmm0
movdqu xmm0, xmmword [r15 + 0x70]
pclmulqdq xmm1, xmm3, 1
xorps xmm2, xmm1
movdqa xmm1, xmm2
pclmulqdq xmm2, xmm3, 1
pclmulqdq xmm1, xmm3, 0x10
xorps xmm1, xmm0
movdqu xmm0, xmmword [r15 + 0x80]
xorps xmm1, xmm2
movdqa xmm2, xmm1
pclmulqdq xmm2, xmm3, 0x10
xorps xmm2, xmm0
pclmulqdq xmm1, xmm3, 1
xorps xmm2, xmm1
movdqa xmm1, xmm2
psrldq xmm2, 8
pclmulqdq xmm1, xmmword [0x1401bd250], 0
xorps xmm1, xmm2
movdqa xmm3, xmm1
pslldq xmm3, 4
pclmulqdq xmm3, xmmword [0x1401bd250], 0x10
xorps xmm3, xmm1
andps xmm3, xmmword [0x1401bd220]
movdqa xmm2, xmm3
pclmulqdq xmm2, xmmword [0x1401bd260], 0
xorps xmm2, xmm3
andps xmm2, xmmword [0x1401bd230]
movdqa xmm0, xmm2
pclmulqdq xmm0, xmmword [0x1401bd260], 0x10
xorps xmm0, xmm2
xorps xmm0, xmm3
pextrd eax, xmm0, 2
not eax
mov dword [r15 + 0x20], eax
mov dword [r13 + 0x5c], eax
test byte [r15 + 0x10], 4
je 0x14007a5e7
cmp dword [r15 + 0x18], 0
mov eax, r14d
jne 0x14007a5c9
bswap eax
cmp eax, dword [r15 + 0x20]
je 0x14007a5e7
lea rax, str.incorrect_data_check
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
mov r14d, r12d
mov ebx, r12d
mov dword [r15 + 8], 0x3f4f
cmp dword [r15 + 0x10], 0
je 0x14007a684
cmp dword [r15 + 0x18], 0
je 0x14007a684
cmp ebx, 0x20
jae 0x14007a630
nop dword [rax]
test esi, esi
je 0x14007a6d3
movzx eax, byte [rbp]
mov ecx, ebx
shl eax, cl
dec esi
add r14d, eax
inc rbp
add ebx, 8
cmp ebx, 0x20
jb 0x14007a610
cmp r14d, dword [r15 + 0x24]
je 0x14007a67e
lea rax, str.incorrect_length_check
mov qword [r13 + 0x30], rax
mov dword [r15 + 8], 0x3f51
jmp 0x140078cf7
sub r9d, dword [r15 + 0x40]
mov eax, 2
sub r9d, dword [r15 + 0x34]
mov dword [r15 + 0x3c], r9d
mov dword [r13 + 0x20], r10d
mov qword [r13], rbp
mov dword [r13 + 8], esi
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
jmp 0x14007a7b9
mov r14d, r12d
mov ebx, r12d
mov dword [r15 + 8], 0x3f50
mov edi, 1
jmp 0x14007a6da
mov edi, 0xfffffffd
jmp 0x14007a6da
mov r13, qword [rsp + 0xa0]
mov edi, dword [rsp + 0xb0]
jmp 0x14007a6e1
mov edi, dword [rsp + 0xb0]
mov ecx, r10d
jmp 0x14007a6e1
mov edi, dword [rsp + 0xb0]
mov ecx, r10d
jmp 0x14007a6e1
mov ecx, dword [rsp + 0xa8]
mov edi, dword [rsp + 0xb0]
jmp 0x14007a6e1
mov edi, dword [rsp + 0xb0]
mov ecx, dword [rsp + 0xa8]
mov rax, qword [rsp + 0x40]
sub eax, dword [r15 + 0x40]
sub eax, dword [r15 + 0x34]
mov dword [r15 + 0x3c], eax
mov dword [r13 + 0x20], ecx
mov qword [r13], rbp
mov dword [r13 + 8], esi
cmp dword [r15 + 0x3c], 0
mov dword [r15 + 0xa0], r14d
mov dword [r15 + 0xa4], ebx
je 0x14007a722
cmp dword [r13 + 0x20], 0
je 0x14007a722
mov rcx, r13
call fcn.140019e60
mov r10d, dword [rsp + 0x3c]
sub r10d, dword [r13 + 8]
mov r9d, dword [rsp + 0x38]
sub r9d, dword [r13 + 0x20]
mov eax, r10d
add qword [r13 + 0x10], rax
mov eax, r9d
add qword [r13 + 0x28], rax
add dword [r15 + 0x24], r9d
mov edx, dword [r15 + 8]
cmp edx, 0x3f47
je 0x14007a75f
cmp edx, 0x3f42
je 0x14007a75f
xor r8d, r8d
jmp 0x14007a765
mov r8d, 0x100
mov eax, dword [r15 + 0xc]
mov r11d, 0x80
neg eax
mov eax, 0
sbb ecx, ecx
and ecx, 0x40
cmp edx, 0x3f3f
cmove eax, r11d
add ecx, eax
add ecx, dword [r15 + 0xa4]
add ecx, r8d
mov dword [r13 + 0x58], ecx
test r10d, r10d
jne 0x14007a7a9
test r9d, r9d
jne 0x14007a7a9
test edi, edi
mov eax, 0xfffffffb
cmove edi, eax
mov eax, edi
jmp 0x14007a7b9
mov eax, 0xfffffffc
jmp 0x14007a7b9
mov eax, 0xfffffffe
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret