Function at 0x14000175d
Capabilities:
Allocate or change rwx memory
Check for unexpected memory writes
Execute shellcode via indirect call
Query environment variable

Disassembly:
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rbx, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9d, 4
xor ecx, ecx
mov r8d, 0x3000
mov edx, 0x8000
call rbx
mov r13, rax
test rax, rax
je 0x1400017bd
xor ecx, ecx
mov r9d, 4
mov r8d, 0x203000
mov edx, 0x1000000
call rbx
mov rsi, qword [sym.imp.KERNEL32.dll_VirtualFree]
test rax, rax
mov r12, rax
jne 0x1400017d6
mov r8d, 0x8000
xor edx, edx
mov rcx, r13
call rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.VirtualAlloc_failed._Last_error:__lu_n
mov edx, eax
call sym.printf_1
jmp 0x140001983
mov r8d, 1
mov rdx, rax
xor ecx, ecx
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GlobalGetAtomNameA]
test eax, eax
je 0x1400017fe
lea rcx, str.GlobalGetAtomName_succeeded_when_it_shouldve_failed..._not_sure_what_happened__n
mov ebx, 1
call sym.printf_1
mov r8d, 0x1000000
mov rdx, r12
lea rcx, str._ThisIsAnInvalidEnvironmentVariableName_________:__
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140001829
lea rcx, str.GetEnvironmentVariable_succeeded_when_it_shouldve_failed..._not_sure_what_happened__n
mov ebx, 1
call sym.printf_1
mov rdx, r12
lea rcx, str._ThisIsAnInvalidFileName_________:__
call qword [sym.imp.KERNEL32.dll_GetBinaryTypeA]
test eax, eax
je 0x14000184e
lea rcx, str.GetBinaryType_succeeded_when_it_shouldve_failed..._not_sure_what_happened__n
mov ebx, 1
call sym.printf_1
xor ecx, ecx
mov r9d, 0x1000
mov r8, r12
mov edx, 0x45
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_HeapQueryInformation]
test eax, eax
je 0x140001882
lea rcx, str.HeapQueryInformation_succeeded_when_it_shouldve_failed..._not_sure_what_happened__n
mov ebx, 1
call sym.printf_1
or rcx, 0xffffffffffffffff
mov r9d, 0x1000
mov r8, r12
mov edx, 0x69696969
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400018b8
lea rcx, str.ReadProcessMemory_succeeded_when_it_shouldve_failed..._not_sure_what_happened__n
mov ebx, 1
call sym.printf_1
or rcx, 0xffffffffffffffff
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x1400018da
lea rcx, str.GetThreadContext_succeeded_when_it_shouldve_failed..._not_sure_what_happened__n
mov ebx, 1
call sym.printf_1
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], 0
mov rdi, qword [sym.imp.KERNEL32.dll_GetWriteWatch]
lea rdx, [dbg.VirtualAlloc_WriteWatch_APICalls]
call rdi
test eax, eax
jne 0x140001912
lea rcx, str.GetWriteWatch_succeeded_when_it_shouldve_failed..._not_sure_what_happened__n
call sym.printf_1
jmp 0x14000195d
test ebx, ebx
jne 0x14000195d
lea rax, [rsp + 0x34]
xor ecx, ecx
mov r9, r13
mov r8d, 0x1000
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov rdx, r12
mov qword [rsp + 0x38], 0x1000
mov qword [rsp + 0x20], rax
call rdi
test eax, eax
je 0x140001969
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.GetWriteWatch_failed._Last_error:__lu_n
mov edx, eax
call sym.printf_1
jmp 0x140001969
lea rcx, str.Write_watch_API_check_skipped__ignore_the_result_as_it_is_inconclusive._n
call sym.printf_1
mov r8d, 0x8000
xor edx, edx
mov rcx, r13
call rsi
mov r8d, 0x8000
xor edx, edx
mov rcx, r12
call rsi
xor eax, eax
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret