Function at 0x140006ad0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
xor r12d, r12d
mov ebx, edx
mov r13, rcx
cmp rcx, r12
je 0x140006bc5
mov rdi, qword [rcx + 0x28]
cmp rdi, r12
je 0x140006bc5
cmp qword [rcx + 0x10], r12
je 0x140006bc5
cmp qword [rcx], r12
jne 0x140006b1b
cmp dword [rcx + 8], r12d
jne 0x140006bc5
cmp dword [rdi], 0xb
jne 0x140006b26
mov dword [rdi], 0xc
mov r9d, dword [rcx + 0x18]
mov r14d, dword [rcx + 8]
mov r10, qword [rcx + 0x10]
mov r15, qword [rcx]
mov dword [rsp + 0x38], r14d
mov r8d, r9d
mov dword [rsp + 0xb8], r9d
mov dword [rsp + 0xa0], r12d
mov esi, dword [rdi + 0x44]
mov ebp, dword [rdi + 0x40]
mov dword [rsp + 0xb0], r9d
mov qword [rsp + 0x40], r10
mov r11d, 0x10
mov edx, 7
mov ecx, dword [rdi]
cmp ecx, 0xe
jg 0x1400073fc
je 0x1400071c3
cmp ecx, edx
jg 0x14000713d
je 0x140006f15
cmp ecx, r12d
je 0x140006f9a
sub ecx, 1
je 0x140006bf7
sub ecx, 1
je 0x140006c8c
sub ecx, 1
je 0x140006d09
sub ecx, 1
je 0x140006d66
sub ecx, 1
je 0x140006d80
cmp ecx, 1
je 0x140006e7f
mov eax, 0xfffffffe
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006bdb
mov dword [rdi + 0x10], ebp
cmp bpl, 8
je 0x140006c11
lea rax, str.unknown_compression_method
jmp 0x1400070e6
test ebp, 0xe000
je 0x140006c25
lea rax, str.unknown_header_flags_set
jmp 0x1400070e6
mov rcx, qword [rdi + 0x20]
cmp rcx, r12
je 0x140006c38
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [rcx], eax
bt dword [rdi + 0x10], 9
jae 0x140006c62
mov byte [rsp + 0x30], bpl
shr ebp, 8
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x31], bpl
mov ecx, dword [rdi + 0x18]
mov r8d, 2
call fcn.140006394
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 2
jmp 0x140006c8c
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x140006c70
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006c9d
mov dword [rax + 4], ebp
bt dword [rdi + 0x10], 9
jae 0x140006cd9
mov eax, ebp
mov byte [rsp + 0x30], bpl
lea rdx, [rsp + 0x30]
shr eax, 8
mov r8d, 4
mov byte [rsp + 0x31], al
mov eax, ebp
shr ebp, 0x18
shr eax, 0x10
mov byte [rsp + 0x33], bpl
mov byte [rsp + 0x32], al
mov ecx, dword [rdi + 0x18]
call fcn.140006394
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 3
mov r11d, 0x10
jmp 0x140006d09
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006ced
mov rcx, qword [rdi + 0x20]
cmp rcx, r12
je 0x140006d2a
movzx eax, bpl
mov dword [rcx + 8], eax
mov rax, qword [rdi + 0x20]
mov ecx, ebp
shr ecx, 8
mov dword [rax + 0xc], ecx
bt dword [rdi + 0x10], 9
jae 0x140006d5a
mov byte [rsp + 0x30], bpl
shr ebp, 8
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x31], bpl
mov ecx, dword [rdi + 0x18]
mov r8d, 2
call fcn.140006394
mov r11d, 0x10
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 4
bt dword [rdi + 0x10], 0xa
jb 0x140006de8
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006d7a
mov qword [rax + 0x10], r12
mov dword [rdi], 5
bt dword [rdi + 0x10], 0xa
jae 0x140006e70
mov ebx, dword [rdi + 0x48]
cmp ebx, r14d
cmova ebx, r14d
cmp ebx, r12d
je 0x140006e66
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006e43
mov r9, qword [rax + 0x10]
cmp r9, r12
je 0x140006e43
mov edx, dword [rax + 0x18]
mov ecx, dword [rax + 0x1c]
sub edx, dword [rdi + 0x48]
lea eax, [rbx + rdx]
cmp eax, ecx
jbe 0x140006e31
sub ecx, edx
jmp 0x140006e33
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006dcc
mov rax, qword [rdi + 0x20]
mov dword [rdi + 0x48], ebp
cmp rax, r12
je 0x140006dfc
mov dword [rax + 0x18], ebp
bt dword [rdi + 0x10], 9
jae 0x140006e26
mov byte [rsp + 0x30], bpl
shr ebp, 8
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x31], bpl
mov ecx, dword [rdi + 0x18]
mov r8d, 2
call fcn.140006394
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
jmp 0x140006d7a
mov ecx, ebx
mov r8d, ecx
mov ecx, edx
mov rdx, r15
add rcx, r9
call fcn.140008c20
bt dword [rdi + 0x10], 9
jae 0x140006e5b
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.140006394
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
sub dword [rdi + 0x48], ebx
cmp dword [rdi + 0x48], r12d
jne 0x140007edf
mov dword [rdi + 0x48], r12d
mov dword [rdi], 6
mov edx, 7
bt dword [rdi + 0x10], 0xb
jae 0x140006f02
cmp r14d, r12d
je 0x140007edf
mov ebx, r12d
mov r8, r15
xor r9d, r9d
mov rax, qword [rdi + 0x20]
movzx r12d, byte [r8]
inc ebx
inc r8
cmp rax, r9
je 0x140006ec2
mov rdx, qword [rax + 0x20]
cmp rdx, r9
je 0x140006ec2
mov ecx, dword [rdi + 0x48]
cmp ecx, dword [rax + 0x28]
jae 0x140006ec2
mov byte [rcx + rdx], r12b
inc dword [rdi + 0x48]
cmp r12d, r9d
je 0x140006ecc
cmp ebx, r14d
jb 0x140006e98
bt dword [rdi + 0x10], 9
jae 0x140006ee7
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.140006394
xor r9d, r9d
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
cmp r12d, r9d
jne 0x140007edf
xor r12d, r12d
lea edx, [r12 + 7]
jmp 0x140006f0f
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006f0f
mov qword [rax + 0x20], r12
mov dword [rdi + 0x48], r12d
mov dword [rdi], edx
bt dword [rdi + 0x10], 0xc
jae 0x1400070f5
cmp r14d, r12d
je 0x140007edf
mov ebx, r12d
mov r8, r15
xor r9d, r9d
mov rax, qword [rdi + 0x20]
movzx r12d, byte [r8]
inc ebx
inc r8
cmp rax, r9
je 0x140006f5c
mov rdx, qword [rax + 0x30]
cmp rdx, r9
je 0x140006f5c
mov ecx, dword [rdi + 0x48]
cmp ecx, dword [rax + 0x38]
jae 0x140006f5c
mov byte [rcx + rdx], r12b
inc dword [rdi + 0x48]
cmp r12d, r9d
je 0x140006f66
cmp ebx, r14d
jb 0x140006f32
bt dword [rdi + 0x10], 9
jae 0x140006f81
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.140006394
xor r9d, r9d
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
cmp r12d, r9d
jne 0x140007edf
xor r12d, r12d
jmp 0x140007102
cmp dword [rdi + 8], r12d
jne 0x140006fc7
mov dword [rdi], 0xc
jmp 0x140006b6b
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006fab
test byte [rdi + 8], 2
je 0x14000702f
cmp ebp, 0x8b1f
jne 0x14000702f
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140006394
lea rdx, [rsp + 0x30]
mov r8d, 2
mov dword [rdi + 0x18], eax
mov byte [rsp + 0x30], 0x1f
mov byte [rsp + 0x31], 0x8b
mov ecx, dword [rdi + 0x18]
call fcn.140006394
mov dword [rdi], 1
mov dword [rdi + 0x18], eax
mov esi, r12d
mov ebp, r12d
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
jmp 0x140006b60
mov rax, qword [rdi + 0x20]
mov dword [rdi + 0x10], r12d
cmp rax, r12
je 0x140007040
or dword [rax + 0x40], 0xffffffff
test byte [rdi + 8], 1
je 0x1400070df
movzx ecx, bpl
mov eax, ebp
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 0x1400070da
mov eax, ebp
and al, 0xf
cmp al, 8
je 0x14000708f
lea rax, str.unknown_compression_method
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006b66
shr ebp, 4
add esi, 0xfffffffc
mov ecx, ebp
and ecx, 0xf
add ecx, 8
cmp ecx, dword [rdi + 0x28]
jbe 0x1400070ab
lea rax, str.invalid_window_size
jmp 0x140007080
mov eax, 1
xor r8d, r8d
xor edx, edx
shl eax, cl
xor ecx, ecx
mov dword [rdi + 0x14], eax
call fcn.140005850
shr ebp, 8
not ebp
mov dword [rdi + 0x18], eax
mov dword [r13 + 0x4c], eax
and ebp, 2
or ebp, 9
mov dword [rdi], ebp
jmp 0x14000700f
mov edx, 7
lea rax, str.incorrect_header_check
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006b6b
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140007102
mov qword [rax + 0x30], r12
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
mov ebx, dword [rsp + 0xa8]
mov edx, 7
mov dword [rdi], 8
lea r11d, [rdx + 9]
bt dword [rdi + 0x10], 9
jae 0x1400073b0
jmp 0x140007391
sub ecx, 8
je 0x14000712d
sub ecx, 1
je 0x140007257
sub ecx, 1
je 0x140007290
sub ecx, 1
je 0x1400072d1
sub ecx, 1
je 0x1400072da
cmp ecx, 1
jne 0x140006bc5
mov ecx, esi
and ecx, edx
shr ebp, cl
sub esi, ecx
jmp 0x140007195
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x140007179
mov eax, ebp
movzx ecx, bp
not eax
shr eax, 0x10
cmp ecx, eax
je 0x1400071b4
lea rax, str.invalid_stored_block_lengths
jmp 0x1400070e6
mov dword [rdi + 0x48], ecx
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 0xe
mov r12d, dword [rdi + 0x48]
xor ecx, ecx
cmp r12d, ecx
je 0x1400073ee
cmp r12d, r14d
cmova r12d, r14d
cmp r12d, r9d
cmova r12d, r9d
cmp r12d, ecx
je 0x140007edf
mov r8d, r12d
mov rdx, r15
mov rcx, r10
mov ebx, r12d
call fcn.140008c20
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
sub r9d, r12d
sub r14d, r12d
add r10, rbx
add r15, rbx
sub dword [rdi + 0x48], r12d
mov dword [rsp + 0xb0], r9d
mov qword [rsp + 0x40], r10
mov r8d, dword [rsp + 0xb8]
mov ebx, dword [rsp + 0xa8]
xor r12d, r12d
jmp 0x140006b60
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14000723b
mov ecx, ebp
mov eax, ebp
mov edx, 0xff00
shl eax, 0x10
and ecx, edx
mov esi, r12d
add ecx, eax
mov eax, ebp
shr ebp, 0x18
shr eax, 8
shl ecx, 8
and eax, edx
add eax, ecx
add eax, ebp
mov ebp, r12d
mov dword [rdi + 0x18], eax
mov dword [r13 + 0x4c], eax
mov dword [rdi], 0xa
cmp dword [rdi + 0xc], r12d
je 0x140007ea3
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140005850
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
mov edx, 7
mov dword [rdi + 0x18], eax
mov dword [r13 + 0x4c], eax
mov dword [rdi], 0xb
lea r11d, [rdx + 9]
cmp ebx, 5
je 0x140007edf
cmp dword [rdi + 4], r12d
je 0x14000730f
mov ecx, esi
mov dword [rdi], 0x18
and ecx, edx
shr ebp, cl
sub esi, ecx
jmp 0x140006b6b
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 3
jb 0x1400072f3
mov eax, ebp
shr ebp, 1
dec esi
and eax, 1
mov dword [rdi + 4], eax
mov eax, ebp
and eax, 3
cmp eax, r12d
je 0x140007364
sub eax, 1
je 0x140007354
sub eax, 1
je 0x14000734c
cmp eax, 1
jne 0x14000736a
lea rax, str.invalid_block_type
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x14000736a
mov dword [rdi], 0xf
jmp 0x14000736a
mov rcx, rdi
call fcn.1400069b8
mov dword [rdi], 0x12
jmp 0x14000736a
mov dword [rdi], 0xd
shr ebp, 2
add esi, 0xfffffffe
jmp 0x140006b6b
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140007375
movzx eax, word [rdi + 0x18]
cmp ebp, eax
je 0x1400073aa
lea rax, str.header_crc_mismatch
jmp 0x1400070e6
mov ebp, r12d
mov esi, r12d
mov rcx, qword [rdi + 0x20]
cmp rcx, r12
je 0x1400073d0
mov eax, dword [rdi + 0x10]
sar eax, 9
and eax, 1
mov dword [rcx + 0x3c], eax
mov rax, qword [rdi + 0x20]
mov dword [rax + 0x40], 1
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140006394
mov dword [rdi + 0x18], eax
mov dword [r13 + 0x4c], eax
mov dword [rdi], 0xb
jmp 0x140007015
mov dword [rdi], 0xb
xor r12d, r12d
jmp 0x140006b6b
cmp ecx, 0x16
jg 0x140007d2a
je 0x140007c9c
sub ecx, 0xf
je 0x140007467
sub ecx, 1
je 0x1400074bc
sub ecx, 1
je 0x14000759f
sub ecx, 1
je 0x1400078dd
sub ecx, 1
je 0x140007a92
sub ecx, 1
je 0x140007ad9
cmp ecx, 1
jne 0x140006bc5
jmp 0x140007c3b
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0xe
jb 0x14000744b
mov ecx, ebp
shr ebp, 5
add esi, 0xfffffff2
mov edx, ebp
shr ebp, 5
and ecx, 0x1f
mov eax, ebp
and edx, 0x1f
add ecx, 0x101
and eax, 0xf
inc edx
shr ebp, 4
add eax, 4
mov dword [rdi + 0x74], ecx
mov dword [rdi + 0x78], edx
mov dword [rdi + 0x70], eax
cmp ecx, 0x11e
ja 0x140007cc4
cmp edx, 0x1e
ja 0x140007cc4
mov dword [rdi + 0x7c], r12d
mov dword [rdi], r11d
mov edx, 7
lea r8, [0x14002b260]
mov eax, dword [rdi + 0x70]
cmp dword [rdi + 0x7c], eax
jae 0x140007523
jmp 0x1400074e9
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 3
jb 0x1400074cd
mov eax, dword [rdi + 0x7c]
movzx ecx, bp
shr ebp, 3
movzx eax, word [r8 + rax*2]
and cx, dx
mov word [rdi + rax*2 + 0x88], cx
inc dword [rdi + 0x7c]
add esi, 0xfffffffd
jmp 0x1400074c3
mov eax, dword [rdi + 0x7c]
movzx ecx, word [r8 + rax*2]
mov word [rdi + rcx*2 + 0x88], r12w
inc dword [rdi + 0x7c]
cmp dword [rdi + 0x7c], 0x13
jb 0x14000750f
lea rcx, [rdi + 0x68]
lea rax, [rdi + 0x548]
lea r9, [rdi + 0x80]
mov dword [rcx], edx
mov qword [r9], rax
mov qword [rdi + 0x58], rax
lea rax, [rdi + 0x308]
lea rdx, [rdi + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor ecx, ecx
lea r8d, [rcx + 0x13]
call fcn.140008410
mov dword [rsp + 0xa0], eax
cmp eax, r12d
je 0x140007589
lea rax, str.invalid_code_lengths_set
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140007015
mov r10, qword [rsp + 0x40]
mov edx, 0x11
mov dword [rdi + 0x7c], r12d
lea r11d, [rdx - 1]
mov dword [rdi], edx
jmp 0x1400075a4
mov edx, 0x11
mov eax, dword [rdi + 0x78]
add eax, dword [rdi + 0x74]
cmp dword [rdi + 0x7c], eax
jae 0x14000776b
jmp 0x1400075d1
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
mov ecx, dword [rdi + 0x68]
mov eax, 1
shl eax, cl
lea ecx, [rax - 1]
mov eax, ebp
and rcx, rax
mov rax, qword [rdi + 0x58]
mov eax, dword [rax + rcx*4]
mov ecx, eax
mov dword [rsp + 0x34], eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x1400075b5
mov ecx, eax
shr ecx, 0x10
cmp cx, r11w
jae 0x140007655
shr eax, 8
movzx ecx, al
cmp esi, ecx
jae 0x140007634
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
add esi, 8
shl eax, cl
dec r14d
inc r15
add ebp, eax
movzx eax, byte [rsp + 0x35]
cmp esi, eax
jb 0x14000760f
movzx ecx, byte [rsp + 0x35]
movzx eax, word [rsp + 0x36]
shr ebp, cl
sub esi, ecx
mov ecx, dword [rdi + 0x7c]
mov word [rdi + rcx*2 + 0x88], ax
inc dword [rdi + 0x7c]
jmp 0x140007818
cmp word [rsp + 0x36], r11w
jne 0x1400076b9
movzx edx, byte [rsp + 0x35]
lea r8d, [rdx + 2]
jmp 0x140007684
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r8d
jb 0x140007668
mov eax, dword [rdi + 0x7c]
mov ecx, edx
sub esi, edx
shr ebp, cl
cmp eax, r12d
je 0x140007831
mov edx, ebp
dec eax
shr ebp, 2
movzx r9d, word [rdi + rax*2 + 0x88]
and edx, 3
add edx, 3
add esi, 0xfffffffe
jmp 0x140007746
movzx r8d, byte [rsp + 0x35]
cmp word [rsp + 0x36], dx
jne 0x140007703
lea edx, [r8 + 3]
jmp 0x1400076e8
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, edx
jb 0x1400076cc
mov ecx, r8d
mov eax, 0xfffffffd
shr ebp, cl
mov edx, ebp
and edx, 7
add edx, 3
shr ebp, 3
jmp 0x14000773e
lea edx, [r8 + 7]
jmp 0x140007725
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, edx
jb 0x140007709
mov ecx, r8d
mov eax, 0xfffffff9
shr ebp, cl
mov edx, ebp
and edx, 0x7f
add edx, 0xb
shr ebp, 7
sub eax, r8d
mov r9d, r12d
add esi, eax
mov eax, dword [rdi + 0x7c]
lea ecx, [rdx + rax]
mov eax, dword [rdi + 0x78]
add eax, dword [rdi + 0x74]
cmp ecx, eax
jbe 0x140007813
lea rax, str.invalid_bit_length_repeat
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
cmp dword [rdi], 0x1b
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
mov edx, 7
je 0x140006b6b
mov r8d, dword [rdi + 0x74]
lea rax, [rdi + 0x548]
lea r12, [rdi + 0x308]
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x58], rax
lea rax, [rdi + 0x68]
lea rdx, [rdi + 0x88]
lea r9, [rdi + 0x80]
mov ecx, 1
mov qword [rsp + 0x28], r12
mov dword [rax], 9
mov qword [rsp + 0x20], rax
call fcn.140008410
xor ecx, ecx
mov dword [rsp + 0xa0], eax
cmp eax, ecx
je 0x140007857
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
lea rax, str.invalid_literal_lengths_set
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140007224
mov eax, dword [rdi + 0x7c]
dec edx
mov word [rdi + rax*2 + 0x88], r9w
inc dword [rdi + 0x7c]
cmp edx, r12d
jne 0x140007802
mov eax, dword [rdi + 0x78]
add eax, dword [rdi + 0x74]
cmp dword [rdi + 0x7c], eax
jae 0x14000776b
mov edx, 0x11
jmp 0x1400075d1
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
lea rax, str.invalid_bit_length_repeat
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006b66
mov rax, qword [rdi + 0x80]
mov r8d, dword [rdi + 0x78]
lea rcx, [rdi + 0x6c]
mov qword [rdi + 0x60], rax
mov eax, dword [rdi + 0x74]
mov dword [rcx], 6
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
lea r9, [rdi + 0x80]
lea rdx, [rdi + rax*2 + 0x88]
mov ecx, 2
call fcn.140008410
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
mov ebx, dword [rsp + 0xa8]
xor r12d, r12d
mov dword [rsp + 0xa0], eax
cmp eax, r12d
je 0x1400078d7
lea rax, str.invalid_distances_set
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006b60
mov dword [rdi], 0x12
cmp r14d, 6
jb 0x14000792a
cmp r9d, 0x102
jb 0x14000792a
mov qword [r13 + 0x10], r10
mov dword [r13 + 0x18], r9d
mov qword [r13], r15
mov dword [r13 + 8], r14d
mov edx, r8d
mov rcx, r13
mov dword [rdi + 0x40], ebp
mov dword [rdi + 0x44], esi
call fcn.1400063ac
mov r10, qword [r13 + 0x10]
mov r9d, dword [r13 + 0x18]
mov r15, qword [r13]
mov r14d, dword [r13 + 8]
mov r8d, dword [rsp + 0xb8]
jmp 0x140006b4d
mov ecx, dword [rdi + 0x68]
mov r11, qword [rdi + 0x58]
mov r9d, 1
mov eax, r9d
shl eax, cl
sub eax, r9d
mov ecx, eax
mov eax, ebp
and rcx, rax
mov eax, dword [r11 + rcx*4]
jmp 0x140007981
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
mov ecx, dword [rdi + 0x68]
add r15, r9
add ebp, eax
mov eax, r9d
add esi, 8
shl eax, cl
sub eax, r9d
mov ecx, eax
mov eax, ebp
and rcx, rax
mov rax, qword [rdi + 0x58]
mov eax, dword [rax + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x14000794c
cmp al, r12b
je 0x140007a47
test al, 0xf0
jne 0x140007a47
mov r10d, eax
movzx ecx, al
mov edx, eax
shr r10d, 8
mov dword [rsp + 0x34], eax
shr eax, 0x10
movzx r8d, r10b
add ecx, r8d
shl r9d, cl
mov ecx, r8d
dec r9d
and r9d, ebp
shr r9d, cl
add r9d, eax
mov eax, dword [r11 + r9*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, r10b
add r8d, ecx
jmp 0x140007a39
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
movzx r9d, byte [rsp + 0x35]
mov ecx, esi
shl eax, cl
mov r8d, 1
movzx ecx, dl
add ecx, r9d
add ebp, eax
movzx eax, word [rsp + 0x36]
shl r8d, cl
mov ecx, r9d
dec r14d
dec r8d
inc r15
add esi, 8
and r8d, ebp
shr r8d, cl
add r8d, eax
mov rax, qword [rdi + 0x58]
mov eax, dword [rax + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r9d
cmp r8d, esi
ja 0x1400079e0
movzx ecx, byte [rsp + 0x35]
shr ebp, cl
sub esi, ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
shr ebp, cl
sub esi, ecx
mov ecx, eax
shr ecx, 0x10
mov dword [rdi + 0x48], ecx
cmp al, r12b
jne 0x140007a6b
mov dword [rdi], 0x17
jmp 0x140007015
test al, 0x20
jne 0x1400073e3
test al, 0x40
je 0x140007a83
lea rax, str.invalid_literal_length_code
jmp 0x14000757a
movzx ecx, al
mov dword [rdi], 0x13
and ecx, 0xf
mov dword [rdi + 0x50], ecx
mov edx, dword [rdi + 0x50]
cmp edx, r12d
je 0x140007ad3
cmp esi, edx
jae 0x140007abf
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
add esi, 8
shl eax, cl
dec r14d
inc r15
add ebp, eax
cmp esi, dword [rdi + 0x50]
jb 0x140007a9e
mov ecx, edx
mov eax, 1
shl eax, cl
dec eax
and eax, ebp
shr ebp, cl
add dword [rdi + 0x48], eax
sub esi, edx
mov dword [rdi], 0x14
mov ecx, dword [rdi + 0x6c]
mov r11, qword [rdi + 0x60]
mov r9d, 1
mov eax, r9d
shl eax, cl
sub eax, r9d
mov ecx, eax
mov eax, ebp
and rcx, rax
mov eax, dword [r11 + rcx*4]
jmp 0x140007b30
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
mov ecx, dword [rdi + 0x6c]
add r15, r9
add ebp, eax
mov eax, r9d
add esi, 8
shl eax, cl
sub eax, r9d
mov ecx, eax
mov eax, ebp
and rcx, rax
mov rax, qword [rdi + 0x60]
mov eax, dword [rax + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x140007afb
test al, 0xf0
jne 0x140007bed
mov r10d, eax
movzx ecx, al
mov edx, eax
shr r10d, 8
mov dword [rsp + 0x34], eax
shr eax, 0x10
movzx r8d, r10b
add ecx, r8d
shl r9d, cl
mov ecx, r8d
dec r9d
and r9d, ebp
shr r9d, cl
add r9d, eax
mov eax, dword [r11 + r9*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, r10b
add r8d, ecx
jmp 0x140007bdf
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
movzx r9d, byte [rsp + 0x35]
mov ecx, esi
shl eax, cl
mov r8d, 1
movzx ecx, dl
add ecx, r9d
add ebp, eax
movzx eax, word [rsp + 0x36]
shl r8d, cl
mov ecx, r9d
dec r14d
dec r8d
inc r15
add esi, 8
and r8d, ebp
shr r8d, cl
add r8d, eax
mov rax, qword [rdi + 0x60]
mov eax, dword [rax + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r9d
cmp r8d, esi
ja 0x140007b86
movzx ecx, byte [rsp + 0x35]
shr ebp, cl
sub esi, ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
shr ebp, cl
sub esi, ecx
test al, 0x40
je 0x140007c09
lea rax, str.invalid_distance_code
jmp 0x14000757a
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
mov ecx, eax
mov dword [rdi], 0x15
mov r11d, 0x10
shr ecx, 0x10
mov dword [rdi + 0x4c], ecx
movzx ecx, al
and ecx, 0xf
mov dword [rdi + 0x50], ecx
mov edx, dword [rdi + 0x50]
cmp edx, r12d
je 0x140007c7c
cmp esi, edx
jae 0x140007c68
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
add esi, 8
shl eax, cl
dec r14d
inc r15
add ebp, eax
cmp esi, dword [rdi + 0x50]
jb 0x140007c47
mov ecx, edx
mov eax, 1
shl eax, cl
dec eax
and eax, ebp
shr ebp, cl
add dword [rdi + 0x4c], eax
sub esi, edx
mov eax, dword [rdi + 0x30]
sub eax, r9d
add eax, r8d
cmp dword [rdi + 0x4c], eax
jbe 0x140007c96
lea rax, str.invalid_distance_too_far_back
jmp 0x140007080
mov dword [rdi], 0x16
cmp r9d, r12d
je 0x140007edf
mov ecx, dword [rdi + 0x4c]
mov eax, r8d
sub eax, r9d
cmp ecx, eax
jbe 0x140007ce1
sub ecx, eax
mov eax, dword [rdi + 0x34]
cmp ecx, eax
jbe 0x140007cd0
mov edx, dword [rdi + 0x2c]
sub ecx, eax
sub edx, ecx
jmp 0x140007cd4
lea rax, str.too_many_length_or_distance_symbols
jmp 0x140007080
sub eax, ecx
mov edx, eax
mov eax, dword [rdi + 0x48]
add rdx, qword [rdi + 0x38]
cmp ecx, eax
jbe 0x140007cec
jmp 0x140007cea
mov eax, dword [rdi + 0x48]
mov rdx, r10
sub rdx, rcx
mov ecx, eax
cmp ecx, r9d
cmova ecx, r9d
sub r9d, ecx
sub eax, ecx
mov dword [rdi + 0x48], eax
mov dword [rsp + 0xb0], r9d
mov al, byte [rdx]
inc rdx
mov byte [r10], al
inc r10
add ecx, 0xffffffff
jne 0x140007d03
mov qword [rsp + 0x40], r10
lea edx, [rcx + 7]
cmp dword [rdi + 0x48], r12d
jne 0x140006b6b
jmp 0x140007e98
sub ecx, 0x17
je 0x140007e7a
sub ecx, 1
je 0x140007d66
sub ecx, 1
je 0x140007e32
sub ecx, 1
je 0x140007ed7
sub ecx, 1
je 0x140007ec3
cmp ecx, 1
jne 0x140006bc5
mov eax, 0xfffffffc
jmp 0x140006bca
cmp dword [rdi + 8], r12d
je 0x140007e2c
jmp 0x140007d8e
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x140007d72
sub r8d, r9d
add dword [r13 + 0x1c], r8d
add dword [rdi + 0x1c], r8d
cmp r8d, r12d
je 0x140007dde
mov ecx, dword [rdi + 0x18]
mov eax, r8d
mov rdx, r10
sub rdx, rax
cmp dword [rdi + 0x10], r12d
je 0x140007dbc
call fcn.140006394
jmp 0x140007dc1
call fcn.140005850
mov r9d, dword [rsp + 0xb0]
mov r10, qword [rsp + 0x40]
mov edx, 7
mov dword [rdi + 0x18], eax
lea r11d, [rdx + 9]
mov dword [r13 + 0x4c], eax
mov ecx, ebp
mov eax, ebp
mov r8d, r9d
shl eax, 0x10
and ecx, 0xff00
mov dword [rsp + 0xb8], r9d
add ecx, eax
mov eax, ebp
shr eax, 8
shl ecx, 8
and eax, 0xff00
add ecx, eax
mov eax, ebp
shr eax, 0x18
add ecx, eax
cmp dword [rdi + 0x10], r12d
cmovne ecx, ebp
cmp ecx, dword [rdi + 0x18]
je 0x140007e26
lea rax, str.incorrect_data_check
jmp 0x1400070e6
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 0x19
cmp dword [rdi + 8], r12d
je 0x140007ed1
cmp dword [rdi + 0x10], r12d
je 0x140007ed1
jmp 0x140007e64
cmp r14d, r12d
je 0x140007edf
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x140007e48
cmp ebp, dword [rdi + 0x1c]
je 0x140007ecb
lea rax, str.incorrect_length_check
jmp 0x1400070e6
cmp r9d, r12d
je 0x140007edf
mov al, byte [rdi + 0x48]
mov byte [r10], al
inc r10
dec r9d
mov dword [rsp + 0xb0], r9d
mov qword [rsp + 0x40], r10
mov dword [rdi], 0x12
jmp 0x140006b6b
mov qword [r13 + 0x10], r10
mov dword [r13 + 0x18], r9d
mov qword [r13], r15
mov dword [r13 + 8], r14d
mov eax, 2
mov dword [rdi + 0x40], ebp
mov dword [rdi + 0x44], esi
jmp 0x140006bca
mov r12d, 0xfffffffd
jmp 0x140007ee7
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 0x1a
mov r12d, 1
jmp 0x140007ee7
mov r12d, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x40]
mov ebx, dword [rsp + 0xb8]
mov qword [r13], r15
mov qword [r13 + 0x10], rax
mov eax, dword [rsp + 0xb0]
mov dword [r13 + 8], r14d
mov dword [r13 + 0x18], eax
mov dword [rdi + 0x40], ebp
xor ebp, ebp
mov dword [rdi + 0x44], esi
cmp dword [rdi + 0x2c], ebp
jne 0x140007f22
cmp dword [rdi], 0x18
jge 0x140007f3b
cmp ebx, dword [r13 + 0x18]
je 0x140007f3b
mov edx, ebx
mov rcx, r13
call fcn.1400069e0
cmp eax, ebp
je 0x140007f3b
mov dword [rdi], 0x1c
jmp 0x140007d5c
sub ebx, dword [r13 + 0x18]
mov esi, dword [rsp + 0x38]
sub esi, dword [r13 + 8]
add dword [r13 + 0x1c], ebx
add dword [r13 + 0xc], esi
add dword [rdi + 0x1c], ebx
cmp dword [rdi + 8], ebp
je 0x140007f82
cmp ebx, ebp
je 0x140007f82
mov rdx, qword [r13 + 0x10]
mov ecx, dword [rdi + 0x18]
mov eax, ebx
sub rdx, rax
mov r8d, ebx
cmp dword [rdi + 0x10], ebp
je 0x140007f76
call fcn.140006394
jmp 0x140007f7b
call fcn.140005850
mov dword [rdi + 0x18], eax
mov dword [r13 + 0x4c], eax
mov eax, dword [rdi + 4]
mov edx, 0x80
neg eax
mov eax, ebp
sbb ecx, ecx
and ecx, 0x40
cmp dword [rdi], 0xb
cmove eax, edx
add ecx, eax
add ecx, dword [rdi + 0x44]
mov dword [r13 + 0x48], ecx
cmp esi, ebp
jne 0x140007faa
cmp ebx, ebp
je 0x140007fb4
cmp dword [rsp + 0xa8], 4
jne 0x140007fc0
mov eax, 0xfffffffb
cmp r12d, ebp
cmove r12d, eax
mov eax, r12d
jmp 0x140006bca