Function at 0x14047f980
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x338
mov ebp, r9d
mov edi, r8d
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x330], rax
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x320], xmm0
movdqa xmmword [rsp + 0x310], xmm0
movdqa xmmword [rsp + 0x300], xmm0
movdqa xmmword [rsp + 0x2f0], xmm0
xor r14d, r14d
lea rcx, [rsp + 0x70]
mov r8d, 0x280
xor edx, edx
call fcn.140562a70
cmp edi, ebp
jae 0x14047fa39
mov eax, edi
mov ecx, ebp
lea r14, str.deflate:_internal_error:_inconsistent_Huffman_decoder_state
nop dword [rax]
movzx edx, byte [rsi + rax + 0xa169]
and edx, 0xf
movzx r8d, word [rsp + rdx*2 + 0x310]
cmp r8d, 0x13f
ja 0x14047fa93
inc r8d
mov word [rsp + rdx*2 + 0x310], r8w
inc rax
cmp ecx, eax
jne 0x14047fa00
movzx r14d, word [rsp + 0x310]
movzx r9d, r14w
add r9d, edi
lea rax, str.deflate:_no_Huffman_codes
cmp r9d, ebp
jne 0x14047fa51
mov r14, rax
jmp 0x14047fa93
movzx ecx, word [rsp + 0x312]
lea r14, str.deflate:_bad_Huffman_code__over_subscribed_
cmp ecx, 2
ja 0x14047fa93
mov r13d, 2
sub r13d, ecx
lea r8, str.deflate:_internal_error:_inconsistent_Huffman_decoder_state
cmp r13d, 0x40000000
jbe 0x14047fa83
mov r14, r8
jmp 0x14047fa93
add r13d, r13d
movzx edx, word [rsp + 0x314]
sub r13d, edx
jae 0x14047faba
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.1405602f0
mov rax, r14
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r10d, word [rsp + 0x316]
sub r13d, r10d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r11d, word [rsp + 0x318]
sub r13d, r11d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r15d, word [rsp + 0x31a]
sub r13d, r15d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x31c]
sub r13d, r12d
jb 0x14047fa93
mov dword [rsp + 0x60], r12d
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x31e]
mov dword [rsp + 0x58], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x320]
mov dword [rsp + 0x30], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x322]
mov dword [rsp + 0x40], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x324]
mov dword [rsp + 0x50], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x326]
mov dword [rsp + 0x3c], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x328]
mov dword [rsp + 0x48], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x32a]
mov dword [rsp + 0x38], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x32c]
mov dword [rsp + 0x6c], r12d
sub r13d, r12d
jb 0x14047fa93
cmp r13d, 0x40000000
ja 0x14047fa7e
add r13d, r13d
movzx r12d, word [rsp + 0x32e]
mov dword [rsp + 0x68], r12d
cmp r13d, r12d
jb 0x14047fa93
jne 0x14047fef3
mov word [rsp + 0x2f2], 0
mov word [rsp + 0x2f4], cx
mov r9d, 0x140
mov r14d, 0x140
sub r14d, edx
cmp r14d, ecx
jb 0x14047fa7e
mov r13d, ecx
add r13d, edx
mov word [rsp + 0x2f6], r13w
sub r9d, r10d
cmp r13d, r9d
ja 0x14047fa7e
mov r14, r13
add r13d, r10d
mov word [rsp + 0x2f8], r13w
mov r9d, 0x140
mov r14d, 0x140
sub r14d, r11d
mov qword [rsp + 0x28], r13
cmp r13d, r14d
ja 0x14047fa7e
mov r13, qword [rsp + 0x28]
add r13d, r11d
mov word [rsp + 0x2fa], r13w
sub r9d, r15d
cmp r13d, r9d
ja 0x14047fa7e
mov r14, r13
add r13d, r15d
mov word [rsp + 0x2fc], r13w
mov r9d, 0x140
mov r14d, 0x140
sub r14d, dword [rsp + 0x60]
mov qword [rsp + 0x28], r13
cmp r13d, r14d
ja 0x14047fa7e
mov r13, qword [rsp + 0x28]
add r13d, dword [rsp + 0x60]
mov word [rsp + 0x2fe], r13w
sub r9d, dword [rsp + 0x58]
cmp r13d, r9d
ja 0x14047fa7e
mov r14, r13
add r13d, dword [rsp + 0x58]
mov word [rsp + 0x300], r13w
mov r9d, 0x140
mov r14d, 0x140
sub r14d, dword [rsp + 0x30]
mov qword [rsp + 0x28], r13
cmp r13d, r14d
ja 0x14047fa7e
mov r13, qword [rsp + 0x28]
add r13d, dword [rsp + 0x30]
mov word [rsp + 0x302], r13w
sub r9d, dword [rsp + 0x40]
cmp r13d, r9d
ja 0x14047fa7e
mov r14, r13
add r13d, dword [rsp + 0x40]
mov word [rsp + 0x304], r13w
mov r9d, 0x140
mov r14d, 0x140
sub r14d, dword [rsp + 0x50]
mov qword [rsp + 0x28], r13
cmp r13d, r14d
ja 0x14047fa7e
mov r13, qword [rsp + 0x28]
add r13d, dword [rsp + 0x50]
mov word [rsp + 0x306], r13w
sub r9d, dword [rsp + 0x3c]
cmp r13d, r9d
ja 0x14047fa7e
mov r14, r13
add r13d, dword [rsp + 0x3c]
mov word [rsp + 0x308], r13w
mov r9d, 0x140
mov r14d, 0x140
sub r14d, dword [rsp + 0x48]
mov qword [rsp + 0x28], r13
cmp r13d, r14d
ja 0x14047fa7e
mov r13, qword [rsp + 0x28]
add r13d, dword [rsp + 0x48]
mov word [rsp + 0x30a], r13w
sub r9d, dword [rsp + 0x38]
cmp r13d, r9d
ja 0x14047fa7e
mov r14, r13
add r13d, dword [rsp + 0x38]
mov word [rsp + 0x30c], r13w
mov r9d, 0x140
mov r14d, 0x140
sub r14d, dword [rsp + 0x6c]
mov qword [rsp + 0x28], r13
cmp r13d, r14d
ja 0x14047fa7e
mov r13, qword [rsp + 0x28]
add r13d, dword [rsp + 0x6c]
mov word [rsp + 0x30e], r13w
sub r9d, dword [rsp + 0x68]
cmp r13d, r9d
ja 0x14047fa7e
mov r14, r13
add r14d, dword [rsp + 0x68]
mov qword [rsp + 0x28], r14
cmp r14d, 0x120
ja 0x14047fa7e
cmp edi, ebp
jae 0x14047fffa
mov r14d, edi
mov r9d, ebp
lea r12, [r14 + rsi]
add r12, 0xa169
sub r9, r14
xor r13d, r13d
jmp 0x14047ffc3
lea r14, str.deflate:_bad_Huffman_code__under_subscribed_
cmp ebx, 1
jne 0x14047fa93
cmp cx, 1
jne 0x14047fa93
inc r9d
cmp r9d, ebp
jne 0x14047fa93
mov ecx, edi
xor eax, eax
lea edx, [rcx + rax]
cmp byte [rsi + rdx + 0xa169], 1
je 0x14047ff8d
lea edx, [rcx + rax]
inc edx
cmp byte [rsi + rdx + 0xa169], 1
je 0x14047ff78
lea edx, [rcx + rax]
add edx, 2
cmp byte [rsi + rdx + 0xa169], 1
je 0x14047ff7d
lea edx, [rcx + rax]
add edx, 3
cmp byte [rsi + rdx + 0xa169], 1
je 0x14047ff83
lea edx, [rcx + rax]
add edx, 4
cmp byte [rsi + rdx + 0xa169], 1
je 0x14047ff89
add rax, 5
cmp rax, 0x1e
jne 0x14047ff1d
jmp 0x14047fa93
inc rax
jmp 0x14047ff8d
add rax, 2
jmp 0x14047ff8d
add rax, 3
jmp 0x14047ff8d
add rax, 4
mov dword [rsi + 0x40], 1
mov eax, eax
lea rcx, [0x140618dc0]
mov eax, dword [rcx + rax*4]
or eax, 1
mov dword [rsi + 0x1068], eax
mov dword [rsi + 0x106c], 0x8000001
xor r14d, r14d
jmp 0x14047fa93
inc r13
cmp r9, r13
je 0x14047fffa
movzx ebp, byte [r12 + r13]
test rbp, rbp
je 0x14047ffbb
and ebp, 0xf
movzx r14d, word [rsp + rbp*2 + 0x2f0]
cmp r14, 0x13f
ja 0x14047fa7e
mov word [rsp + r14*2 + 0x70], r13w
inc r14d
mov word [rsp + rbp*2 + 0x2f0], r14w
jmp 0x14047ffbb
movd xmm0, dword [rsp + 0x30]
movd xmm1, dword [rsp + 0x58]
punpcklwd xmm1, xmm0
movd xmm0, dword [rsp + 0x60]
movd xmm2, r15d
punpcklwd xmm2, xmm0
punpckldq xmm2, xmm1
movd xmm0, r11d
movd xmm1, r10d
punpcklwd xmm1, xmm0
movd xmm0, ecx
movd xmm3, edx
punpcklwd xmm0, xmm3
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
pxor xmm1, xmm1
pcmpeqw xmm1, xmm0
packsswb xmm1, xmm1
pmovmskb ecx, xmm1
cmp cl, 0xff
jne 0x140480068
cmp word [rsp + 0x40], 0
jne 0x140480068
lea r14, str.deflate:_bad_Huffman_minimum_code_length
jmp 0x14047fa93
mov r9d, 9
mov ecx, 0xf
cmp dword [rsp + 0x68], 0
jne 0x1404800d8
mov ecx, 0xe
cmp dword [rsp + 0x6c], 0
jne 0x1404800d8
mov ecx, 0xd
cmp dword [rsp + 0x38], 0
jne 0x1404800d8
mov ecx, 0xc
cmp dword [rsp + 0x48], 0
jne 0x1404800d8
mov ecx, 0xb
cmp dword [rsp + 0x3c], 0
jne 0x1404800d8
mov ecx, 0xa
cmp dword [rsp + 0x50], 0
jne 0x1404800d8
mov ecx, 9
cmp dword [rsp + 0x40], 0
jne 0x1404800d8
mov ecx, 8
mov r9d, 8
cmp dword [rsp + 0x30], 0
je 0x14048042f
mov eax, ecx
mov edx, ebx
mov qword [rsp + 0x60], rdx
mov dword [rsi + rdx*4 + 0x3c], r9d
movzx eax, word [rsp + rax*2 + 0x2f0]
cmp dword [rsp + 0x28], eax
jne 0x14047fa7e
movzx eax, word [rsp + 0x30e]
cmp dword [rsp + 0x28], eax
jne 0x14047fa7e
movzx eax, word [rsp + 0x70]
add eax, edi
cmp eax, 0x13f
ja 0x14047fa7e
mov edx, 1
mov r10d, 1
shl r10d, cl
cmp ecx, 9
mov r9d, 0x200
mov ecx, 0x200
mov qword [rsp + 0x48], rcx
cmovae r10d, r9d
mov qword [rsp + 0x50], r10
lea rcx, [rsi + 0x68]
mov qword [rsp + 0x58], rcx
mov eax, eax
movzx r9d, byte [rsi + rax + 0xa169]
and r9d, 0xf
mov rax, qword [rsp + 0x28]
cmp eax, 2
cmovb eax, edx
dec eax
mov qword [rsp + 0x28], rax
xor r14d, r14d
mov dword [rsp + 0x3c], 0xffffffff
xor eax, eax
mov qword [rsp + 0x40], rax
xor r12d, r12d
xor ebp, ebp
mov rax, qword [rsp + 0x40]
movzx r13d, word [rsp + rax*2 + 0x70]
lea eax, [rdi + r13]
cmp eax, 0x13f
ja 0x14047fa7e
mov eax, eax
movzx edx, byte [rsi + rax + 0xa169]
mov eax, edx
and eax, 0xf
cmp r9d, eax
jae 0x1404801c8
mov ecx, eax
sub ecx, r9d
shl ebp, cl
cmp ebp, 0x7fff
ja 0x14047fa7e
cmp al, 0xa
jb 0x140480258
lea r10d, [rax - 9]
mov r9d, ebp
mov ecx, r10d
shr r9, cl
mov r15d, r9d
and r15d, 0x1ff
lea rcx, [0x1406107e0]
mov qword [rsp + 0x30], r10
mov r11d, dword [rcx + r10*4]
and r11d, ebp
mov dword [rsp + 0x38], r15d
cmp dword [rsp + 0x3c], r15d
je 0x140480262
mov r12d, 1
mov rcx, qword [rsp + 0x30]
shl r12d, cl
and edx, 0xf
mov r15d, edx
shl r15d, 4
add r15d, 0xffffff70
movzx ecx, word [rsp + rdx*2 + 0x310]
sub r12d, ecx
jbe 0x140480314
cmp r12d, 0x40000000
ja 0x14047fa7e
add r12d, r12d
inc rdx
add r15d, 0x10
cmp rdx, 0x10
jne 0x140480225
jmp 0x14047fa7e
mov r11d, ebp
mov ecx, eax
mov qword [rsp + 0x30], rcx
cmp r11d, 0x1ff
ja 0x14047fa7e
movzx ecx, word [rsp + rax*2 + 0x310]
test cx, cx
je 0x14047fa7e
dec ecx
mov word [rsp + rax*2 + 0x310], cx
mov ecx, r11d
shr rcx, 1
lea rdx, [0x140618e40]
movzx ecx, byte [rcx + rdx]
and r11d, 1
shl r11d, 8
or r11d, ecx
mov cl, 9
sub cl, byte [rsp + 0x30]
shr r11d, cl
cmp r13d, 0x100
jne 0x1404802c9
mov r13, qword [rsp + 0x30]
or r13d, 0x20000000
jmp 0x1404803ae
test ebx, ebx
jne 0x1404802ee
movzx ecx, r13w
cmp ecx, 0xff
ja 0x1404802ee
shl r13d, 8
or r13d, dword [rsp + 0x30]
or r13d, 0x80000000
jmp 0x1404803ae
sub r13d, dword [rsp + 0x3a0]
jb 0x14047fa7e
and r13d, 0x1f
test ebx, ebx
je 0x14048039e
lea rcx, [0x140618dc0]
jmp 0x1404803a5
add dl, 0xf7
mov r10d, 1
mov ecx, edx
shl r10d, cl
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x50], r10
add ecx, r10d
cmp ecx, 0x400
ja 0x14047fa7e
mov edx, dword [rsp + 0x38]
shr rdx, 1
lea r10, [0x140618e40]
movzx edx, byte [rdx + r10]
and r9d, 1
shl r9, 8
or r9, rdx
mov rdx, qword [rsp + 0x48]
mov r12d, edx
shl edx, 8
or edx, r15d
or edx, 0x10000009
mov r15, qword [rsp + 0x60]
shl r15, 0xc
add r15, qword [rsp + 0x58]
mov dword [r15 + r9*4], edx
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x3c], edx
mov qword [rsp + 0x48], rcx
cmp r11d, 0x1ff
jbe 0x14048026f
jmp 0x14047fa7e
lea rcx, [0x140618f40]
mov r13d, dword [rcx + r13*4]
or r13d, dword [rsp + 0x30]
mov edx, 1
mov rcx, qword [rsp + 0x30]
shl edx, cl
cmp dword [rsp + 0x50], edx
jb 0x140480404
mov ecx, edx
neg ecx
mov r9, qword [rsp + 0x50]
lea r15d, [rcx + r9]
or r15d, r11d
and r15d, 0x1ff
add r15d, r12d
cmp r15d, 0x3ff
ja 0x14047fa7e
sub r9d, edx
mov r15d, r15d
mov r10, qword [rsp + 0x60]
shl r10, 0xc
add r10, qword [rsp + 0x58]
mov dword [r10 + r15*4], r13d
cmp r9d, edx
jae 0x1404803c9
mov rcx, qword [rsp + 0x40]
cmp rcx, qword [rsp + 0x28]
je 0x14047fa93
inc qword [rsp + 0x40]
inc ebp
mov r9d, eax
cmp ebp, 0x8000
jb 0x140480187
jmp 0x14047fa7e
mov ecx, 7
mov r9d, 7
cmp dword [rsp + 0x58], 0
jne 0x1404800d8
mov ecx, 6
mov r9d, 6
cmp dword [rsp + 0x60], 0
jne 0x1404800d8
mov ecx, 5
mov r9d, 5
test r15d, r15d
jne 0x1404800d8
mov ecx, 4
mov r9d, 4
test r11d, r11d
jne 0x1404800d8
mov ecx, 3
mov r9d, 3
test r10d, r10d
jne 0x1404800d8
xor r9d, r9d
test edx, edx
sete r9b
mov ecx, 2
sub ecx, r9d
test edx, edx
jne 0x1404804cc
pxor xmm1, xmm1
pcmpeqw xmm0, xmm1
movd edx, xmm0
mov r9d, ecx
mov r14, rax
test dl, 1
jne 0x14047fa93
jmp 0x1404800d8
mov r9d, ecx
jmp 0x1404800d8