Function at 0x14000f910
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0xf0], xmm11
movdqa xmmword [rbp + 0xe0], xmm10
movdqa xmmword [rbp + 0xd0], xmm9
movdqa xmmword [rbp + 0xc0], xmm8
movdqa xmmword [rbp + 0xb0], xmm7
movdqa xmmword [rbp + 0xa0], xmm6
mov qword [rbp + 0x98], 0xfffffffffffffffe
mov qword [rbp + 0x38], r8
mov rsi, rdx
mov qword [rbp + 0x20], rcx
mov rbx, qword [rdx + 0x18]
mov rdi, qword [rdx + 0x20]
test rbx, rbx
je 0x14000f988
mov rax, qword [rdi + 0x30]
jmp 0x14000f98b
mov eax, dword [rdi + 0x34]
mov qword [rbp + 0x60], rax
mov eax, dword [rdi + 0x50]
mov qword [rbp - 0x28], rax
mov r14, qword [0x1401fd278]
test r14, r14
je 0x14000f9d1
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x3000
lea rdx, [rbp + 0x60]
lea r9, [rbp - 0x28]
mov rcx, rax
xor r8d, r8d
call r14
test eax, eax
jne 0x14000fa2a
jmp 0x14000fad1
lea rdx, str.ntdll.dllNtAllocateVirtualMemoryNtProtectVirtualMemoryfailed_to_fill_bufferfailed_to_write_whole_buffer
lea rcx, [rbp + 0x68]
mov r8d, 9
call fcn.140010720
cmp dword [rbp + 0x68], 0
je 0x14000f9fa
mov eax, dword [rbp + 0x6c]
cmp eax, 0xb
jne 0x14000fa2a
jmp 0x14000fad1
mov rdx, qword [rbp + 0x70]
lea r8, [0x14013cd81]
lea rcx, [rbp + 0x40]
mov r9d, 0x17
call fcn.140010800
cmp dword [rbp + 0x40], 0
je 0x1400104b5
mov eax, dword [rbp + 0x44]
cmp eax, 0xb
je 0x14000fad1
mov qword [rbp + 0x60], 0
mov r14, qword [0x1401fd278]
test r14, r14
je 0x14000fa72
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x3000
lea rdx, [rbp + 0x60]
lea r9, [rbp - 0x28]
mov rcx, rax
xor r8d, r8d
call r14
test eax, eax
je 0x14000fad1
mov ecx, 3
jmp 0x1400104a0
lea rdx, str.ntdll.dllNtAllocateVirtualMemoryNtProtectVirtualMemoryfailed_to_fill_bufferfailed_to_write_whole_buffer
lea rcx, [rbp + 0x68]
mov r8d, 9
call fcn.140010720
cmp dword [rbp + 0x68], 0
je 0x14000fa9e
mov ecx, dword [rbp + 0x6c]
mov eax, dword [rbp + 0x70]
cmp ecx, 0xb
je 0x14000fad1
jmp 0x1400104a0
mov rdx, qword [rbp + 0x70]
lea r8, [0x14013cd81]
lea rcx, [rbp + 0x40]
mov r9d, 0x17
call fcn.140010800
cmp dword [rbp + 0x40], 0
je 0x1400104d8
mov ecx, dword [rbp + 0x44]
mov eax, dword [rbp + 0x48]
cmp ecx, 0xb
jne 0x1400104a0
mov r12, qword [rsi + 0x28]
mov r13, qword [rsi + 0x30]
test r13, r13
je 0x14000fb24
mov rsi, qword [rsi + 0x48]
lea rax, [r13*8]
lea r14, [rax + rax*4]
xor r15d, r15d
nop word cs:[rax + rax]
mov edx, dword [r12 + r15 + 0x14]
add rdx, rsi
mov ecx, dword [r12 + r15 + 0xc]
mov r8d, dword [r12 + r15 + 0x10]
add rcx, qword [rbp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
add r15, 0x28
cmp r14, r15
jne 0x14000fb00
mov qword [rbp - 0x38], r13
mov qword [rbp], r12
mov rax, rbx
shl rax, 4
mov r13, qword [rbp + 0x60]
test rbx, rbx
je 0x14000fb42
mov rcx, qword [rdi + 0x30]
jmp 0x14000fb45
mov ecx, dword [rdi + 0x34]
mov r14, qword [rbp + 0x38]
lea rsi, [rax + rdi]
add rsi, 0x78
mov rax, r13
sub rax, rcx
je 0x14000fc31
mov ecx, dword [rsi + 0x28]
test ecx, ecx
je 0x14000fc31
cmp dword [rsi + 0x2c], 0
je 0x14000fc31
add rcx, r13
mov edx, 1
mov r8d, dword [rcx + 4]
test r8, r8
jne 0x14000fba3
jmp 0x14000fc24
xor r8d, r8d
add rcx, r8
mov r8d, dword [rcx + 4]
test r8, r8
je 0x14000fc24
cmp r8d, 0xa
jb 0x14000fc14
lea r9, [r8 - 8]
shr r9, 0x3f
add r8, r9
add r8, 0xfffffffffffffff8
sar r8, 1
cmp r8, 2
cmovl r8, rdx
xor r9d, r9d
jmp 0x14000fbd5
cmp r8, r9
je 0x14000fc10
movzx r10d, word [rcx + r9*2 + 8]
inc r9
mov r11d, r10d
and r11d, 0xf000
cmp r11d, 0xa000
jne 0x14000fbd0
mov r11d, dword [rcx]
and r10d, 0xfff
add r10, r11
add qword [r13 + r10], rax
jmp 0x14000fbd0
mov r8d, dword [rcx + 4]
add rcx, r8
mov r8d, dword [rcx + 4]
test r8, r8
jne 0x14000fba3
cmp dword [rcx], 0
jne 0x14000fb90
mov r13, qword [rbp + 0x60]
cmp dword [rsi + 0xc], 0
mov qword [rbp - 0x30], rsi
je 0x1400102d1
mov edi, dword [rsi + 8]
test edi, edi
je 0x1400102d1
add rdi, r13
lea rbx, [rbp + 0x68]
movdqa xmm6, xmmword [0x14013cc50]
movdqa xmm7, xmmword [0x14013cc60]
movdqa xmm8, xmmword [0x14013cc70]
movdqa xmm9, xmmword [0x14013cc20]
movdqa xmm10, xmmword [0x14013cc30]
movdqa xmm11, xmmword [0x14013cc40]
mov esi, dword [rdi + 0xc]
test rsi, rsi
jne 0x14000fcb0
cmp dword [rdi + 0x10], 0
jne 0x14000fcb0
cmp dword [rdi], 0
jne 0x14000fcb0
cmp dword [rdi + 4], 0
jne 0x14000fcb0
cmp dword [rdi + 8], 0
je 0x1400102d1
nop dword [rax + rax]
add rsi, r13
mov rcx, rsi
call fcn.14011e810
lea r8, [rax + 1]
mov rcx, rbx
mov rdx, rsi
call fcn.14011e8c0
cmp qword [rbp + 0x68], 0
mov r15d, 5
jne 0x1400104d6
mov rdx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x78]
mov rcx, rbx
mov qword [rbp - 0x20], rdx
mov qword [rbp + 0x90], r8
call fcn.140010720
cmp dword [rbp + 0x68], 0
jne 0x1400104e8
mov eax, dword [rdi]
mov qword [rbp - 0x40], rdi
mov ecx, dword [rdi + 0x10]
lea rdi, [rcx + r13]
lea r12, [rax + r13]
test rax, rax
cmove rax, rcx
cmove r12, rdi
mov rbx, qword [r13 + rax]
test rbx, rbx
je 0x1400102a0
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x90]
mov rcx, rax
and rcx, 0xffffffffffffffe0
mov qword [rbp + 0x30], rcx
and rax, 0xfffffffffffffff8
mov qword [rbp + 0x28], rax
mov rsi, qword [rbp + 0x58]
jmp 0x14000fd84
mov qword [rbp - 0x18], rsi
mov rax, qword [rbp + 0x58]
mov qword [rdi], rbx
add rdi, 8
mov rbx, qword [r12 + 8]
add r12, 8
mov rsi, rax
test rbx, rbx
je 0x1400102b0
test rbx, rbx
js 0x14000fe50
cmp byte [r13 + rbx + 2], 0
je 0x1400102a6
mov qword [rbp + 0x58], rsi
lea rsi, [rbx + r13]
add rsi, 2
mov rcx, rsi
test r14, r14
je 0x14000fec0
call fcn.14011e810
lea r8, [rax + 1]
lea rcx, [rbp + 0x40]
mov rdx, rsi
call fcn.14011e8c0
cmp qword [rbp + 0x40], 0
jne 0x140010490
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x50]
mov r15, qword [rbp + 0x90]
test r15, r15
je 0x14000ff25
mov qword [rbp + 0x10], rcx
mov qword [rbp + 8], rax
js 0x14001059d
mov edx, 1
mov rcx, r15
call fcn.14000e950
test rax, rax
je 0x1400105a4
mov rbx, rax
mov r14, rax
mov rcx, rbx
mov rdx, qword [rbp - 0x20]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, rbx
cmp r15, 8
jb 0x1400100f7
cmp r15, 0x20
jae 0x14000ff3a
xor ecx, ecx
mov rdx, qword [rbp + 0x28]
jmp 0x14000ffbf
test r14, r14
je 0x14000ff08
mov r15, qword [rbp + 0x90]
test r15, r15
mov qword [rbp + 0x58], rsi
je 0x14000ff30
js 0x14001059d
mov edx, 1
mov rcx, r15
call fcn.14000e950
test rax, rax
je 0x1400105a4
mov r14, rax
mov rsi, rax
mov rcx, r14
mov rdx, qword [rbp - 0x20]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, r14
cmp r15, 8
jb 0x1400101eb
cmp r15, 0x20
jae 0x140010017
xor ecx, ecx
mov rdx, qword [rbp + 0x28]
jmp 0x140010097
call fcn.14011e810
lea r8, [rax + 1]
lea rcx, [rbp + 0x68]
mov rdx, rsi
call fcn.14011e8c0
cmp qword [rbp + 0x68], 0
jne 0x1400104c5
mov r8, qword [rbp + 0x70]
mov r9, qword [rbp + 0x78]
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x18]
call fcn.140010800
cmp dword [rbp + 0x40], 0
jne 0x1400104cd
mov rbx, qword [rbp + 0x48]
jmp 0x14000fd64
movzx edx, bx
mov rcx, qword [rbp + 0x18]
call sub.KERNEL32.dll_GetProcAddress
mov rbx, rax
test rax, rax
jne 0x14000fd68
jmp 0x1400104f1
mov r14d, 1
jmp 0x14001012e
mov esi, 1
jmp 0x14001021a
xor eax, eax
mov rcx, qword [rbp + 0x30]
movdqu xmm0, xmmword [r14 + rax]
movdqu xmm1, xmmword [r14 + rax + 0x10]
movdqa xmm2, xmm0
paddb xmm2, xmm9
movdqa xmm3, xmm1
paddb xmm3, xmm9
movdqa xmm4, xmm2
pminub xmm4, xmm10
pcmpeqb xmm4, xmm2
pand xmm4, xmm11
movdqa xmm2, xmm3
pminub xmm2, xmm10
pcmpeqb xmm2, xmm3
pand xmm2, xmm11
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [r14 + rax], xmm4
movdqu xmmword [r14 + rax + 0x10], xmm2
add rax, 0x20
cmp rcx, rax
jne 0x14000ff40
mov r15, qword [rbp + 0x90]
cmp r15, rcx
je 0x140010126
test r15b, 0x18
mov rdx, qword [rbp + 0x28]
je 0x1400100e9
lea rax, [rbx + rdx]
nop word cs:[rax + rax]
movq xmm0, qword [r14 + rcx]
movdqa xmm1, xmm0
paddb xmm1, xmm6
movdqa xmm2, xmm1
pmaxub xmm2, xmm7
pcmpeqb xmm2, xmm1
pandn xmm2, xmm8
por xmm2, xmm0
movq qword [r14 + rcx], xmm2
add rcx, 8
cmp rdx, rcx
jne 0x14000ffd0
mov r15, qword [rbp + 0x90]
cmp r15, rdx
jne 0x1400100f7
jmp 0x140010126
xor eax, eax
mov rcx, qword [rbp + 0x30]
nop dword [rax]
movdqu xmm0, xmmword [rsi + rax]
movdqu xmm1, xmmword [rsi + rax + 0x10]
movdqa xmm2, xmm0
paddb xmm2, xmm9
movdqa xmm3, xmm1
paddb xmm3, xmm9
movdqa xmm4, xmm2
pminub xmm4, xmm10
pcmpeqb xmm4, xmm2
pand xmm4, xmm11
movdqa xmm2, xmm3
pminub xmm2, xmm10
pcmpeqb xmm2, xmm3
pand xmm2, xmm11
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [rsi + rax], xmm4
movdqu xmmword [rsi + rax + 0x10], xmm2
add rax, 0x20
cmp rcx, rax
jne 0x140010020
mov r15, qword [rbp + 0x90]
cmp r15, rcx
je 0x1400100e0
test r15b, 0x18
mov rdx, qword [rbp + 0x28]
je 0x1400101dd
lea rax, [r14 + rdx]
nop dword [rax + rax]
movq xmm0, qword [rsi + rcx]
movdqa xmm1, xmm0
paddb xmm1, xmm6
movdqa xmm2, xmm1
pmaxub xmm2, xmm7
pcmpeqb xmm2, xmm1
pandn xmm2, xmm8
por xmm2, xmm0
movq qword [rsi + rcx], xmm2
add rcx, 8
cmp rdx, rcx
jne 0x1400100a0
mov r15, qword [rbp + 0x90]
cmp r15, rdx
jne 0x1400101eb
mov r14, qword [rbp + 0x38]
jmp 0x14001021a
mov rax, qword [rbp + 0x30]
add rax, rbx
mov r15, qword [rbp + 0x90]
add rbx, r15
nop word [rax + rax]
movzx ecx, byte [rax]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
mov byte [rax], dl
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, rbx
jne 0x140010100
mov r15, qword [rbp + 0x90]
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rcx
mov r14, qword [rbp + 0x38]
mov rcx, r14
lea rdx, [rbp + 0x68]
call fcn.14000f6b0
test rax, rax
je 0x140010188
mov rbx, qword [rax + 0x28]
mov rsi, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x140010180
mov rcx, qword [rbp + 0x80]
mov r8d, 1
call fcn.14000e960
mov rax, rsi
jmp 0x14000fd68
mov rcx, rsi
call fcn.14011e810
lea r8, [rax + 1]
lea rcx, [rbp + 0x40]
mov rdx, rsi
call fcn.14011e8c0
cmp qword [rbp + 0x40], 0
jne 0x1400104f9
mov r8, qword [rbp + 0x48]
mov r9, qword [rbp + 0x50]
lea rcx, [rbp - 0x10]
mov rdx, qword [rbp + 0x18]
call fcn.140010800
cmp dword [rbp - 0x10], 0
mov rsi, qword [rbp + 0x58]
jne 0x140010501
mov rbx, qword [rbp - 8]
mov rdx, qword [rbp + 0x78]
test rdx, rdx
jne 0x14001016e
jmp 0x140010180
mov rax, qword [rbp + 0x30]
add rax, r14
mov r15, qword [rbp + 0x90]
add r14, r15
nop
movzx ecx, byte [rax]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
mov byte [rax], dl
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, r14
jne 0x1400101f0
mov r14, qword [rbp + 0x38]
mov r15, qword [rbp + 0x90]
movzx ebx, bx
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], rbx
mov rcx, r14
lea rdx, [rbp + 0x68]
call fcn.14000f6b0
test rax, rax
je 0x140010256
mov rbx, qword [rax + 0x28]
mov rsi, qword [rbp - 0x18]
jmp 0x140010271
mov rcx, qword [rbp + 0x18]
mov rdx, rbx
call sub.KERNEL32.dll_GetProcAddress
mov rsi, rax
mov rbx, rax
test rax, rax
je 0x140010525
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x14000fd60
mov rcx, qword [rbp + 0x80]
mov r8d, 1
call fcn.14000e960
jmp 0x14000fd60
mov rax, qword [rbp + 0x58]
jmp 0x1400102b0
mov rax, rsi
nop dword [rax]
mov rdi, qword [rbp - 0x40]
add rdi, 0x14
mov qword [rbp + 0x58], rax
lea rbx, [rbp + 0x68]
mov esi, dword [rdi + 0xc]
test rsi, rsi
jne 0x14000fcb0
jmp 0x14000fc8d
mov rax, qword [rbp - 0x38]
test rax, rax
mov rdx, qword [rbp]
je 0x140010438
shl rax, 3
lea r15, [rax + rax*4]
xor r14d, r14d
lea rdi, [rbp + 0x68]
lea rbx, [rbp - 0x10]
lea r12, [rbp - 0x48]
jmp 0x140010348
mov rsi, qword [0x1401fd280]
test rsi, rsi
je 0x1400103c0
mov dword [rbp + 0x68], 0
call sub.KERNEL32.dll_GetCurrentProcess
mov qword [rsp + 0x20], rdi
mov rcx, rax
mov rdx, rbx
mov r8, r12
mov r9d, r13d
call rsi
test eax, eax
mov rdx, qword [rbp]
jne 0x14001049b
add r14, 0x28
cmp r15, r14
je 0x140010438
mov eax, dword [rdx + r14 + 0x10]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14001033b
mov eax, dword [rdx + r14 + 0xc]
add rax, qword [rbp + 0x60]
mov qword [rbp - 0x10], rax
mov eax, dword [rdx + r14 + 0x24]
test eax, 0x20000000
jne 0x140010390
mov r13d, 1
test eax, 0x40000000
je 0x140010300
shr eax, 0x1f
lea r13d, [rax + rax]
add r13d, 2
jmp 0x140010300
mov r13d, reloc.WS2_32.dll_recv
test eax, 0x40000000
je 0x140010300
shr eax, 0x1a
and eax, 0xffffffe0
add eax, 0x20
mov r13d, eax
jmp 0x140010300
mov r8d, 9
mov rcx, rdi
lea rdx, str.ntdll.dllNtAllocateVirtualMemoryNtProtectVirtualMemoryfailed_to_fill_bufferfailed_to_write_whole_buffer
call fcn.140010720
cmp dword [rbp + 0x68], 0
je 0x1400103f3
mov ecx, dword [rbp + 0x6c]
mov eax, dword [rbp + 0x70]
cmp ecx, 0xb
mov rdx, qword [rbp]
je 0x14001033b
jmp 0x1400104a0
mov rdx, qword [rbp + 0x70]
mov r9d, 0x16
lea rcx, [rbp + 0x40]
lea r8, [0x14013cd98]
call fcn.140010800
cmp dword [rbp + 0x40], 0
je 0x140010428
mov ecx, dword [rbp + 0x44]
mov eax, dword [rbp + 0x48]
cmp ecx, 0xb
mov rdx, qword [rbp]
je 0x14001033b
jmp 0x1400104a0
mov rsi, qword [rbp + 0x48]
mov qword [0x1401fd280], rsi
jmp 0x140010310
mov rsi, qword [rbp + 0x60]
mov rax, qword [rbp - 0x30]
cmp dword [rax + 0x4c], 0
je 0x14001047d
mov eax, dword [rax + 0x48]
test eax, eax
je 0x14001047d
mov rdi, qword [rsi + rax + 0x18]
mov rax, qword [rdi]
test rax, rax
je 0x14001047d
add rdi, 8
nop
mov rcx, rsi
mov edx, 2
xor r8d, r8d
call rax
mov rax, qword [rdi]
add rdi, 8
test rax, rax
jne 0x140010460
mov rsi, qword [rbp + 0x60]
mov rax, qword [rbp + 0x20]
mov qword [rax + 8], rsi
mov dword [rax], 0
jmp 0x14001055b
mov r15d, 5
jmp 0x14001054a
mov ecx, 4
mov rdx, qword [rbp + 0x20]
mov dword [rdx + 4], ecx
mov dword [rdx + 8], eax
mov dword [rdx], 1
jmp 0x14001055b
mov r14, qword [rbp + 0x48]
mov qword [0x1401fd278], r14
jmp 0x14000f9a2
mov r15d, 5
jmp 0x14001054a
mov r15d, dword [rbp + 0x44]
mov esi, dword [rbp + 0x48]
jmp 0x14001054a
jmp 0x14001054a
mov r14, qword [rbp + 0x48]
mov qword [0x1401fd278], r14
jmp 0x14000fa3e
mov r15d, dword [rbp + 0x6c]
mov esi, dword [rbp + 0x70]
jmp 0x14001054a
mov r15d, 2
jmp 0x14001054a
mov r15d, 5
jmp 0x140010508
mov r15d, dword [rbp - 0xc]
mov esi, dword [rbp - 8]
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x14001054a
mov rcx, qword [rbp + 0x80]
mov r8d, 1
call fcn.14000e960
jmp 0x14001054a
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x140010540
mov rcx, qword [rbp + 0x80]
mov r8d, 1
call fcn.14000e960
mov r15d, 2
mov rsi, qword [rbp - 0x18]
mov rax, qword [rbp + 0x20]
mov dword [rax + 4], r15d
mov dword [rax + 8], esi
mov dword [rax], 1
movaps xmm6, xmmword [rbp + 0xa0]
movaps xmm7, xmmword [rbp + 0xb0]
movaps xmm8, xmmword [rbp + 0xc0]
movaps xmm9, xmmword [rbp + 0xd0]
movaps xmm10, xmmword [rbp + 0xe0]
movaps xmm11, xmmword [rbp + 0xf0]
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14011c860
ud2
mov edx, 1
mov rcx, r15
call fcn.14013a650
ud2