Function at 0x1400069b4
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 0x140006aa9
mov rdi, qword [rcx + 0x28]
cmp rdi, r12
je 0x140006aa9
cmp qword [rcx + 0x10], r12
je 0x140006aa9
cmp qword [rcx], r12
jne 0x1400069ff
cmp dword [rcx + 8], r12d
jne 0x140006aa9
cmp dword [rdi], 0xb
jne 0x140006a0a
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 0x1400072e0
je 0x1400070a7
cmp ecx, edx
jg 0x140007021
je 0x140006df9
cmp ecx, r12d
je 0x140006e7e
sub ecx, 1
je 0x140006adb
sub ecx, 1
je 0x140006b70
sub ecx, 1
je 0x140006bed
sub ecx, 1
je 0x140006c4a
sub ecx, 1
je 0x140006c64
cmp ecx, 1
je 0x140006d63
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 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006abf
mov dword [rdi + 0x10], ebp
cmp bpl, 8
je 0x140006af5
lea rax, str.unknown_compression_method
jmp 0x140006fca
test ebp, 0xe000
je 0x140006b09
lea rax, str.unknown_header_flags_set
jmp 0x140006fca
mov rcx, qword [rdi + 0x20]
cmp rcx, r12
je 0x140006b1c
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [rcx], eax
bt dword [rdi + 0x10], 9
jae 0x140006b46
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.140006278
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 2
jmp 0x140006b70
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x140006b54
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006b81
mov dword [rax + 4], ebp
bt dword [rdi + 0x10], 9
jae 0x140006bbd
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.140006278
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 3
mov r11d, 0x10
jmp 0x140006bed
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006bd1
mov rcx, qword [rdi + 0x20]
cmp rcx, r12
je 0x140006c0e
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 0x140006c3e
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.140006278
mov r11d, 0x10
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 4
bt dword [rdi + 0x10], 0xa
jb 0x140006ccc
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006c5e
mov qword [rax + 0x10], r12
mov dword [rdi], 5
bt dword [rdi + 0x10], 0xa
jae 0x140006d54
mov ebx, dword [rdi + 0x48]
cmp ebx, r14d
cmova ebx, r14d
cmp ebx, r12d
je 0x140006d4a
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006d27
mov r9, qword [rax + 0x10]
cmp r9, r12
je 0x140006d27
mov edx, dword [rax + 0x18]
mov ecx, dword [rax + 0x1c]
sub edx, dword [rdi + 0x48]
lea eax, [rbx + rdx]
cmp eax, ecx
jbe 0x140006d15
sub ecx, edx
jmp 0x140006d17
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006cb0
mov rax, qword [rdi + 0x20]
mov dword [rdi + 0x48], ebp
cmp rax, r12
je 0x140006ce0
mov dword [rax + 0x18], ebp
bt dword [rdi + 0x10], 9
jae 0x140006d0a
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.140006278
mov dword [rdi + 0x18], eax
mov ebp, r12d
mov esi, r12d
jmp 0x140006c5e
mov ecx, ebx
mov r8d, ecx
mov ecx, edx
mov rdx, r15
add rcx, r9
call fcn.140008b00
bt dword [rdi + 0x10], 9
jae 0x140006d3f
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.140006278
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 0x140007dc3
mov dword [rdi + 0x48], r12d
mov dword [rdi], 6
mov edx, 7
bt dword [rdi + 0x10], 0xb
jae 0x140006de6
cmp r14d, r12d
je 0x140007dc3
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 0x140006da6
mov rdx, qword [rax + 0x20]
cmp rdx, r9
je 0x140006da6
mov ecx, dword [rdi + 0x48]
cmp ecx, dword [rax + 0x28]
jae 0x140006da6
mov byte [rcx + rdx], r12b
inc dword [rdi + 0x48]
cmp r12d, r9d
je 0x140006db0
cmp ebx, r14d
jb 0x140006d7c
bt dword [rdi + 0x10], 9
jae 0x140006dcb
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.140006278
xor r9d, r9d
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
cmp r12d, r9d
jne 0x140007dc3
xor r12d, r12d
lea edx, [r12 + 7]
jmp 0x140006df3
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006df3
mov qword [rax + 0x20], r12
mov dword [rdi + 0x48], r12d
mov dword [rdi], edx
bt dword [rdi + 0x10], 0xc
jae 0x140006fd9
cmp r14d, r12d
je 0x140007dc3
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 0x140006e40
mov rdx, qword [rax + 0x30]
cmp rdx, r9
je 0x140006e40
mov ecx, dword [rdi + 0x48]
cmp ecx, dword [rax + 0x38]
jae 0x140006e40
mov byte [rcx + rdx], r12b
inc dword [rdi + 0x48]
cmp r12d, r9d
je 0x140006e4a
cmp ebx, r14d
jb 0x140006e16
bt dword [rdi + 0x10], 9
jae 0x140006e65
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.140006278
xor r9d, r9d
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
cmp r12d, r9d
jne 0x140007dc3
xor r12d, r12d
jmp 0x140006fe6
cmp dword [rdi + 8], r12d
jne 0x140006eab
mov dword [rdi], 0xc
jmp 0x140006a4f
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140006e8f
test byte [rdi + 8], 2
je 0x140006f13
cmp ebp, 0x8b1f
jne 0x140006f13
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140006278
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.140006278
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 0x140006a44
mov rax, qword [rdi + 0x20]
mov dword [rdi + 0x10], r12d
cmp rax, r12
je 0x140006f24
or dword [rax + 0x40], 0xffffffff
test byte [rdi + 8], 1
je 0x140006fc3
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 0x140006fbe
mov eax, ebp
and al, 0xf
cmp al, 8
je 0x140006f73
lea rax, str.unknown_compression_method
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006a4a
shr ebp, 4
add esi, 0xfffffffc
mov ecx, ebp
and ecx, 0xf
add ecx, 8
cmp ecx, dword [rdi + 0x28]
jbe 0x140006f8f
lea rax, str.invalid_window_size
jmp 0x140006f64
mov eax, 1
xor r8d, r8d
xor edx, edx
shl eax, cl
xor ecx, ecx
mov dword [rdi + 0x14], eax
call fcn.140005734
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 0x140006ef3
mov edx, 7
lea rax, str.incorrect_header_check
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006a4f
mov rax, qword [rdi + 0x20]
cmp rax, r12
je 0x140006fe6
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 0x140007294
jmp 0x140007275
sub ecx, 8
je 0x140007011
sub ecx, 1
je 0x14000713b
sub ecx, 1
je 0x140007174
sub ecx, 1
je 0x1400071b5
sub ecx, 1
je 0x1400071be
cmp ecx, 1
jne 0x140006aa9
mov ecx, esi
and ecx, edx
shr ebp, cl
sub esi, ecx
jmp 0x140007079
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14000705d
mov eax, ebp
movzx ecx, bp
not eax
shr eax, 0x10
cmp ecx, eax
je 0x140007098
lea rax, str.invalid_stored_block_lengths
jmp 0x140006fca
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 0x1400072d2
cmp r12d, r14d
cmova r12d, r14d
cmp r12d, r9d
cmova r12d, r9d
cmp r12d, ecx
je 0x140007dc3
mov r8d, r12d
mov rdx, r15
mov rcx, r10
mov ebx, r12d
call fcn.140008b00
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 0x140006a44
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14000711f
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 0x140007d87
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140005734
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 0x140007dc3
cmp dword [rdi + 4], r12d
je 0x1400071f3
mov ecx, esi
mov dword [rdi], 0x18
and ecx, edx
shr ebp, cl
sub esi, ecx
jmp 0x140006a4f
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 3
jb 0x1400071d7
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 0x140007248
sub eax, 1
je 0x140007238
sub eax, 1
je 0x140007230
cmp eax, 1
jne 0x14000724e
lea rax, str.invalid_block_type
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x14000724e
mov dword [rdi], 0xf
jmp 0x14000724e
mov rcx, rdi
call fcn.14000689c
mov dword [rdi], 0x12
jmp 0x14000724e
mov dword [rdi], 0xd
shr ebp, 2
add esi, 0xfffffffe
jmp 0x140006a4f
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r11d
jb 0x140007259
movzx eax, word [rdi + 0x18]
cmp ebp, eax
je 0x14000728e
lea rax, str.header_crc_mismatch
jmp 0x140006fca
mov ebp, r12d
mov esi, r12d
mov rcx, qword [rdi + 0x20]
cmp rcx, r12
je 0x1400072b4
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.140006278
mov dword [rdi + 0x18], eax
mov dword [r13 + 0x4c], eax
mov dword [rdi], 0xb
jmp 0x140006ef9
mov dword [rdi], 0xb
xor r12d, r12d
jmp 0x140006a4f
cmp ecx, 0x16
jg 0x140007c0e
je 0x140007b80
sub ecx, 0xf
je 0x14000734b
sub ecx, 1
je 0x1400073a0
sub ecx, 1
je 0x140007483
sub ecx, 1
je 0x1400077c1
sub ecx, 1
je 0x140007976
sub ecx, 1
je 0x1400079bd
cmp ecx, 1
jne 0x140006aa9
jmp 0x140007b1f
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0xe
jb 0x14000732f
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 0x140007ba8
cmp edx, 0x1e
ja 0x140007ba8
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 0x140007407
jmp 0x1400073cd
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 3
jb 0x1400073b1
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 0x1400073a7
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 0x1400073f3
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.1400082f4
mov dword [rsp + 0xa0], eax
cmp eax, r12d
je 0x14000746d
lea rax, str.invalid_code_lengths_set
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006ef9
mov r10, qword [rsp + 0x40]
mov edx, 0x11
mov dword [rdi + 0x7c], r12d
lea r11d, [rdx - 1]
mov dword [rdi], edx
jmp 0x140007488
mov edx, 0x11
mov eax, dword [rdi + 0x78]
add eax, dword [rdi + 0x74]
cmp dword [rdi + 0x7c], eax
jae 0x14000764f
jmp 0x1400074b5
cmp r14d, r12d
je 0x140007dc3
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 0x140007499
mov ecx, eax
shr ecx, 0x10
cmp cx, r11w
jae 0x140007539
shr eax, 8
movzx ecx, al
cmp esi, ecx
jae 0x140007518
cmp r14d, r12d
je 0x140007dc3
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 0x1400074f3
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 0x1400076fc
cmp word [rsp + 0x36], r11w
jne 0x14000759d
movzx edx, byte [rsp + 0x35]
lea r8d, [rdx + 2]
jmp 0x140007568
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, r8d
jb 0x14000754c
mov eax, dword [rdi + 0x7c]
mov ecx, edx
sub esi, edx
shr ebp, cl
cmp eax, r12d
je 0x140007715
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 0x14000762a
movzx r8d, byte [rsp + 0x35]
cmp word [rsp + 0x36], dx
jne 0x1400075e7
lea edx, [r8 + 3]
jmp 0x1400075cc
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, edx
jb 0x1400075b0
mov ecx, r8d
mov eax, 0xfffffffd
shr ebp, cl
mov edx, ebp
and edx, 7
add edx, 3
shr ebp, 3
jmp 0x140007622
lea edx, [r8 + 7]
jmp 0x140007609
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, edx
jb 0x1400075ed
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 0x1400076f7
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 0x140006a4f
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.1400082f4
xor ecx, ecx
mov dword [rsp + 0xa0], eax
cmp eax, ecx
je 0x14000773b
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 0x140007108
mov eax, dword [rdi + 0x7c]
dec edx
mov word [rdi + rax*2 + 0x88], r9w
inc dword [rdi + 0x7c]
cmp edx, r12d
jne 0x1400076e6
mov eax, dword [rdi + 0x78]
add eax, dword [rdi + 0x74]
cmp dword [rdi + 0x7c], eax
jae 0x14000764f
mov edx, 0x11
jmp 0x1400074b5
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 0x140006a4a
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.1400082f4
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 0x1400077bb
lea rax, str.invalid_distances_set
mov qword [r13 + 0x20], rax
mov dword [rdi], 0x1b
jmp 0x140006a44
mov dword [rdi], 0x12
cmp r14d, 6
jb 0x14000780e
cmp r9d, 0x102
jb 0x14000780e
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.140006290
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 0x140006a31
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 0x140007865
cmp r14d, r12d
je 0x140007dc3
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 0x140007830
cmp al, r12b
je 0x14000792b
test al, 0xf0
jne 0x14000792b
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 0x14000791d
cmp r14d, r12d
je 0x140007dc3
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 0x1400078c4
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 0x14000794f
mov dword [rdi], 0x17
jmp 0x140006ef9
test al, 0x20
jne 0x1400072c7
test al, 0x40
je 0x140007967
lea rax, str.invalid_literal_length_code
jmp 0x14000745e
movzx ecx, al
mov dword [rdi], 0x13
and ecx, 0xf
mov dword [rdi + 0x50], ecx
mov edx, dword [rdi + 0x50]
cmp edx, r12d
je 0x1400079b7
cmp esi, edx
jae 0x1400079a3
cmp r14d, r12d
je 0x140007dc3
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 0x140007982
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 0x140007a14
cmp r14d, r12d
je 0x140007dc3
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 0x1400079df
test al, 0xf0
jne 0x140007ad1
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 0x140007ac3
cmp r14d, r12d
je 0x140007dc3
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 0x140007a6a
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 0x140007aed
lea rax, str.invalid_distance_code
jmp 0x14000745e
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 0x140007b60
cmp esi, edx
jae 0x140007b4c
cmp r14d, r12d
je 0x140007dc3
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 0x140007b2b
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 0x140007b7a
lea rax, str.invalid_distance_too_far_back
jmp 0x140006f64
mov dword [rdi], 0x16
cmp r9d, r12d
je 0x140007dc3
mov ecx, dword [rdi + 0x4c]
mov eax, r8d
sub eax, r9d
cmp ecx, eax
jbe 0x140007bc5
sub ecx, eax
mov eax, dword [rdi + 0x34]
cmp ecx, eax
jbe 0x140007bb4
mov edx, dword [rdi + 0x2c]
sub ecx, eax
sub edx, ecx
jmp 0x140007bb8
lea rax, str.too_many_length_or_distance_symbols
jmp 0x140006f64
sub eax, ecx
mov edx, eax
mov eax, dword [rdi + 0x48]
add rdx, qword [rdi + 0x38]
cmp ecx, eax
jbe 0x140007bd0
jmp 0x140007bce
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 0x140007be7
mov qword [rsp + 0x40], r10
lea edx, [rcx + 7]
cmp dword [rdi + 0x48], r12d
jne 0x140006a4f
jmp 0x140007d7c
sub ecx, 0x17
je 0x140007d5e
sub ecx, 1
je 0x140007c4a
sub ecx, 1
je 0x140007d16
sub ecx, 1
je 0x140007dbb
sub ecx, 1
je 0x140007da7
cmp ecx, 1
jne 0x140006aa9
mov eax, 0xfffffffc
jmp 0x140006aae
cmp dword [rdi + 8], r12d
je 0x140007d10
jmp 0x140007c72
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x140007c56
sub r8d, r9d
add dword [r13 + 0x1c], r8d
add dword [rdi + 0x1c], r8d
cmp r8d, r12d
je 0x140007cc2
mov ecx, dword [rdi + 0x18]
mov eax, r8d
mov rdx, r10
sub rdx, rax
cmp dword [rdi + 0x10], r12d
je 0x140007ca0
call fcn.140006278
jmp 0x140007ca5
call fcn.140005734
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 0x140007d0a
lea rax, str.incorrect_data_check
jmp 0x140006fca
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 0x19
cmp dword [rdi + 8], r12d
je 0x140007db5
cmp dword [rdi + 0x10], r12d
je 0x140007db5
jmp 0x140007d48
cmp r14d, r12d
je 0x140007dc3
movzx eax, byte [r15]
mov ecx, esi
dec r14d
shl eax, cl
inc r15
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x140007d2c
cmp ebp, dword [rdi + 0x1c]
je 0x140007daf
lea rax, str.incorrect_length_check
jmp 0x140006fca
cmp r9d, r12d
je 0x140007dc3
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 0x140006a4f
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 0x140006aae
mov r12d, 0xfffffffd
jmp 0x140007dcb
mov ebp, r12d
mov esi, r12d
mov dword [rdi], 0x1a
mov r12d, 1
jmp 0x140007dcb
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 0x140007e06
cmp dword [rdi], 0x18
jge 0x140007e1f
cmp ebx, dword [r13 + 0x18]
je 0x140007e1f
mov edx, ebx
mov rcx, r13
call fcn.1400068c4
cmp eax, ebp
je 0x140007e1f
mov dword [rdi], 0x1c
jmp 0x140007c40
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 0x140007e66
cmp ebx, ebp
je 0x140007e66
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 0x140007e5a
call fcn.140006278
jmp 0x140007e5f
call fcn.140005734
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 0x140007e8e
cmp ebx, ebp
je 0x140007e98
cmp dword [rsp + 0xa8], 4
jne 0x140007ea4
mov eax, 0xfffffffb
cmp r12d, ebp
cmove r12d, eax
mov eax, r12d
jmp 0x140006aae