joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140024260
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov r12, rcx
xor ebp, ebp
mov qword [rcx], rbp
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], rbp
call fcn.140075544
cmp eax, 1
lea r13d, [rax + rax]
ja 0x1400242ae
lea r13d, [rbp + 4]
mov rax, qword [0x1401322a8]
test rax, rax
jne 0x140024466
mov edi, ebp
mov ebx, 0x5f9a4438
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x28], xmm0
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140024353
mov r8, qword [rsp + 0x30]
movzx ecx, cx
shr rcx, 1
mov r10d, 0x3456f9c9
mov r9, rbp
lea rdx, [r8 + rcx*2]
lea r11, [rcx*2 + 1]
shr r11, 1
cmp r8, rdx
cmova r11, rbp
test r11, r11
je 0x14002434a
nop dword [rax]
nop dword [rax + rax]
movsx ecx, byte [r8]
xor ecx, r10d
imul r10d, ecx, 0x1000193
lea r8, [r8 + 2]
inc r9
cmp r9, r11
jne 0x140024330
cmp r10d, edi
jne 0x140024457
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rdx, qword [rcx + r10 + 0x88]
mov r15, rdx
shr r15, 0x20
mov r11d, edx
add r11, r10
cmp r11, r10
je 0x140024457
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140024457
mov r14d, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rcx, [r14 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x3456f9c9
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400243c8
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400243b0
cmp r8d, ebx
je 0x1400243da
test r9d, r9d
jne 0x140024390
mov rax, qword [rax]
jmp 0x1400242e0
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [r11 + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov eax, dword [rcx + rax*4]
add rax, r10
cmp rax, r11
jbe 0x14002445f
lea rcx, [r15 + r11]
cmp rax, rcx
jae 0x14002445f
mov edi, 0x3456f9c9
mov ebx, edi
movzx ecx, byte [rax]
cmp cl, 0x2e
je 0x140024426
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
inc rax
movzx ecx, byte [rax]
cmp cl, 0x2e
jne 0x140024410
inc rax
movzx ecx, byte [rax]
test cl, cl
je 0x140024446
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
lea rax, [rax + 1]
movzx ecx, byte [rax]
test cl, cl
jne 0x140024430
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400242e0
mov qword [0x1401322a8], rax
mov r9d, r13d
xor r8d, r8d
xor edx, edx
lea rcx, [rdx - 1]
call rax
mov qword [r12], rax
mov eax, ebp
xchg byte [r12 + 0x20], al
xchg qword [r12 + 0x28], rbp
mov rax, r12
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1400244b0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbp
sub rsp, 0x50
mov rbp, qword [0x1401316a8]
mov qword [r11 - 0x10], r12
mov r12, r8
mov qword [r11 - 0x18], r13
mov r13, rdx
mov rax, qword [rbp]
mov qword [rsp + 0x60], rax
mov rax, qword [0x1401322e0]
test rax, rax
jne 0x1400246b6
mov rax, qword gs:[0x60]
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
xor edi, edi
mov rax, qword [rax + 0x18]
mov ebx, edi
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
mov r11d, 0x322975a8
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x20], xmm0
sub cx, 8
test ebx, ebx
je 0x140024582
mov rdx, qword [rsp + 0x28]
mov r9d, 0xc115b919
movzx r10d, cx
mov r8, rdi
shr r10, 1
lea rcx, [rdx + r10*2]
cmp rdx, rcx
cmova r10, rdi
test r10, r10
je 0x140024579
nop word [rax + rax]
movsx ecx, byte [rdx]
lea rdx, [rdx + 2]
xor ecx, r9d
inc r8
imul r9d, ecx, 0x1000193
cmp r8, r10
jne 0x140024560
cmp r9d, ebx
jne 0x14002468e
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rdx, qword [rcx + r10 + 0x88]
mov r15, rdx
mov edi, edx
shr r15, 0x20
add rdi, r10
cmp rdi, r10
je 0x14002468c
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14002468c
mov r14d, dword [rdi + 0x20]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc115b919
lea rcx, [r14 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400245f9
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400245e0
cmp r8d, r11d
je 0x14002460d
test r9d, r9d
jne 0x1400245c0
mov rax, qword [rax]
xor edi, edi
jmp 0x140024520
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
cmp rax, rdi
jbe 0x140024696
lea rcx, [r15 + rdi]
cmp rax, rcx
jae 0x140024696
movzx ecx, byte [rax]
mov ebx, 0xc115b919
mov r11d, ebx
cmp cl, 0x2e
je 0x140024658
movsx ecx, cl
inc rax
xor ecx, ebx
imul ebx, ecx, 0x1000193
movzx ecx, byte [rax]
cmp cl, 0x2e
jne 0x140024642
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
je 0x14002467b
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r11d
imul r11d, ecx, 0x1000193
movzx ecx, byte [rax]
test cl, cl
jne 0x140024663
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
xor edi, edi
mov rax, qword [rax]
jmp 0x140024520
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov qword [0x1401322e0], rax
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov r8, r12
mov rcx, r13
call rax
mov r13, qword [rsp + 0x40]
test rax, rax
mov r12, qword [rsp + 0x48]
setne dl
test rax, rax
jne 0x1400246e1
add rsp, 0x50
pop rbp
ret
mov ecx, 1
lock xadd qword [rbp + 0x28], rcx
movzx eax, dl
add rsp, 0x50
pop rbp
ret
Function at 0x140024700
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
sub rsp, 0x40
mov rbp, qword [0x1401316a8]
mov rax, 0xffffffffffffffff
lock xadd qword [rbp + 0x28], rax
cmp rax, 1
jne 0x140024945
movzx eax, byte [rbp + 0x20]
test al, al
je 0x140024945
mov r10, qword [0x1401322f0]
test r10, r10
jne 0x140024925
mov rax, qword gs:[0x60]
mov qword [rsp + 0x50], rbx
mov ebx, 0xba44ffe9
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rdi
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x68], r12
xor r12d, r12d
mov qword [rsp + 0x38], r14
mov edi, r12d
mov qword [rsp + 0x30], r15
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x20], xmm0
sub cx, 8
test edi, edi
je 0x1400247e2
mov rdx, qword [rsp + 0x28]
mov r9d, 0xff5f58c2
movzx r10d, cx
mov r8, r12
shr r10, 1
lea rcx, [rdx + r10*2]
cmp rdx, rcx
cmova r10, r12
test r10, r10
je 0x1400247d9
nop word [rax + rax]
movsx ecx, byte [rdx]
lea rdx, [rdx + 2]
xor ecx, r9d
inc r8
imul r9d, ecx, 0x1000193
cmp r8, r10
jne 0x1400247c0
cmp r9d, edi
jne 0x1400248f8
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rdx, qword [rcx + r11 + 0x88]
mov r15, rdx
mov esi, edx
shr r15, 0x20
add rsi, r11
cmp rsi, r11
je 0x1400248f8
mov r9d, dword [rsi + 0x18]
test r9d, r9d
je 0x1400248f8
mov r14d, dword [rsi + 0x20]
nop dword [rax + rax]
dec r9d
mov r8d, 0xff5f58c2
lea rcx, [r14 + r9*4]
mov edx, dword [rcx + r11]
add rdx, r11
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140024859
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140024840
cmp r8d, ebx
je 0x14002486b
test r9d, r9d
jne 0x140024820
mov rax, qword [rax]
jmp 0x140024780
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r9*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov r10d, dword [rcx + rdx*4]
add r10, r11
cmp r10, rsi
jbe 0x140024900
lea rax, [r15 + rsi]
cmp r10, rax
jae 0x140024900
movzx eax, byte [r10]
mov edi, 0xff5f58c2
mov ebx, edi
cmp al, 0x2e
je 0x1400248b6
movsx eax, al
inc r10
xor eax, edi
imul edi, eax, 0x1000193
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x1400248a0
movzx eax, byte [r10 + 1]
inc r10
test al, al
je 0x1400248e7
nop dword [rax]
nop word [rax + rax]
movsx eax, al
lea r10, [r10 + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
movzx eax, byte [r10]
test al, al
jne 0x1400248d0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140024780
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov qword [0x1401322f0], r10
mov rcx, rbp
call fcn.140044ab0
xor r9d, r9d
mov rcx, rax
xor edx, edx
lea r8, [r9 - 1]
call r10
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitThread]
add rsp, 0x40
pop rbp
ret
Function at 0x1400270b0
Capabilities:
Move file

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x70
mov qword [r11 - 0x58], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x140124190]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, rcx
lea rcx, [r11 - 0x30]
call fcn.140026c50
mov rdx, rsi
mov r10, qword [rsi + 0x18]
cmp r10, 8
jb 0x1400270f7
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rdi, 0xffffffffffffffff
test r8, r8
je 0x140027137
lea rcx, [r8 - 1]
mov rax, rdi
cmp rcx, rax
cmovb rax, rcx
lea rax, [rdx + rax*2]
cmp word [rax], 0x5c
je 0x14002712f
nop
cmp rax, rdx
je 0x140027137
sub rax, 2
cmp word [rax], 0x5c
jne 0x140027120
sub rax, rdx
sar rax, 1
jmp 0x14002713a
mov rax, rdi
movdqa xmm0, xmmword [0x1401057a0]
movdqu xmmword [rsp + 0x38], xmm0
xor ebp, ebp
mov word [rsp + 0x28], bp
lea rdx, [rax + 1]
cmp r8, rdx
cmovb rdx, r8
mov r9, rsi
cmp r10, 8
jb 0x140027166
mov r9, qword [rsi]
lea rcx, [rsp + 0x28]
cmp rdx, 7
ja 0x14002718c
mov qword [rsp + 0x38], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call fcn.140096e70
mov word [rsp + rbx + 0x28], bp
jmp 0x140027192
call fcn.14002d400
nop
lea rax, [rsp + 0x48]
nop word [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400271a0
mov r8, rdi
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x28]
call fcn.14002b200
lea rdx, [0x140128f38]
cmp qword [0x140128f50], 8
cmovae rdx, qword [0x140128f38]
mov r8, qword [0x140128f48]
lea rcx, [rsp + 0x28]
call fcn.14002b200
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rdx, qword [rsp + 0x28]
cmp qword [rsi + 0x18], 8
jb 0x1400271ff
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_MoveFileW]
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x140027247
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140027242
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002726a
call fcn.140072f50
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140072ef0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.1400a01c4
int3
Function at 0x14002ebd0
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword gs:[0x58]
mov rbx, rcx
mov ecx, 0x128
mov r8d, 0x20
mov rdx, rbx
add rcx, qword [rax]
call fcn.14004ec80
and byte [rbx], 0xf8
and byte [rbx + 0x1f], 0x3f
or byte [rbx + 0x1f], 0x40
add rsp, 0x20
pop rbx
ret

Function at 0x14002ec10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x140124190]
xor rax, rsp
mov qword [rbp + 0x60], rax
xor edx, edx
mov byte [0x14013172c], 0
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x44]
call fcn.1400972d0
mov r8b, 3
mov dword [rsp + 0x40], 0x11c
mov edx, 2
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov r8b, 3
mov edx, 1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov r8b, 3
mov edx, 0x20
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
xor ebx, ebx
mov qword [rsp + 0x44], 6
mov r8, rax
mov word [rbp + 0x54], bx
lea rcx, [rsp + 0x40]
lea edx, [rbx + 0x23]
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
test eax, eax
setne byte [0x14013172c]
test eax, eax
je 0x14002edbd
mov byte [rsp + 0x20], bl
mov byte [rsp + 0x21], 7
mov byte [rsp + 0x22], 0x6a
mov byte [rsp + 0x23], 0x69
mov byte [rsp + 0x24], 0x6a
mov byte [rsp + 0x25], 0x1f
mov byte [rsp + 0x26], 0x6a
mov byte [rsp + 0x27], 0x34
mov byte [rsp + 0x28], 0x6a
mov byte [rsp + 0x29], 0x1f
mov byte [rsp + 0x2a], 0x6a
mov byte [rsp + 0x2b], 0x29
mov byte [rsp + 0x2c], 0x6a
mov byte [rsp + 0x2d], 0x68
mov byte [rsp + 0x2e], 0x6a
mov byte [rsp + 0x2f], 0x34
mov byte [rsp + 0x30], 0x6a
mov byte [rsp + 0x31], 4
mov byte [rsp + 0x32], 0x6a
mov byte [rsp + 0x33], 0x48
mov byte [rsp + 0x34], 0x6a
mov byte [rsp + 0x35], 0x73
mov byte [rsp + 0x36], 0x6a
mov byte [rsp + 0x37], 0x73
mov byte [rsp + 0x38], 0x6a
mov byte [rsp + 0x39], 0x6a
mov byte [rsp + 0x3a], 0x6a
movzx eax, byte [rsp + 0x21]
movzx eax, byte [rsp + 0x20]
test al, al
jne 0x14002eda8
nop dword [rax + rax]
movzx ecx, byte [rsp + rbx + 0x21]
mov eax, 0x81020409
sub ecx, 0x6a
lea r8d, [rcx + rcx*2]
shl r8d, 2
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rsp + rbx + 0x21], r8b
inc rbx
cmp rbx, 0x1a
jb 0x14002ed50
lea rcx, [rsp + 0x21]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
setne byte [0x14013172c]
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.140072ef0
mov rbx, qword [rsp + 0x180]
add rsp, 0x170
pop rbp
ret
Function at 0x14002f590
Capabilities:
Write file on windows

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0xa0
mov qword [r11 - 0x40], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x140124190]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rbx, rcx
xor esi, esi
mov dword [rsp + 0x40], esi
movdqa xmm0, xmmword [0x1401057a0]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], si
mov dword [rsp + 0x40], 1
lea rdi, [rcx + 0x10]
mov rdx, qword [rdi]
inc rdx
lea rcx, [r11 - 0x60]
call fcn.140031f80
cmp qword [rbx + 0x18], 8
jb 0x14002f5fe
mov rbx, qword [rbx]
mov r8, qword [rdi]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.14002b200
mov r8d, 1
lea rdx, [0x1401049f0]
lea rcx, [rsp + 0x48]
call fcn.14002b200
lea rdx, [0x140128f78]
cmp qword [0x140128f90], 8
cmovae rdx, qword [0x140128f78]
mov r8, qword [0x140128f88]
lea rcx, [rsp + 0x48]
call fcn.14002b200
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x88], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002f6b2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f6ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f79b
call fcn.140072f50
lea rcx, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae rcx, qword [rsp + 0x78]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14002f72f
lea rdx, [0x140128f58]
cmp qword [0x140128f70], 0x10
cmovae rdx, qword [0x140128f58]
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x70]
mov r8d, dword [0x140128f68]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rsp + 0x90]
cmp rdx, 8
jb 0x14002f770
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f76b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f795
call fcn.140072f50
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140072ef0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
call fcn.1400a01c4
int3
call fcn.1400a01c4
int3
Function at 0x14002f7b0
Capabilities:
Get disk size

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
sub rsp, 0x90
mov qword [r11 - 0x50], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x140124190]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rbx, rdx
mov rdi, rcx
mov qword [r11 - 0x48], rcx
mov qword [r11 - 0x40], rdx
xor ebp, ebp
mov dword [rsp + 0x30], ebp
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], rbp
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov qword [rdx + 0x10], rbp
mov qword [rdx + 0x18], 7
mov word [rdx], bp
mov dword [rsp + 0x7c], ebp
mov dword [rsp + 0x70], ebp
mov dword [rsp + 0x78], ebp
mov dword [rsp + 0x74], ebp
movdqa xmm0, xmmword [0x1401057a0]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], bp
mov dword [rsp + 0x30], 1
mov rdx, qword [rcx + 0x10]
inc rdx
lea rcx, [r11 - 0x70]
call fcn.140031f80
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14002f85c
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x38]
call fcn.14002b200
mov r8d, 1
lea rdx, [0x1401049f0]
lea rcx, [rsp + 0x38]
call fcn.14002b200
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x7c]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
sete sil
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x14002f8f9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f8f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f97b
call fcn.140072f50
mov eax, dword [rsp + 0x70]
mov ecx, 0x200
test sil, sil
cmovne eax, ecx
mov dword [rdi + 0x20], eax
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x14002f946
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14002f941
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002f981
mov rcx, r8
call fcn.140072f50
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], 7
mov word [rbx], bp
mov rax, rdi
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140072ef0
mov rbx, qword [rsp + 0xc0]
add rsp, 0x90
pop rdi
pop rsi
pop rbp
ret
call fcn.1400a01c4
nop
call fcn.1400a01c4
int3
Function at 0x14002fe80
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x280
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140124190]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rdi, rcx
mov qword [rsp + 0x50], rcx
xor esi, esi
mov dword [rsp + 0x20], esi
mov qword [rcx], rsi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rsi
mov dword [rsp + 0x20], 1
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call fcn.1400972d0
lea rdx, [rsp + 0x60]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
dec eax
cmp eax, 0x103
ja 0x14002ffdc
lea rbx, [rsp + 0x60]
cmp word [rsp + 0x60], si
je 0x14002ffdc
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], si
mov qword [rsp + 0x38], 2
mov r8d, 4
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140096e70
mov word [rsp + 0x2c], si
mov rdx, qword [rdi + 8]
cmp qword [rdi + 0x10], rdx
je 0x14002ff69
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rdx + 0x10], xmm1
mov edx, 7
mov word [rsp + 0x28], si
add qword [rdi + 8], 0x20
jmp 0x14002ff7b
lea r8, [rsp + 0x28]
mov rcx, rdi
call fcn.1400314a0
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x14002ffb4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ffaf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030004
call fcn.140072f50
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x14002ffc0
lea rbx, [rbx + rax*2]
add rbx, 2
cmp word [rbx], 0
jmp 0x14002ff08
mov rax, rdi
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140072ef0
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
call fcn.1400a01c4
int3
Function at 0x140037350
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
push rbp
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rdi, rcx
mov qword [rbp - 8], rcx
mov byte [rbp - 0x60], 0
mov byte [rbp - 0x5f], 0x6d
mov byte [rbp - 0x5e], 6
mov byte [rbp - 0x5d], 0x74
mov byte [rbp - 0x5c], 6
mov byte [rbp - 0x5b], 0x50
mov byte [rbp - 0x5a], 6
mov byte [rbp - 0x59], 0xe
mov byte [rbp - 0x58], 6
mov byte [rbp - 0x57], 0x41
mov byte [rbp - 0x56], 6
mov byte [rbp - 0x55], 0x37
mov byte [rbp - 0x54], 6
mov byte [rbp - 0x53], 0x22
mov byte [rbp - 0x52], 6
mov byte [rbp - 0x51], 0x54
mov byte [rbp - 0x50], 6
mov byte [rbp - 0x4f], 0x37
mov byte [rbp - 0x4e], 6
mov byte [rbp - 0x4d], 0x47
mov byte [rbp - 0x4c], 6
mov byte [rbp - 0x4b], 0x4c
mov byte [rbp - 0x4a], 6
mov byte [rbp - 0x49], 0x2e
mov byte [rbp - 0x48], 6
mov byte [rbp - 0x47], 0x5c
mov byte [rbp - 0x46], 6
mov byte [rbp - 0x45], 0x47
mov byte [rbp - 0x44], 6
mov byte [rbp - 0x43], 0x66
mov byte [rbp - 0x42], 6
mov byte [rbp - 0x41], 0x15
mov byte [rbp - 0x40], 6
mov byte [rbp - 0x3f], 0x12
mov byte [rbp - 0x3e], 6
mov byte [rbp - 0x3d], 0x61
mov byte [rbp - 0x3c], 6
mov byte [rbp - 0x3b], 0x57
mov byte [rbp - 0x3a], 6
mov byte [rbp - 0x39], 0x61
mov byte [rbp - 0x38], 6
mov byte [rbp - 0x37], 6
mov byte [rbp - 0x36], 6
movzx eax, byte [rbp - 0x5f]
movzx eax, byte [rbp - 0x60]
xor esi, esi
test al, al
jne 0x140037495
mov r9d, esi
nop word [rax + rax]
movzx ecx, byte [rbp + r9 - 0x5f]
sub ecx, 6
imul r8d, ecx, 0x19
mov eax, 0x81020409
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
add r8d, 0x7f
mov eax, 0x81020409
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rbp + r9 - 0x5f], r8b
inc r9
cmp r9, 0x2a
jb 0x140037440
movdqa xmm0, xmmword [0x1401057a0]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x30], si
lea rax, [rbp - 0x5f]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], si
jne 0x1400374b1
lea rcx, [rbp - 0x30]
cmp rdx, 7
ja 0x1400374df
mov qword [rbp - 0x20], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp - 0x5f]
call fcn.140096e70
mov word [rbp + rbx - 0x30], si
jmp 0x1400374e9
lea r9, [rbp - 0x5f]
call fcn.14002d400
nop
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.140040030
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140037532
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003752d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003754e
call fcn.140072f50
mov rax, rdi
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.1400a01c4
int3