Function at 0x140095e70
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, r8
mov rcx, rdx
mov rbp, rdx
call fcn.14009a520
mov r11, qword [rdi + 0x4d0]
mov esi, eax
test eax, eax
jns 0x140095ec0
mov r9d, 0x2fc
lea r8, str.ISCiscsi_task.c
mov edx, eax
mov rcx, rdi
call fcn.140092150
mov eax, esi
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x48], r13
xor r8d, r8d
lea r13, str.HeaderDigest
mov esi, r8d
mov r10, r13
nop word [rax + rax]
mov rax, qword [r10]
mov r9, rbp
sub r9, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x140095f03
inc rax
test ecx, ecx
jne 0x140095ef0
test edx, edx
je 0x140095f14
inc esi
add r10, 0x10
cmp esi, 0x1e
jb 0x140095ee0
jmp 0x140095f19
cmp esi, 0x1e
jb 0x140095f39
mov r9, qword [str.NotUnderstood]
lea rdx, str._s_s_f
mov r8, rbp
mov rcx, rdi
call fcn.14009ab20
xor eax, eax
jmp 0x140096717
mov qword [rsp + 0x50], r15
mov r15d, esi
add r15, r15
mov ebp, dword [r13 + r15*8 + 8]
bt ebp, 0xa
jb 0x140095f5a
mov r9d, 0x330
jmp 0x140095fe4
mov r10d, dword [rdi + 0x430]
bt r10d, 0x18
jae 0x140095f6e
test bpl, 0x20
jmp 0x140095f7f
bt r10d, 0x19
jae 0x140095f7b
test bpl, 0x40
jmp 0x140095f7f
test bpl, 0x10
jne 0x140095f89
mov r9d, 0x351
jmp 0x140095fe4
bt ebp, 8
jae 0x140095fa4
cmp word [rdi + 0x10], r8w
jne 0x140095f9c
cmp byte [rdi + 0x14], 3
je 0x140095fa4
mov r9d, 0x365
jmp 0x140095fe4
bt ebp, 9
jae 0x14009600b
mov edx, dword [rdi + 0x2db8]
mov ecx, esi
mov eax, 1
shl eax, cl
test edx, eax
jne 0x140096001
cmp byte [r11 + 0x3f8], 1
jne 0x140095fde
cmp esi, 0x15
ja 0x140095fd6
mov ecx, 0x39f001
bt ecx, esi
jb 0x140096001
mov r9d, 0x38f
jmp 0x140095fe4
mov r9d, 0x396
mov ebx, 0x800003f2
lea r8, str.ISCiscsi_task.c
mov edx, ebx
mov rcx, rdi
call fcn.140092150
mov eax, ebx
jmp 0x140096712
not eax
and eax, edx
mov dword [rdi + 0x2db8], eax
mov r9, qword [str.Reject]
mov rax, rbx
sub r9, rbx
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x140096033
inc rax
test ecx, ecx
jne 0x140096020
test edx, edx
je 0x14009605b
mov r9, qword [str.Irrelevant]
mov rax, rbx
sub r9, rbx
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x140096057
inc rax
test ecx, ecx
jne 0x140096044
test edx, edx
jne 0x140096062
xor eax, eax
jmp 0x140096712
mov eax, ebp
mov qword [rsp + 0x40], r12
lea r12, [0x140000000]
and eax, 0xf
je 0x1400960f3
sub eax, 1
je 0x140096247
sub eax, 1
je 0x14009618c
sub eax, 1
je 0x14009612d
cmp eax, 1
je 0x1400960a0
mov r9d, 0x48a
jmp 0x1400966f4
mov r9, qword [str.None]
mov rax, rbx
sub r9, rbx
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x1400960c3
inc rax
test ecx, ecx
jne 0x1400960b0
test edx, edx
je 0x1400960f3
mov r8, qword [str.CRC32C]
mov rax, rbx
sub r8, rbx
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400960e7
inc rax
test ecx, ecx
jne 0x1400960d4
test edx, edx
jne 0x14009628c
lea r8d, [rdx + 1]
cmp byte [r11 + 0x3f8], 1
jne 0x1400962af
bt ebp, 0xc
jae 0x1400962af
mov r9, qword [str.Irrelevant]
lea rdx, str._s_s_f
mov r8, qword [r13 + r15*8]
mov rcx, rdi
call fcn.14009ab20
xor eax, eax
jmp 0x14009670d
mov r9, qword [0x1400f2450]
mov rax, rbx
sub r9, rbx
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x140096153
inc rax
test ecx, ecx
jne 0x140096140
test edx, edx
je 0x1400960f3
mov r8, qword [0x1400f2460]
mov rax, rbx
sub r8, rbx
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400960e7
inc rax
test ecx, ecx
jne 0x140096170
jmp 0x1400960e7
movzx ecx, byte [rbx]
cmp cl, 0x30
jne 0x14009620c
movzx eax, byte [rbx + 1]
sub al, 0x58
test al, 0xdf
jne 0x14009620c
cmp byte [rbx + 2], r8b
lea rdx, [rbx + 2]
je 0x14009628c
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400960f3
nop word [rax + rax]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1400961cc
movzx ecx, al
jmp 0x1400961e6
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x1400961d8
add cl, 0xa9
jmp 0x1400961e6
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14009628c
add cl, 0xc9
test r8d, 0xf0000000
jne 0x14009628c
shl r8d, 4
movzx eax, cl
movzx ecx, byte [rdx]
add r8d, eax
inc rdx
test cl, cl
jne 0x1400961c0
jmp 0x1400960f3
test cl, cl
je 0x14009628c
lea r9, [rbx + 1]
sub cl, 0x30
cmp cl, 9
ja 0x14009628c
test r8d, 0xe0000000
jne 0x14009628c
lea edx, [r8 + r8]
movzx ecx, cl
add ecx, edx
lea r8d, [rcx + r8*8]
cmp r8d, edx
jb 0x14009628c
movzx ecx, byte [r9]
inc r9
test cl, cl
jne 0x140096214
jmp 0x1400960f3
mov eax, r8d
mov r9, rbx
add rax, rax
mov rcx, qword [r12 + rax*8 + 0xf2450]
sub r9, rcx
nop dword [rax + rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + r9]
sub edx, eax
jne 0x140096273
inc rcx
test eax, eax
jne 0x140096260
test edx, edx
je 0x140096282
inc r8d
cmp r8d, 0xe
jb 0x140096247
jmp 0x14009628c
cmp r8d, 0xe
jb 0x1400960f3
mov ebx, 0x800003f2
lea r8, str.ISCiscsi_task.c
mov edx, ebx
mov r9d, 0x49a
mov rcx, rdi
call fcn.140092150
mov eax, ebx
jmp 0x14009670d
cmp esi, 0x1d
ja case.default.0x1400962c5
mov eax, esi
mov ecx, dword [r12 + rax*4 + 0x9672c]
add rcx, r12
jmp rcx
mov dword [rdi + 0x504], r8d
xor eax, eax
jmp 0x14009670d
mov dword [rdi + 0x508], r8d
xor eax, eax
jmp 0x14009670d
test r8d, r8d
je case.0x1400962c5.9
mov ebx, 0x800003f2
jmp 0x1400966d3
mov eax, dword [r11 + 0x3fc]
cmp eax, 0xffffffff
je case.0x1400962c5.9
cmp r8d, eax
je case.0x1400962c5.9
mov ebx, 0x800003f2
jmp 0x1400966d3
lea rdx, [r11 + 0x238]
cmp byte [rdx], 0
je case.0x1400962c5.9
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x140096342
inc rbx
test eax, eax
jne 0x140096330
test ecx, ecx
je case.0x1400962c5.9
mov ebx, 0x800003f2
jmp 0x1400966d3
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x140096360
cmp eax, 0xe0
jae case.0x1400962c5.6
cmp byte [r11 + 0x318], 0
jne case.0x1400962c5.9
sub r11, rbx
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rbx + r11 + 0x318], al
lea rbx, [rbx + 1]
test al, al
jne 0x140096390
xor eax, eax
jmp 0x14009670d
lea eax, [r8 - 0x200]
cmp eax, 0xfffdff
ja case.0x1400962c5.6
mov dword [rdi + 0x50c], r8d
xor eax, eax
jmp 0x14009670d
lea eax, [r8 - 1]
cmp eax, 0xfffe
ja case.0x1400962c5.6
movzx eax, word [r11 + 0x5ec]
cmp r8d, eax
ja case.0x1400962c5.6
mov word [r11 + 0x64c], r8w
xor eax, eax
jmp 0x14009670d
cmp dword [r11 + 0x5f0], 0
je 0x14009640c
test r8d, r8d
je case.0x1400962c5.6
mov dword [r11 + 0x650], r8d
xor eax, eax
jmp 0x14009670d
cmp dword [r11 + 0x5f4], 0
jne 0x14009642d
test r8d, r8d
jne case.0x1400962c5.6
mov dword [r11 + 0x654], r8d
xor eax, eax
jmp 0x14009670d
lea eax, [r8 - 0x200]
cmp eax, 0xfffdff
ja case.0x1400962c5.6
cmp r8d, dword [r11 + 0x5f8]
ja case.0x1400962c5.6
mov dword [r11 + 0x658], r8d
xor eax, eax
jmp 0x14009670d
lea eax, [r8 - 0x200]
cmp eax, 0xfffdff
ja case.0x1400962c5.6
cmp r8d, dword [r11 + 0x5fc]
ja case.0x1400962c5.6
mov dword [r11 + 0x65c], r8d
xor eax, eax
jmp 0x14009670d
cmp r8d, 0xe10
ja case.0x1400962c5.6
movzx eax, word [r11 + 0x600]
cmp r8d, eax
jbe case.0x1400962c5.9
mov word [r11 + 0x660], r8w
xor eax, eax
jmp 0x14009670d
cmp r8d, 0xe10
ja case.0x1400962c5.6
movzx eax, word [r11 + 0x602]
cmp r8d, eax
jae case.0x1400962c5.9
mov word [r11 + 0x662], r8w
xor eax, eax
jmp 0x14009670d
lea eax, [r8 - 1]
cmp eax, 0xfffe
ja case.0x1400962c5.6
movzx eax, word [r11 + 0x604]
cmp r8d, eax
ja case.0x1400962c5.6
mov word [r11 + 0x664], r8w
xor eax, eax
jmp 0x14009670d
test r8d, r8d
jne case.0x1400962c5.9
mov ebx, 0x800003f2
jmp 0x1400966d3
cmp r8d, 2
ja case.0x1400962c5.6
movzx eax, byte [r11 + 0x606]
cmp r8d, eax
ja case.0x1400962c5.6
mov byte [r11 + 0x666], r8b
xor eax, eax
jmp 0x14009670d
cmp byte [r11 + 0x3f9], 0
jne 0x140096578
cmp r8d, 2
je case.0x1400962c5.9
mov ebx, 0x800003f2
jmp 0x1400966d3
cmp r8d, 0xa
je case.0x1400962c5.9
mov ebx, 0x800003f2
jmp 0x1400966d3
cmp r8d, 5
jne case.0x1400962c5.6
bt r10d, 0x1b
jb case.0x1400962c5.6
bts r10d, 0x1b
mov dword [rdi + 0x430], r10d
jmp 0x1400966c1
mov eax, dword [rdi + 0x2db8]
bt eax, 0x1a
jae case.0x1400962c5.6
btr eax, 0x1a
lea rcx, [r11 + 0x50a]
mov dword [rdi + 0x2db8], eax
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400965d7
test eax, eax
je case.0x1400962c5.9
sub rbx, rcx
nop dword [rax + rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + rbx]
sub edx, eax
jne 0x140096602
inc rcx
test eax, eax
jne 0x1400965f0
test edx, edx
je case.0x1400962c5.9
mov ebx, 0x800004dc
jmp 0x1400966d3
mov eax, dword [rdi + 0x2db8]
bt eax, 0x1b
jae case.0x1400962c5.6
btr eax, 0x1b
lea rcx, [rdi + 0x27]
mov r8, rbx
mov dword [rdi + 0x2db8], eax
mov edx, 0x400
call fcn.14009a9b0
mov ebx, eax
test eax, eax
js 0x1400966cb
cmp eax, 0x10
jne 0x14009660a
mov rax, qword [rdi + 0x17]
cmp rax, qword [rdi + 0x27]
jne 0x14009660a
mov rax, qword [rdi + 0x1f]
cmp rax, qword [rdi + 0x2f]
jne 0x14009660a
and dword [rdi + 0x430], 0xc7ffffff
or dword [rdi + 0x430], 0x40000000
xor eax, eax
jmp 0x14009670d
bt r10d, 0x1c
jb case.0x1400962c5.6
bts r10d, 0x1c
mov byte [rdi + 0x16], r8b
mov dword [rdi + 0x430], r10d
jmp 0x1400966c1
lea rcx, [rdi + 0x27]
mov r8, rbx
mov edx, 0x400
call fcn.14009a9b0
mov ebx, eax
test eax, eax
js 0x1400966cb
or dword [rdi + 0x430], 0x20000000
mov dword [rdi + 0x428], eax
mov rcx, rdi
call fcn.1400952e0
mov ebx, eax
test ebx, ebx
je case.0x1400962c5.9
mov r9d, 0x685
lea r8, str.ISCiscsi_task.c
mov edx, ebx
mov rcx, rdi
call fcn.140092150
mov eax, ebx
jmp 0x14009670d
mov r9d, 0x675
lea r8, str.ISCiscsi_task.c
mov edx, 0x8000054f
mov rcx, rdi
call fcn.140092290
mov eax, 0x8000054f
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret