joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001d7a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
test r9d, 0xff000000
je 0x14001d957
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
movss xmm3, dword [rsp + 0x70]
xorps xmm0, xmm0
comiss xmm3, xmm0
mov esi, r9d
mov rdi, r8
mov rbp, rdx
mov rbx, rcx
jbe 0x14001d836
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.14001d170
mov r8d, dword [rbx + 0x80]
mov r9d, esi
mov rdx, qword [rbx + 0x88]
mov rcx, rbx
call fcn.14001c780
mov ecx, dword [rbx + 0x84]
test ecx, ecx
jns 0x14001d827
mov eax, ecx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x80]
test eax, eax
cmovg edx, eax
call fcn.140012d30
mov dword [rbx + 0x80], 0
jmp 0x14001d943
mov edx, 6
movaps xmmword [rsp + 0x30], xmm6
lea r8d, [rdx - 2]
call fcn.14001b6a0
movzx edx, word [rbx + 0x48]
mov rax, qword [rbx + 0x38]
movss xmm1, dword [rdi]
movss xmm2, dword [rbp + 4]
movss xmm3, dword [rbp]
lea ecx, [rdx + 1]
movss xmm6, dword [rax + 4]
movss xmm5, dword [rax]
movss xmm4, dword [rdi + 4]
mov rax, qword [rbx + 0x58]
mov word [rax], dx
mov rax, qword [rbx + 0x58]
mov word [rax + 2], cx
lea ecx, [rdx + 2]
mov rax, qword [rbx + 0x58]
mov word [rax + 4], cx
mov rax, qword [rbx + 0x58]
mov word [rax + 6], dx
add dx, 3
mov rax, qword [rbx + 0x58]
mov word [rax + 8], cx
mov rax, qword [rbx + 0x58]
mov word [rax + 0xa], dx
movsd xmm0, qword [rbp]
mov rax, qword [rbx + 0x50]
movsd qword [rax], xmm0
mov rax, qword [rbx + 0x50]
movss dword [rax + 8], xmm5
movss dword [rax + 0xc], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x10], esi
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x14], xmm1
movss dword [rax + 0x18], xmm2
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x1c], xmm5
movss dword [rax + 0x20], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x24], esi
movsd xmm0, qword [rdi]
mov rax, qword [rbx + 0x50]
movsd qword [rax + 0x28], xmm0
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x30], xmm5
movss dword [rax + 0x34], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x38], esi
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x3c], xmm3
movss dword [rax + 0x40], xmm4
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x44], xmm5
movss dword [rax + 0x48], xmm6
mov rax, qword [rbx + 0x50]
movaps xmm6, xmmword [rsp + 0x30]
mov dword [rax + 0x4c], esi
add qword [rbx + 0x50], 0x50
add dword [rbx + 0x48], 4
add qword [rbx + 0x58], 0xc
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x14002edd0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
movdqa xmm0, xmmword [0x14004d5f0]
xor edx, edx
movdqu xmmword [rsp + 0x40], xmm0
mov eax, edx
mov word [rsp + 0x50], 0x63
mov byte [rsp + 0x52], 1
nop dword [rax]
nop word [rax + rax]
lea ecx, [rax - 7]
xor byte [rsp + rax + 0x40], cl
inc rax
cmp rax, 0x11
jb 0x14002ee00
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], edx
xor r9d, r9d
mov byte [rsp + 0x52], dl
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
mov qword [0x14015ed70], rax
setne al
add rsp, 0x68
ret
Function at 0x140031aa0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0xa], 0
je 0x140031ac3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 9
jb 0x140031ab0
mov byte [rcx + 0xa], 0
mov rax, rcx
ret

Function at 0x140031ad0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x11], 0
je 0x140031af3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x10
jb 0x140031ae0
mov byte [rcx + 0x11], 0
mov rax, rcx
ret

Function at 0x140031b00
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rdi
sub rsp, 0x50
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor eax, eax
mov dword [rsp + 0x2c], edx
mov edx, 0x1000
mov dword [rsp + 0x28], ecx
xor ecx, ecx
mov dword [rsp + 0x20], eax
mov r8d, edx
mov dword [rsp + 0x30], eax
lea r9d, [rax + 0x40]
mov qword [rsp + 0x34], 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
jne 0x140031b5f
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140043b20
add rsp, 0x50
pop rdi
ret
movups xmm0, xmmword [0x14015ee40]
mov r8d, 0x28
mov qword [rsp + 0x70], rbx
lea rdx, [rsp + 0x20]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14015ee50]
lea ecx, [r8 - 0x27]
movsd qword [rax + 0x10], xmm1
mov eax, dword [0x14015ee58]
mov dword [rdi + 0x18], eax
movzx eax, word [0x14015ee5c]
mov word [rdi + 0x1c], ax
call rdi
xor edx, edx
mov r8d, 0x1000
mov rcx, rdi
mov ebx, eax
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test ebx, ebx
mov rbx, qword [rsp + 0x70]
setg al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140043b20
add rsp, 0x50
pop rdi
ret
Function at 0x140031be0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x13c0
call fcn.140044f80
sub rsp, rax
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rsp + 0x13b0], rax
mov edi, edx
mov ebx, ecx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x13a4], 0xffffffff
mov r8d, 1
mov dword [rsp + 0x24], eax
nop
mov r9d, eax
shr r9d, 0x1e
xor r9d, eax
imul eax, r9d, 0x6c078965
add eax, r8d
mov dword [rsp + r8*4 + 0x24], eax
inc r8
cmp r8, 0x270
jb 0x140031c30
lea eax, [rbx - 0x80000000]
mov dword [rsp + 0x20], 0x270
mov ebp, 0x80000000
cmp ebx, ebp
lea esi, [rbx + rbp]
cmovae esi, eax
lea ebx, [rdi + rbp]
cmp edi, ebp
lea eax, [rdi - 0x80000000]
cmovae ebx, eax
sub ebx, esi
cmp ebx, 0xffffffff
jne 0x140031c93
lea rcx, [rsp + 0x20]
call fcn.140043950
mov edx, eax
jmp 0x140031cd1
lea edi, [rbx + 1]
xor r8d, r8d
xor eax, eax
test ebx, ebx
je 0x140031cb1
lea rcx, [rsp + 0x20]
call fcn.140043950
mov r8d, eax
mov eax, 0xffffffff
xor edx, edx
div edi
mov ecx, eax
mov r9d, edx
xor edx, edx
mov eax, r8d
div edi
cmp eax, ecx
jb 0x140031cca
cmp r9d, ebx
jne 0x140031c96
xor edx, edx
mov eax, r8d
div edi
add edx, esi
cmp edx, ebp
lea ecx, [rdx - 0x80000000]
lea eax, [rdx + rbp]
cmovae eax, ecx
mov rcx, qword [rsp + 0x13b0]
xor rcx, rsp
call fcn.140043b20
lea r11, [rsp + 0x13c0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x140031d10
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1340]
mov eax, 0x1440
call fcn.140044f80
sub rsp, rax
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rbp + 0x1330], rax
mov r15d, edx
mov rbx, rcx
mov qword [rsp + 0x70], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
movdqa xmm0, xmmword [0x14004d490]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x14004d640]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmm0, xmmword [0x14004d4f0]
movdqa xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0x5652525e
mov dword [rsp + 0x64], 0x31d1f1d
mov dword [rsp + 0x68], 0x3050705
mov dword [rsp + 0x6c], 0x1000f0d
mov eax, edi
nop word [rax + rax]
lea ecx, [rax - 7]
xor byte [rsp + rax + 0x30], cl
inc rax
cmp rax, 0x3e
jb 0x140031db0
mov byte [rsp + 0x6f], dil
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], dil
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x140031de7
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x78]
call fcn.14003f740
nop
mov qword [rbx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov edi, 1
mov dword [rsp + 0x20], edi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov dword [rbp + 0x1324], 0xffffffff
mov dword [rbp - 0x5c], eax
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edi
mov dword [rbp + rdi*4 - 0x5c], ecx
inc rdi
cmp rdi, 0x270
jb 0x140031e30
mov dword [rbp - 0x60], 0x270
mov r14, qword [rbp - 0x70]
mov rsi, qword [rsp + 0x78]
test r15d, r15d
jle 0x140031f04
mov rdi, r15
nop dword [rax + rax]
lea rcx, [rbp - 0x60]
call fcn.140043950
mov r8d, eax
mov eax, 0x8421085
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
cmp eax, 0x8421084
jae 0x140031e70
mov eax, 0x8421085
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
sub r8d, eax
lea rcx, [rsp + 0x78]
cmp r14, 0x10
cmovae rcx, rsi
movsxd rax, r8d
movzx r9d, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x140031ef2
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x140031ee7
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140031efa
mov rcx, rbx
call fcn.140042bf0
sub rdi, 1
jne 0x140031e70
cmp r14, 0x10
jb 0x140031f3e
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140031f36
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140031f36
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.1400440c8
mov rax, rbx
mov rcx, qword [rbp + 0x1330]
xor rcx, rsp
call fcn.140043b20
lea r11, [rsp + 0x1440]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140031f70
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xf0
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rbp + 0x4f], rax
mov edx, 0xf
lea ecx, [rdx - 9]
call fcn.140031be0
mov edx, eax
lea rcx, [rbp + 0x1f]
call fcn.140031d10
lea rax, [0x140035d10]
mov dword [rbp - 0x39], 0x50
xor ebx, ebx
mov qword [rbp - 0x31], rax
xor ecx, ecx
mov dword [rbp - 0x35], 0x40
mov qword [rbp - 0x29], rbx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp qword [rbp + 0x37], 0x10
lea rcx, [rbp - 0x39]
mov qword [rbp - 0x21], rax
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x19], xmm0
lea rax, [rbp + 0x1f]
movdqa xmmword [rbp - 9], xmm1
cmovae rax, qword [rbp + 0x1f]
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rbx
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov rcx, qword [0x14015ed98]
lea rdx, [0x14015eda0]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, qword [0x14015ed98]
lea rdx, [rbp + 0x17]
mov qword [rbp + 0x17], rbx
call qword [sym.imp.USER32.dll_ClientToScreen]
mov r9d, dword [0x14015edac]
lea r8, [rbp + 0x1f]
cmp qword [rbp + 0x37], 0x10
lea rdx, [rbp + 0x1f]
mov eax, dword [rbp + 0x17]
mov r10d, dword [0x14015eda8]
cmovae r8, qword [rbp + 0x1f]
cmovae rdx, qword [rbp + 0x1f]
xor ecx, ecx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x30], r10d
mov dword [0x14015eda0], eax
mov eax, dword [rbp + 0x1b]
mov dword [0x14015ed90], r9d
mov r9d, 0x90000000
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov dword [0x14015eda4], eax
mov dword [0x14015eb8c], r10d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov qword [0x14015ee18], rax
test rax, rax
jne 0x1400320bb
lea ecx, [rbx + 2]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
movdqa xmm0, xmmword [0x14004c0f0]
lea rdx, [rbp + 0x3f]
mov rcx, rax
movdqu xmmword [rbp + 0x3f], xmm0
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov rcx, qword [0x14015ee18]
mov edx, 0xffffffec
mov r8d, 0x800a0
call qword [sym.imp.USER32.dll_SetWindowLongA]
mov rcx, qword [0x14015ee18]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x14015ee18]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rdx, qword [rbp + 0x37]
cmp rdx, 0x10
jb 0x14003214a
mov rcx, qword [rbp + 0x1f]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032145
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140032145
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400440c8
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.140043b20
mov rbx, qword [rsp + 0x100]
add rsp, 0xf0
pop rbp
ret
Function at 0x140035f40
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0xc], 0
je 0x140035f63
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xb
jb 0x140035f50
mov byte [rcx + 0xc], 0
mov rax, rcx
ret

Function at 0x140036040
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x20], 2
lea edx, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], 0
mov rcx, rax
lea rdx, [0x14013e2d0]
mov r8d, 0x5800
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140043b20
add rsp, 0x50
pop rbx
ret

Function at 0x1400360d0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x1c], 0
je 0x1400360f3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x1b
jb 0x1400360e0
mov byte [rcx + 0x1c], 0
mov rax, rcx
ret

Function at 0x140036c50
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0xb], 0
je 0x140036c73
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xa
jb 0x140036c60
mov byte [rcx + 0xb], 0
mov rax, rcx
ret
Function at 0x140036c80
Capabilities:
Encode data using base64 via winapi

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rbp - 8], rax
mov r12, rdx
mov r14, rcx
mov qword [rbp - 0x38], rcx
xor r13d, r13d
mov dword [rbp - 0x40], r13d
mov dword [rbp - 0x30], r13d
mov qword [rcx], r13
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], 0xf
mov byte [rcx], r13b
xor r8d, r8d
lea rdx, [0x140047ba6]
call fcn.14003f740
mov dword [rbp - 0x40], 1
mov rsi, 0xffffffffffffffff
mov rdi, rsi
nop dword [rax]
inc rdi
cmp byte [r12 + rdi], 0
jne 0x140036cf0
test edi, edi
je 0x140036e9b
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [r9 + 1]
mov edx, edi
mov rcx, r12
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x140036e04
xorps xmm0, xmm0
mov r15d, eax
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r13
cmp rax, 0x1000
jb 0x140036d6b
lea rcx, [rax + 0x27]
cmp rcx, rax
jbe 0x140036ec2
call fcn.1400443e4
mov rcx, rax
test rax, rax
je 0x140036df8
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140036d73
mov rcx, r15
call fcn.1400443e4
mov qword [rbp - 0x28], rax
lea rbx, [rax + r15]
mov qword [rbp - 0x18], rbx
mov r8, r15
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x20], rbx
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x28]
mov r8d, 1
mov edx, edi
mov rcx, r12
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
mov rdx, qword [rbp - 0x28]
inc rsi
cmp byte [rdx + rsi], 0
jne 0x140036db2
mov r8, rsi
mov rcx, r14
call fcn.14003f740
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140036e04
mov rdx, qword [rbp - 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036dff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140036dff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400440c8
mov rcx, r14
call fcn.14003ef80
cmp rax, 0xffffffffffffffff
je 0x140036e9b
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
mov r8d, 2
lea rdx, [0x140047c6c]
lea rcx, [rbp - 0x28]
call fcn.14003f740
nop
mov rcx, r14
call fcn.14003ef80
mov qword [rsp + 0x20], r13
mov r8, qword [rbp - 0x18]
mov rdx, rax
mov rcx, r14
call fcn.14003f580
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140036e04
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036dff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140036dff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, r14
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140043b20
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14002c510
int3
Function at 0x140037070
Capabilities:
Create process on windows

Disassembly:
mov r11, rsp
sub rsp, 0xf8
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rsp + 0xe0], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x74], xmm0
mov dword [r11 - 0x24], eax
mov rdx, rcx
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
movups xmmword [r11 - 0x74], xmm0
mov dword [rsp + 0x28], 0x8000000
movups xmmword [r11 - 0x64], xmm0
mov dword [rsp + 0x20], eax
movups xmmword [r11 - 0x54], xmm0
movups xmmword [r11 - 0x44], xmm0
movups xmmword [r11 - 0x34], xmm0
mov dword [rsp + 0x70], 0x68
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov rcx, qword [rsp + 0x50]
mov edx, 0x3e8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140043b20
add rsp, 0xf8
ret

Function at 0x140037120
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 3], 0
je 0x140037143
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 2
jb 0x140037130
mov byte [rcx + 3], 0
mov rax, rcx
ret

Function at 0x140037150
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x70
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rsp + 0x68], rax
movdqa xmm0, xmmword [0x14004d5a0]
xor edx, edx
movdqa xmm1, xmmword [0x14004d5b0]
mov eax, edx
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], 0x6662626e
movdqu xmmword [rsp + 0x30], xmm1
mov word [rsp + 0x44], 0x100
nop dword [rax]
nop dword [rax + rax]
lea ecx, [rax - 7]
xor byte [rsp + rax + 0x20], cl
inc rax
cmp rax, 0x24
jb 0x1400371a0
mov byte [rsp + 0x45], dl
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rdx
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], 0xf
inc r8
cmp byte [rax + r8], dl
jne 0x1400371d3
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003f740
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
movabs rax, 0x842108421084211
and r8d, 0x1f
mul r8
mov ecx, r8d
lea rax, [rsp + 0x48]
sub rcx, rdx
shr rcx, 1
add rcx, rdx
mov rdx, qword [rsp + 0x60]
shr rcx, 4
imul rcx, rcx, 0x1f
sub r8, rcx
mov rcx, qword [rsp + 0x48]
cmp rdx, 0x10
cmovae rax, rcx
movzx ebx, byte [rax + r8 + 1]
jb 0x14003726b
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037266
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140037266
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400440c8
movzx eax, bl
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140043b20
add rsp, 0x70
pop rbx
ret
Function at 0x140037800
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0xe], 0
je 0x140037823
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xd
jb 0x140037810
mov byte [rcx + 0xe], 0
mov rax, rcx
ret

Function at 0x140037830
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 6], 0
je 0x140037853
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 5
jb 0x140037840
mov byte [rcx + 6], 0
mov rax, rcx
ret

Function at 0x140037880
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 5], 0
je 0x1400378a3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 4
jb 0x140037890
mov byte [rcx + 5], 0
mov rax, rcx
ret

Function at 0x1400378b0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0xf], 0
je 0x1400378d3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xe
jb 0x1400378c0
mov byte [rcx + 0xf], 0
mov rax, rcx
ret

Function at 0x1400378e0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 9], 0
je 0x140037903
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 8
jb 0x1400378f0
mov byte [rcx + 9], 0
mov rax, rcx
ret

Function at 0x140037910
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 4], 0
je 0x140037933
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 3
jb 0x140037920
mov byte [rcx + 4], 0
mov rax, rcx
ret
Function at 0x140038a70
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x18], 0
je 0x140038a93
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x17
jb 0x140038a80
mov byte [rcx + 0x18], 0
mov rax, rcx
ret

Function at 0x140038aa0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x4a], 0
je 0x140038ac3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x49
jb 0x140038ab0
mov byte [rcx + 0x4a], 0
mov rax, rcx
ret

Function at 0x140038ad0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x6f], 0
je 0x140038af3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x6e
jb 0x140038ae0
mov byte [rcx + 0x6f], 0
mov rax, rcx
ret
Function at 0x140038fb0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x24], 0
je 0x140038fd3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x23
jb 0x140038fc0
mov byte [rcx + 0x24], 0
mov rax, rcx
ret

Function at 0x140038fe0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x5e], 0
je 0x140039003
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 7]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x5d
jb 0x140038ff0
mov byte [rcx + 0x5e], 0
mov rax, rcx
ret