joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140001000
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x130
mov ebp, ecx
test ecx, ecx
je 0x14000109b
mov rax, qword gs:[0x60]
mov rbx, qword [rax + 0x18]
mov rbx, qword [rbx + 0x20]
test rbx, rbx
je 0x14000109b
mov r14d, 0x104
nop
movzx eax, word [rbx + 0x48]
test ax, ax
je 0x14000109b
cmp ax, r14w
jae 0x14000109b
mov rax, qword [rbx + 0x50]
xor edi, edi
cmp word [rax], di
je 0x140001080
xor esi, esi
xor ecx, ecx
nop
movzx ecx, byte [rcx + rax]
call fcn.140001eb0
inc edi
mov byte [rsp + rsi + 0x20], al
mov rax, qword [rbx + 0x50]
mov esi, edi
lea rcx, [rdi + rdi]
cmp word [rcx + rax], 0
jne 0x140001060
lea rcx, [rsp + 0x20]
mov byte [rsp + rdi + 0x20], 0
call fcn.140001da0
cmp eax, ebp
je 0x1400010bb
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140001040
xor eax, eax
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
mov rax, qword [rbx + 0x20]
jmp 0x14000109d
Function at 0x1400010d0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

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, 0x110
mov ebp, edx
mov rdi, rcx
test rcx, rcx
je 0x140001205
test edx, edx
je 0x140001205
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140001205
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x140001205
movups xmm0, xmmword [rax + 0x18]
lea rcx, [rsp + 0x20]
xor ebx, ebx
movups xmm1, xmmword [rax + 0x28]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x38]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x48]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x68]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x78]
movups xmmword [rcx + 0x50], xmm1
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax + 0x88]
sub rax, 0xffffffffffffff68
movups xmmword [rcx - 0x10], xmm0
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx], xmm1
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm0
movups xmmword [rcx + 0x60], xmm1
mov r14d, dword [rsp + 0x90]
add r14, rdi
mov r15d, dword [r14 + 0x20]
mov r12d, dword [r14 + 0x1c]
add r15, rdi
mov r13d, dword [r14 + 0x24]
add r12, rdi
add r13, rdi
cmp dword [r14 + 0x14], ebx
jbe 0x140001205
nop dword [rax + rax]
movzx eax, word [r13 + rbx*2]
mov ecx, dword [r15 + rbx*4]
add rcx, rdi
mov esi, dword [r12 + rax*4]
add rsi, rdi
call fcn.140001da0
cmp ebp, eax
je 0x140001228
inc ebx
cmp ebx, dword [r14 + 0x14]
jb 0x1400011e0
xor eax, eax
lea r11, [rsp + 0x110]
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
mov rax, rsi
jmp 0x140001207

Function at 0x140001230
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14000125a
movsxd rax, dword [rcx + 0x3c]
cmp dword [rax + rcx], 0x4550
jne 0x14000125a
mov eax, dword [rax + rcx + 0x88]
add rax, rcx
mov qword [rdx], rax
mov eax, 1
ret
xor eax, eax
ret
Function at 0x140001da0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
mov edx, ebx
test eax, eax
je 0x140001ddb
nop
movsx eax, byte [rdi + rdx]
inc rdx
add eax, ebx
imul ebx, eax, 0x101
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp rdx, rcx
jne 0x140001dc0
lea eax, [rbx + rbx*8]
mov rbx, qword [rsp + 0x30]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
add rsp, 0x20
pop rdi
ret

Function at 0x140001e00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov edx, ebx
test eax, eax
je 0x140001e3b
nop
movzx eax, word [rdi + rdx*2]
inc rdx
add eax, ebx
imul ebx, eax, 0x101
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp rdx, rcx
jne 0x140001e20
lea eax, [rbx + rbx*8]
mov rbx, qword [rsp + 0x30]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
add rsp, 0x20
pop rdi
ret

Function at 0x140001ed1
Capabilities:
Execute syscall

Disassembly:
mov r10, rcx
mov eax, dword [0x14000cff0]
syscall
ret
Function at 0x1800028a0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
cmp dword [0x180020a94], 0xa
jl 0x1800028d2
mov eax, dword [0x180020a98]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800028d2
nop word cs:[rax + rax]
jmp 0x1800028d0
mov rax, qword gs:[0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a74], 0xa
setl r8b
or r8b, al
mov eax, dword [0x180020a9c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020aa0], 0xa
setl r9b
or r9b, al
lea r10, [rcx - 1]
xor eax, eax
mov r14, r11
mov r14, qword [r14]
cmp r14, r11
je 0x1800029a8
mov rsi, r10
test r8b, r8b
je 0x1800029c0
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x180002940
test r9b, r9b
je 0x1800029d0
sub rsi, rcx
je 0x1800029a4
mov r15, qword [r14 + 0x60]
xor ebx, ebx
nop
movzx r13d, word [r15 + rbx*2]
lea edi, [r13 - 0x41]
lea ebp, [r13 + 0x20]
cmp di, 0x1a
cmovae ebp, r13d
movsx edi, byte [rcx + rbx]
lea r12d, [rdi - 0x41]
lea edx, [rdi + 0x20]
cmp r12b, 0x1a
cmovae edx, edi
sub ebp, edx
test r13d, r13d
je 0x1800029a0
test ebp, ebp
jne 0x1800029a0
add rbx, 1
cmp rsi, rbx
jne 0x180002960
jmp 0x1800029a4
test ebp, ebp
jne 0x18000292c
mov rax, qword [r14 + 0x30]
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x1800029c0
jmp 0x1800029d0
Function at 0x180002380
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
cmp dword [0x180020a8c], 0xa
jl 0x1800023b2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800023b2
nop word cs:[rax + rax]
jmp 0x1800023b0
mov rax, qword gs:[0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a74], 0xa
setl r8b
or r8b, al
mov eax, dword [0x180020a94]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a98], 0xa
setl r9b
or r9b, al
lea r10, [rcx - 1]
xor eax, eax
mov r14, r11
mov r14, qword [r14]
cmp r14, r11
je 0x180002488
mov rsi, r10
test r8b, r8b
je 0x1800024a0
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x180002420
test r9b, r9b
je 0x1800024b0
sub rsi, rcx
je 0x180002484
mov r15, qword [r14 + 0x60]
xor ebx, ebx
nop
movzx r13d, word [r15 + rbx*2]
lea edi, [r13 - 0x41]
lea ebp, [r13 + 0x20]
cmp di, 0x1a
cmovae ebp, r13d
movsx edi, byte [rcx + rbx]
lea r12d, [rdi - 0x41]
lea edx, [rdi + 0x20]
cmp r12b, 0x1a
cmovae edx, edi
sub ebp, edx
test r13d, r13d
je 0x180002480
test ebp, ebp
jne 0x180002480
add rbx, 1
cmp rsi, rbx
jne 0x180002440
jmp 0x180002484
test ebp, ebp
jne 0x18000240c
mov rax, qword [r14 + 0x30]
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x1800024a0
jmp 0x1800024b0
Function at 0x140001570
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0xb0
xor r14d, r14d
mov dword [rsp + 0x20], r14d
lea rcx, [rax - 0x78]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
nop
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
mov esi, r14d
xor eax, eax
lock cmpxchg qword [0x140015c60], rbx
je 0x1400015d7
cmp rax, rbx
jne 0x1400015ca
mov ebx, 1
mov esi, ebx
jmp 0x1400015dc
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1400015af
mov ebx, 1
mov eax, dword [0x140015c68]
cmp eax, ebx
jne 0x1400015f4
mov edi, 0x1f
mov ecx, edi
call sub.msvcrt.dll__amsg_exit
jmp 0x14000166a
mov eax, dword [0x140015c68]
test eax, eax
jne 0x14000165f
mov dword [0x140015c68], ebx
lea r15, [0x140010bf8]
lea rdi, [0x140010be0]
mov qword [rsp + 0x30], rdi
mov eax, r14d
mov dword [rsp + 0x24], eax
cmp rdi, r15
jae 0x140001651
test eax, eax
jne 0x140001655
cmp qword [rdi], r14
je 0x140001646
movabs r10, 0xd30527475e523070
mov rax, qword [rdi]
mov rcx, qword [0x140010b90]
call rcx
mov dword [rsp + 0x24], eax
add rdi, 8
mov qword [rsp + 0x30], rdi
jmp 0x14000161e
test eax, eax
je 0x140001665
mov eax, 0xff
jmp 0x1400017ca
mov dword [0x1400153e4], ebx
mov edi, 0x1f
mov eax, dword [0x140015c68]
cmp eax, ebx
jne 0x140001691
lea rdx, [0x140010bd8]
lea rcx, [0x140010ba0]
call sub.msvcrt.dll__initterm
mov dword [0x140015c68], 2
test esi, esi
jne 0x14000169f
mov rax, r14
xchg qword [0x140015c60], rax
cmp qword [0x140015c80], r14
je 0x1400016dc
lea rcx, [0x140015c80]
call fcn.140001c70
test eax, eax
je 0x1400016dc
movabs r10, 0x99012e4578d92870
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x140015c80]
mov r9, qword [0x140010b90]
call r9
mov rax, qword [sym.imp.msvcrt.dll__wcmdln]
mov rcx, qword [rax]
test rcx, rcx
jne 0x1400016f5
mov eax, 0xff
jmp 0x1400017ca
mov qword [rsp + 0x28], rcx
mov edx, dword [rsp + 0x20]
movzx eax, word [rcx]
cmp ax, 0x20
ja 0x14000177b
test ax, ax
je 0x140001710
test edx, edx
jne 0x14000177b
sub ax, bx
cmp ax, di
ja 0x140001726
add rcx, 2
mov qword [rsp + 0x28], rcx
movzx eax, word [rcx]
jmp 0x140001710
test byte [rsp + 0x7c], bl
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rcx
xor edx, edx
lea rcx, [0x140000000]
call fcn.140006fbc
mov dword [0x1400153e0], eax
cmp dword [0x140015400], r14d
jne 0x140001764
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x1400153e4], r14d
jne 0x140001779
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x1400153e0]
jmp 0x1400017ca
cmp ax, 0x22
jne 0x14000178f
mov eax, r14d
test edx, edx
sete al
mov edx, eax
mov dword [rsp + 0x20], eax
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x1400016fe
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
sub rsp, 0x28
call fcn.140135000
add rsp, 0x28
jmp 0x140001570
Function at 0x140003ce0
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
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
mov r15d, edx
lea r14d, [rdx - 1]
mov rdi, rcx
xor r12d, r12d
nop word [rax + rax]
mov esi, r12d
mov ebp, r12d
test r14d, r14d
je 0x140003eea
mov r8, qword [rdi + 8]
nop dword [rax]
nop word [rax + rax]
lea ecx, [r8 + 0xff]
shl esi, cl
add esi, esi
nop dword [rax + rax]
mov r10, qword [rdi]
mov ecx, dword [r10]
cmp ecx, 0x270
jne 0x140003da4
lea rax, [r10 + 8]
mov r9d, ecx
nop word [rax + rax]
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
lea rax, [rax + 4]
btr r8d, 0x1f
xor r8d, dword [rax - 8]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
shr r8d, 1
and edx, 0x9908b0df
xor edx, dword [rax + 0x62c]
xor edx, r8d
mov dword [rax + 0x9b8], edx
sub r9, 1
jne 0x140003d60
mov ecx, dword [r10]
jmp 0x140003e87
cmp ecx, 0x4e0
jb 0x140003e87
lea r11, [r10 + 0x9c4]
mov ebx, 0xe3
mov eax, dword [r11]
nop
mov edx, dword [r11 + 4]
lea r8, [r11 + 4]
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 + 0x634]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140003dc0
lea r11, [r10 + 0xd50]
mov ebx, 0x18c
mov eax, dword [r11]
nop dword [rax + rax]
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 - 0xd4c]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140003e10
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 4]
btr edx, 0x1f
xor edx, dword [r10 + 0x1380]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
xor ecx, edx
mov dword [r10 + 0x9c0], ecx
mov ecx, r12d
mov dword [r10], r12d
mov eax, ecx
mov edx, dword [r10 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r10], eax
mov ecx, edx
mov eax, dword [r10 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
mov edx, dword [rdi + 0x10]
cmp eax, edx
ja 0x140003d40
mov r8, qword [rdi + 8]
or esi, eax
lea ecx, [r8 + 0xff]
shl ebp, cl
add ebp, ebp
or ebp, edx
cmp ebp, r14d
jb 0x140003d30
xor edx, edx
mov eax, ebp
div r15d
mov ecx, eax
mov r8d, edx
xor edx, edx
mov eax, esi
div r15d
cmp eax, ecx
jb 0x140003f0a
cmp r8d, r14d
jne 0x140003d10
mov rbx, qword [rsp + 0x20]
mov eax, esi
mov rbp, qword [rsp + 0x28]
xor edx, edx
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
div r15d
mov eax, edx
pop r15
pop r14
pop r12
ret
Function at 0x1400042a0
Capabilities:
Create process on windows

Disassembly:
mov rax, rsp
push rbx
sub rsp, 0x90
xorps xmm0, xmm0
mov rbx, rcx
movups xmmword [rax - 0x78], xmm0
mov dword [rax - 0x78], 0x70
xor ecx, ecx
mov dword [rax - 0x74], 0x40
cmp qword [rbx + 0x18], 0x10
mov qword [rax - 0x70], rcx
movups xmmword [rax - 0x68], xmm0
movups xmmword [rax - 0x58], xmm0
movups xmmword [rax - 0x48], xmm0
movups xmmword [rax - 0x38], xmm0
movups xmmword [rax - 0x28], xmm0
movups xmmword [rax - 0x18], xmm0
lea rax, str.runas
mov qword [rsp + 0x30], rax
mov rax, rbx
jb 0x1400042fa
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
test dl, dl
lea rax, [0x1400d2178]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov eax, 5
cmovne eax, ecx
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x50], eax
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
mov rcx, rbx
test eax, eax
je 0x140004348
call fcn.140003920
mov eax, 1
add rsp, 0x90
pop rbx
ret
call fcn.140003920
xor eax, eax
add rsp, 0x90
pop rbx
ret
Function at 0x140004580
Capabilities:
Create process on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r14
sub rsp, 0x90
xor eax, eax
xorps xmm0, xmm0
mov dword [rsp + 0x54], eax
xor r14d, r14d
cmp qword [rcx + 0x18], 0x10
movzx esi, r8b
movups xmmword [rsp + 0x60], xmm0
mov rbx, rdx
mov rdi, rcx
movups xmmword [rsp + 0x70], xmm0
mov qword [r11 - 0x18], rax
lea rax, str.runas
mov dword [rsp + 0x20], 0x70
mov dword [rsp + 0x24], 0x40
mov qword [r11 - 0x68], rax
mov rax, rcx
mov qword [r11 - 0x70], r14
jb 0x1400045ec
mov rax, qword [rcx]
cmp qword [rdx + 0x18], 0x10
mov qword [rsp + 0x38], rax
mov rax, rbx
jb 0x1400045fe
mov rax, qword [rdx]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x20]
lea rax, [0x1400d2178]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x48], rax
movzx eax, r9b
xor eax, 1
mov qword [rsp + 0x88], r14
mov dword [rsp + 0x50], eax
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
mov ebp, eax
test eax, eax
je 0x14000465e
test sil, sil
je 0x140004650
mov rcx, qword [rsp + 0x88]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140004694
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14000468f
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004708
mov rcx, r8
call fcn.14008f0d4
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], r14b
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400046d9
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1400046d4
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004708
mov rcx, r8
call fcn.14008f0d4
lea r11, [rsp + 0x90]
mov qword [rbx + 0x10], r14
mov rsi, qword [r11 + 0x20]
mov eax, ebp
mov rbp, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x28]
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r14b
mov rbx, qword [r11 + 0x10]
mov rsp, r11
pop r14
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140004710
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
push r14
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rdi, rdx
mov rbx, rcx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
mov dword [rsp + 0x20], 1
lea r8, [0x1400d221c]
lea rcx, [rsp + 0x48]
call fcn.1400024f0
nop
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14000486c
test byte [rsp + 0x70], 0x10
jne 0x14000484c
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], 0
lea rax, [rbp - 0x64]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400047c1
lea rdx, [rbp - 0x64]
lea rcx, [rsp + 0x28]
call fcn.1400056d0
nop
mov rdx, qword [rbx + 8]
cmp rdx, qword [rbx + 0x10]
je 0x140004806
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rdx + 0x10], xmm1
mov edx, 0xf
mov byte [rsp + 0x28], 0
add qword [rbx + 8], 0x20
jmp 0x140004818
lea r8, [rsp + 0x28]
mov rcx, rbx
call fcn.1400026d0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x14000484c
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004847
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400048a7
call fcn.14008f0d4
lea rdx, [rsp + 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140004793
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400048b3
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400048ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400048ae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14008f0d4
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1400048fc
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400048f7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004926
mov rcx, r8
call fcn.14008f0d4
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rax, rbx
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140005250
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
mov eax, 0x13f0
call fcn.14008f5e0
sub rsp, rax
mov rsi, rdx
mov rdi, rcx
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea ecx, [rbx + 0x40]
call fcn.14008f098
mov rbp, rax
mov qword [rsp + 0x50], 0x34
mov qword [rsp + 0x58], 0x3f
movups xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400d2238]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1400d2248]
movups xmmword [rax + 0x20], xmm0
mov ecx, dword [0x1400d2258]
mov dword [rax + 0x30], ecx
mov byte [rax + 0x34], bl
mov qword [rsp + 0x40], rax
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov dword [rsp + 0x13e4], 0xffffffff
mov dword [rsp + 0x64], eax
lea edx, [rbx + 1]
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x64], eax
inc rdx
cmp rdx, 0x270
jb 0x1400052e0
mov dword [rsp + 0x60], 0x270
mov qword [rdi], rbx
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov dword [rsp + 0x20], 1
test rsi, rsi
je 0x1400053a5
movzx ebx, byte [rsp + 0x1420]
nop
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0x20
mov dword [rsp + 0x38], 0xffffffff
mov edx, 0x34
lea rcx, [rsp + 0x28]
call fcn.140003ce0
movsxd rcx, eax
movzx r9d, byte [rcx + rbp]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14000538e
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x140005383
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14000539f
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140002e70
sub rsi, 1
jne 0x140005330
mov edx, 0x40
mov rcx, rbp
call fcn.14008f0d4
mov rax, rdi
mov rbx, qword [rsp + 0x1418]
add rsp, 0x13f0
pop rdi
pop rsi
pop rbp
ret

Function at 0x140008750
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.1400087b0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x140008765
mov rdx, rbx
lea rcx, [rax + 0x10]
call fcn.1400056d0
call fcn.1400087b0
mov byte [rax + 8], 1
call fcn.1400087b0
mov ecx, 0x1388
mov byte [rax + 9], 1
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x20
pop rbx
jmp fcn.1400054b0

Function at 0x140008940
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.1400087b0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x140008955
mov rdx, rbx
lea rcx, [rax + 0x10]
call fcn.1400056d0
call fcn.1400087b0
mov byte [rax + 8], 1
call fcn.1400087b0
mov ecx, 0x2710
mov byte [rax + 9], 0
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x20
pop rbx
jmp fcn.1400054b0
Function at 0x1400096b0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x50
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140009779
cmp byte [rcx + 0x71], 0
je 0x140009779
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x68], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14000976c
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x60]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140009728
sub eax, 1
je 0x14000972c
cmp eax, 2
jne 0x14000976c
mov rdi, qword [rsp + 0x68]
mov al, 1
mov byte [rbx + 0x71], 0
add rsp, 0x50
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x60]
lea rax, [rsp + 0x30]
sub rdi, rax
je 0x14000975a
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x30]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x14000976c
cmp byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x68]
sete al
add rsp, 0x50
pop rbx
ret
mov rdi, qword [rsp + 0x68]
xor al, al
add rsp, 0x50
pop rbx
ret
mov al, 1
add rsp, 0x50
pop rbx
ret