joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14008cd70
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [0x1403abdec]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
jne 0x14008cdc2
lea ecx, [rax + 0x10]
mov qword [rsp + 0x20], rbx
call fcn.140012670
mov rbx, rax
test rax, rax
je 0x14008cda8
mov byte [rax], 5
xor eax, eax
mov qword [rbx + 4], rax
mov dword [rbx + 0xc], eax
jmp 0x14008cdab
mov rbx, rax
mov ecx, dword [0x1403abdec]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rax, rbx
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
ret

Function at 0x14008f370
Capabilities:
Decode data using base64 via dword translation table

Disassembly:
push rbx
mov rbx, r8
mov r10d, edx
mov r9, rcx
test edx, edx
je 0x14008f393
nop
lea ecx, [r10 - 1]
cmp word [r9 + rcx*2], 0x3d
jne 0x14008f393
mov r10d, ecx
test ecx, ecx
jne 0x14008f380
mov eax, r10d
mov qword [rsp + 0x10], rsi
and al, 3
mov qword [rsp + 0x18], rdi
cmp al, 1
je 0x14008f479
xor edx, edx
lea rsi, [0x140278a00]
mov edi, 0x100
cmp r10d, 4
jb 0x14008f410
nop
mov eax, edx
mov r11d, edx
movzx ecx, word [r9]
add r9, 2
cmp cx, di
jae 0x14008f479
movzx r8d, byte [rcx + rsi]
cmp r8b, 0xff
je 0x14008f479
shl eax, 6
inc r11d
or eax, r8d
cmp r11d, 4
jl 0x14008f3c5
mov byte [rbx + 2], al
add r10d, 0xfffffffc
shr eax, 8
mov byte [rbx + 1], al
shr eax, 8
mov byte [rbx], al
add rbx, 3
cmp r10d, 4
jae 0x14008f3c0
test r10d, r10d
je 0x14008f46b
mov r8d, edx
nop dword [rax + rax]
movzx eax, word [r9]
lea r9, [r9 + 2]
cmp ax, di
jae 0x14008f479
movzx ecx, byte [rax + rsi]
cmp cl, 0xff
je 0x14008f479
shl edx, 6
inc r8d
or edx, ecx
cmp r8d, r10d
jb 0x14008f420
cmp r10d, 4
jge 0x14008f45a
mov ecx, 4
sub ecx, r10d
shl edx, 6
sub rcx, 1
jne 0x14008f451
shr edx, 8
cmp r10d, 3
jb 0x14008f466
mov byte [rbx + 1], dl
shr edx, 8
mov byte [rbx], dl
mov al, 1
mov rdi, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x10]
pop rbx
ret
mov rdi, qword [rsp + 0x18]
xor al, al
mov rsi, qword [rsp + 0x10]
pop rbx
ret
Function at 0x14008fdf0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
lea rsi, [0x1402789c0]
mov rbx, r8
mov r11d, edx
mov r10, rcx
mov r9, r8
cmp edx, 3
jb 0x14008fe9a
mov eax, 0xaaaaaaab
mov qword [rsp + 0x10], rdi
mul r11d
shr edx, 1
mov edi, edx
movzx ecx, byte [r10 + 1]
add r11d, 0xfffffffd
movzx r8d, byte [r10]
movzx edx, byte [r10 + 2]
add r10, 3
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov eax, r8d
shr r8d, 6
and eax, 0x3f
mov ecx, r8d
shr rcx, 6
movzx eax, byte [rax + rsi]
mov word [r9 + 6], ax
mov eax, r8d
and eax, 0x3f
movzx eax, byte [rax + rsi]
mov word [r9 + 4], ax
mov rax, rcx
and eax, 0x3f
shr rcx, 6
movzx eax, byte [rax + rsi]
mov word [r9 + 2], ax
movzx eax, byte [rcx + rsi]
mov word [r9], ax
add r9, 8
sub rdi, 1
jne 0x14008fe23
mov rdi, qword [rsp + 0x10]
test r11d, r11d
je 0x14008ff03
movzx ecx, byte [r10]
xor al, al
cmp r11d, 2
jne 0x14008feb0
movzx eax, byte [r10 + 1]
shl ecx, 8
mov r8d, 0x3d
movzx eax, al
or ecx, eax
mov word [r9 + 6], r8w
shl ecx, 8
shr ecx, 6
mov edx, ecx
cmp r11d, 1
je 0x14008fedb
mov eax, ecx
and eax, 0x3f
movzx r8d, byte [rax + rsi]
mov word [r9 + 4], r8w
shr rdx, 6
mov rax, rdx
shr rdx, 6
and eax, 0x3f
movzx eax, byte [rax + rsi]
mov word [r9 + 2], ax
movzx eax, byte [rdx + rsi]
mov word [r9], ax
add r9, 8
xor eax, eax
mov word [r9], ax
sub r9, rbx
mov rbx, qword [rsp + 0x18]
sar r9, 1
mov eax, r9d
pop rsi
ret
Function at 0x140091fb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push r14
sub rsp, 0x58
mov r14, rdx
mov rsi, rcx
cmp rcx, rdx
je 0x14009219f
mov qword [rsp + 0x50], rbx
mov r9d, 4
mov qword [rsp + 0x48], rbp
lea rbx, [rcx + 0x38]
mov qword [rsp + 0x40], rdi
mov rcx, rbx
movsxd rdi, dword [rdx + 0x48]
xor edx, edx
mov r8d, edi
mov qword [rsp + 0x28], r15
call fcn.14001bff0
mov rax, qword [r14 + 0x40]
lea rdx, [r14 + 0x38]
mov r9, qword [rbx + 8]
mov r8, rdi
shl r8, 2
test rax, rax
cmovne rdx, rax
test r9, r9
cmovne rbx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov dword [rsi + 0x48], edi
mov rcx, rsi
movsxd rbx, dword [r14 + 8]
mov edx, ebx
call fcn.140070660
mov edx, dword [rsi + 8]
lea eax, [rdx + rbx]
mov dword [rsi + 8], eax
cmp eax, dword [rsi + 0xc]
jle 0x14009204a
mov rcx, rsi
call fcn.140082dd0
mov eax, dword [r14 + 0x30]
lea r15, [r14 + 0x10]
lea rcx, [rsi + 0x10]
mov dword [rsi + 0x30], eax
mov eax, dword [r14 + 0x34]
mov dword [rsi + 0x34], eax
cmp rcx, r15
je 0x14009206d
mov rdx, r15
call fcn.1400237a0
mov rax, qword [r14]
xor ebp, ebp
mov rcx, qword [rsi]
mov r14, rbx
test ebx, ebx
jle 0x14009219a
sub rax, rcx
mov qword [rsp + 0x38], r12
lea rbx, [rcx + 0x1c]
mov qword [rsp + 0x30], r13
lea edi, [rbp + 1]
lea rcx, [rax - 0xc]
mov qword [rsp + 0x78], rcx
lea r12, [rax - 0x18]
mov rsi, qword [rsp + 0x78]
lea rcx, [rax + 0x44]
mov qword [rsp + 0x80], rcx
lea r13, [rax - 0x1c]
lea rcx, [rax + 0x48]
mov qword [rsp + 0x88], rcx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r15 + 0x10]
lea rdx, [rbx + r13]
test rax, rax
lea rcx, [rbx - 0x1c]
mov r8, r15
cmovne r8, rax
mov eax, ebp
test ebp, ebp
jns 0x1400920ef
lea eax, [rbp + 0x1f]
sar eax, 5
cdqe
test dword [r8 + rax*4], edi
je 0x140092152
call fcn.14001e130
xor eax, eax
mov dword [rbx + 0x20], 0x80
lea rcx, [rbx - 0xc]
mov qword [rbx - 4], rax
lea rdx, [rsi + rbx]
mov qword [rcx], rax
mov qword [rbx + 0x14], rax
mov dword [rbx + 0x1c], eax
mov dword [rbx + 0x28], eax
mov qword [rbx + 0x34], rax
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x24], 0xffffffff
call fcn.140026400
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + rbx]
mov dword [rbx + 0x44], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + rbx]
mov dword [rbx + 0x48], eax
jmp 0x14009215d
mov eax, dword [rdx]
mov dword [rcx], eax
mov eax, dword [rbx + r12]
mov dword [rbx - 0x18], eax
inc ebp
rol edi, 1
add rbx, 0x68
sub r14, 1
jne 0x1400920d0
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x28]
add rsp, 0x58
pop r14
pop rsi
ret
mov rax, rsi
jmp 0x14009217e
mov rax, rsi
add rsp, 0x58
pop r14
pop rsi
ret
Function at 0x1400a0970
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
lea r9d, [rcx + 3]
mov ebx, edx
and r9d, 0xfffffffc
lea rsi, [0x14034d6d0]
sub r9d, ecx
mov r11, rcx
not r8d
cmp edx, r9d
jle 0x1400a0a87
sub ebx, r9d
mov qword [rsp + 0x10], rdi
test r9d, r9d
je 0x1400a09d1
nop word [rax + rax]
movzx eax, byte [r11]
inc r11
movzx ecx, r8b
xor rcx, rax
mov eax, r8d
shr eax, 8
mov r8d, dword [rsi + rcx*4]
xor r8d, eax
sub r9d, 1
jne 0x1400a09b0
mov eax, ebx
cdq
and edx, 7
add eax, edx
mov edi, eax
and eax, 7
sub eax, edx
sar edi, 3
mov ebx, eax
test edi, edi
je 0x1400a0a82
nop dword [rax]
mov r10d, dword [r11 + 4]
mov ecx, dword [r11]
add r11, 8
xor ecx, r8d
mov r9d, ecx
mov eax, ecx
shr rax, 0x10
movzx edx, al
mov eax, ecx
shr rax, 8
movzx ecx, al
mov eax, r10d
mov r8d, dword [rsi + rdx*4 + 0x1400]
shr rax, 0x10
xor r8d, dword [rsi + rcx*4 + 0x1800]
movzx ecx, al
mov eax, r10d
shr rax, 8
xor r8d, dword [rsi + rcx*4 + 0x400]
movzx ecx, al
mov eax, r9d
shr rax, 0x18
xor r8d, dword [rsi + rcx*4 + 0x800]
xor r8d, dword [rsi + rax*4 + 0x1000]
mov eax, r10d
shr rax, 0x18
xor r8d, dword [rsi + rax*4]
movzx eax, r9b
xor r8d, dword [rsi + rax*4 + 0x1c00]
movzx eax, r10b
xor r8d, dword [rsi + rax*4 + 0xc00]
add edi, 0xffffffff
jne 0x1400a09f0
mov rdi, qword [rsp + 0x10]
test ebx, ebx
je 0x1400a0ab1
nop dword [rax + rax]
movzx eax, byte [r11]
lea r11, [r11 + 1]
movzx ecx, r8b
xor rcx, rax
mov eax, r8d
shr eax, 8
mov r8d, dword [rsi + rcx*4]
xor r8d, eax
sub ebx, 1
jne 0x1400a0a90
mov rbx, qword [rsp + 0x18]
not r8d
mov eax, r8d
pop rsi
ret

Function at 0x1400ab520
Capabilities:
Hash data using sha1

Disassembly:
mov dword [rcx], 0x67452301
mov rax, rcx
mov dword [rcx + 4], 0xefcdab89
mov dword [rcx + 8], 0x98badcfe
mov dword [rcx + 0xc], 0x10325476
mov dword [rcx + 0x10], 0xc3d2e1f0
mov qword [rcx + 0x18], 0
ret

Function at 0x1400abb80
Capabilities:
Hash data using sha1

Disassembly:
mov dword [rcx], 0x67452301
mov dword [rcx + 4], 0xefcdab89
mov dword [rcx + 8], 0x98badcfe
mov dword [rcx + 0xc], 0x10325476
mov dword [rcx + 0x10], 0xc3d2e1f0
mov qword [rcx + 0x18], 0
ret

Function at 0x1400b2120
Capabilities:
Hash data using sha1

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0xc0
mov rax, qword [0x14035d6e8]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x20], 0x67452301
mov rsi, r8
mov dword [rsp + 0x24], 0xefcdab89
mov rbx, rdx
mov dword [rsp + 0x28], 0x98badcfe
mov rdi, rcx
mov dword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x30], 0xc3d2e1f0
mov qword [rsp + 0x38], 0
test rdx, rdx
je 0x1400b21b4
mov qword [rsp + 0x38], rdx
cmp rdx, 0x40
jb 0x1400b21a4
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.1400ba490
mov rax, rbx
and rax, 0xffffffffffffffc0
add rdi, rax
and ebx, 0x3f
mov r8, rbx
lea rcx, [rsp + 0x44]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsp + 0x20]
call fcn.1400af580
movups xmm0, xmmword [rsp + 0x84]
mov eax, dword [rsp + 0x94]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x10], eax
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14024f8b0
add rsp, 0xc0
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400c8390
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x30
xor r15d, r15d
mov rdi, rcx
mov qword [rcx + 8], r15
mov dword [rcx], r15d
mov dword [rcx + 0x10], r15d
mov qword [rcx + 0x18], r15
mov qword [rcx + 0x20], r15
mov qword [rcx + 0x40], r15
mov dword [rcx + 0x58], r15d
mov dword [rcx + 0x9470], r15d
mov qword [rcx + 0x28], r15
mov dword [rcx + 0x30], r15d
mov qword [rcx + 0x38], r15
mov qword [rcx + 0x48], r15
mov qword [rcx + 0x50], r15
add rcx, 0xb4b0
call fcn.140025320
xor r9d, r9d
mov qword [rdi + 0xb520], r15
xor r8d, r8d
lea edx, [r15 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
xor r9d, r9d
lea edx, [r15 + 1]
xor r8d, r8d
mov qword [rdi + 0x18], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
lea rcx, [0x1400d1620]
mov qword [rdi + 0x20], rax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov r9, rdi
mov qword [rsp + 0x28], rdi
lea r8, [0x1400ccf20]
mov dword [rsp + 0x20], r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 8], rax
test rax, rax
je 0x1400c8464
lea edx, [r15 - 1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
cmp qword [rdi + 0x40], r15
je 0x1400c8473
mov eax, dword [rdi + 0x58]
mov dword [0x14036afa4], eax
call fcn.14009d6c0
xor r8d, r8d
xor ecx, ecx
mov rbp, rax
lea edx, [r8 + 0x30]
call fcn.1400580b0
mov rbx, rax
mov r14d, 3
test rax, rax
je 0x1400c84c3
lea rax, [0x140263eb8]
mov qword [rbx], rax
call fcn.140022fa0
mov qword [rbx + 0x10], rax
lea rax, [0x140268b48]
mov qword [rbx], rax
lea rax, [0x1400ce910]
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x18], rdi
mov rsi, rbx
test rbx, rbx
je 0x1400c8517
mov dl, 1
mov rcx, rbp
call fcn.140014970
mov rax, qword [rbx]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [rax + 0x38]
movsxd rsi, dword [rbp + 8]
lea eax, [rsi + 1]
mov dword [rbp + 8], eax
cmp eax, dword [rbp + 0xc]
jle 0x1400c84fc
mov edx, esi
mov rcx, rbp
call fcn.14001c1b0
mov rax, rsi
mov rsi, r15
shl rax, 4
add rax, qword [rbp]
mov qword [rax], rbx
mov rbx, r15
mov dword [rax + 8], r14d
mov r14d, r15d
test r14d, r14d
mov rcx, rsi
cmove rcx, r15
test rcx, rcx
je 0x1400c8537
mov rax, qword [rcx]
xor edx, edx
call qword [rax]
test rsi, rsi
je 0x1400c855b
mov rcx, rsi
jmp 0x1400c854e
test r14d, r14d
je 0x1400c855b
test rbx, rbx
je 0x1400c8568
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax]
mov rcx, rbx
xor r8d, r8d
xor edx, edx
call fcn.1400580b0
mov rbx, rax
test rbx, rbx
je 0x1400c8568
mov rcx, rbx
call fcn.14004db90
mov rbx, qword [rsp + 0x58]
mov rax, rdi
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
Function at 0x1400cb870
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rsi
push r12
push r13
sub rsp, 0x28
mov qword [rsp + 0x58], rdi
mov r12, rdx
mov qword [rsp + 0x60], r14
mov rsi, rcx
mov qword [rsp + 0x20], r15
call fcn.14002cc70
mov r14, rax
call fcn.1400d3680
mov r8, qword [rsi]
xor r13d, r13d
mov rdi, 0xffffffffffffffff
mov r15, rax
mov rdx, rdi
mov r9, qword [r8]
mov word [r9], r13w
mov r8, qword [rsi]
mov rcx, qword [r8]
nop dword [rax]
inc rdx
cmp word [rcx + rdx*2], r13w
jne 0x1400cb8c0
mov r8d, dword [rsi + 8]
movsxd rax, edx
mov qword [rsp + 0x50], rbx
lea rbp, [rcx + rax*2]
mov eax, r8d
sub eax, edx
test eax, eax
jle 0x1400cb906
movsxd rbx, eax
mov rdx, r14
mov rcx, rbp
lea r8, [rbx - 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rbp + rbx*2 - 2], r13w
mov rax, qword [rsi]
mov r8d, dword [rsi + 8]
mov rcx, qword [rax]
mov r14, qword [rsp + 0x60]
mov rdx, rdi
nop
inc rdx
cmp word [rcx + rdx*2], r13w
jne 0x1400cb910
movsxd rax, edx
lea rbp, [rcx + rax*2]
mov eax, r8d
sub eax, edx
test eax, eax
jle 0x1400cb951
movsxd rbx, eax
lea rdx, str.Binaries_
mov rcx, rbp
lea r8, [rbx - 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rbp + rbx*2 - 2], r13w
mov rax, qword [rsi]
mov r8d, dword [rsi + 8]
mov rcx, qword [rax]
mov rdx, rdi
inc rdx
cmp word [rcx + rdx*2], r13w
jne 0x1400cb954
movsxd rax, edx
lea rbp, [rcx + rax*2]
mov eax, r8d
sub eax, edx
test eax, eax
jle 0x1400cb991
movsxd rbx, eax
mov rdx, r15
mov rcx, rbp
lea r8, [rbx - 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rbp + rbx*2 - 2], r13w
mov rax, qword [rsi]
mov r8d, dword [rsi + 8]
mov rcx, qword [rax]
mov r15, qword [rsp + 0x20]
mov rdx, rdi
nop dword [rax]
inc rdx
cmp word [rcx + rdx*2], r13w
jne 0x1400cb9a0
movsxd rax, edx
lea rbp, [rcx + rax*2]
mov eax, r8d
sub eax, edx
test eax, eax
jle 0x1400cb9e1
movsxd rbx, eax
lea rdx, [0x14026fbb0]
mov rcx, rbp
lea r8, [rbx - 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rbp + rbx*2 - 2], r13w
mov rax, qword [rsi]
mov r8d, dword [rsi + 8]
mov rcx, qword [rax]
inc rdi
cmp word [rcx + rdi*2], r13w
jne 0x1400cb9e1
movsxd rax, edi
sub r8d, edi
mov rdi, qword [rsp + 0x58]
lea rbp, [rcx + rax*2]
test r8d, r8d
jle 0x1400cba1e
movsxd rbx, r8d
mov rdx, r12
mov rcx, rbp
lea r8, [rbx - 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rbp + rbx*2 - 2], r13w
mov rax, qword [rsi]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rbx, qword [rsp + 0x50]
cmp eax, 0xffffffff
setne al
add rsp, 0x28
pop r13
pop r12
pop rsi
pop rbp
ret
Function at 0x1400d16e0
Capabilities:
Create process memory minidump

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov rbx, r9
mov rdi, r8
mov ebp, edx
mov r14, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor esi, esi
mov qword [rsp + 0x30], 0
cmp r14, rax
mov dword [rsp + 0x28], 0x80
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
setne sil
mov rcx, rbx
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x1400d174f
xor al, al
jmp 0x1400d17fa
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x64], rax
mov eax, dword [rdi + 0x54]
add eax, eax
mov dword [rsp + 0x60], ebp
cmp dword [rdi + 0x50], 0
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x50], 0x10000
mov dword [rsp + 0x54], eax
je 0x1400d1781
mov rax, qword [rdi + 0x48]
jmp 0x1400d1788
lea rax, [0x140264588]
mov qword [rsp + 0x58], rax
mov rcx, rdi
lea rax, [rsp + 0x50]
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x44], rax
call fcn.1400335d0
xor ebx, ebx
mov ecx, 0x1826
test al, al
cmovne ebx, ecx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcessId]
mov qword [rsp + 0x30], 0
mov r9d, ebx
mov edx, eax
mov r8, r15
lea rax, [rsp + 0x40]
mov rcx, r14
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call sub.dbghelp.dll_MiniDumpWriteDump
mov rcx, r15
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp ebx, 1
sete al
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret

Function at 0x1400d1820
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
lea rax, [0x14027f688]
mov qword [rcx + 8], rdx
mov qword [rcx], rax
mov r10, rdx
xor eax, eax
mov dword [rcx + 0x40], r8d
mov qword [rcx + 0x30], rax
mov rbx, rcx
mov qword [rcx + 0x38], rax
mov eax, dword [rsp + 0x50]
mov dword [rcx + 0x48], eax
lea rax, [rdx - 1]
mov dword [rcx + 0x44], r9d
cmp rax, 0xfffffffffffffffd
ja 0x1400d1874
lea rdx, [rsp + 0x30]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x38], rax
xorps xmm0, xmm0
mov rax, rbx
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
add rsp, 0x20
pop rbx
ret
Function at 0x1400d1e30
Capabilities:
Get common file path

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword gs:[0x58]
mov ecx, dword [0x1404415e8]
mov edx, 0x1c
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x140418a48], eax
jg 0x1400d201b
mov ecx, dword [0x140418a40]
test ecx, ecx
je 0x1400d1e75
lea eax, [rcx - 1]
test eax, eax
jne 0x1400d2004
lea r9, [rbp + 0x10]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1402fde00]
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
js 0x1400d1ffe
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x68], rdi
mov rdi, qword [rbp + 0x10]
mov qword [rsp + 0x60], r14
xor r14d, r14d
mov qword [rbp - 0x30], r14
mov edx, r14d
mov dword [rbp - 0x28], edx
mov ecx, r14d
mov dword [rbp - 0x24], ecx
test rdi, rdi
je 0x1400d1f19
cmp word [rdi], cx
je 0x1400d1f19
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rdi + rbx*2], cx
jne 0x1400d1ed4
inc ebx
test ebx, ebx
jle 0x1400d1ef4
mov edx, ebx
lea rcx, [rbp - 0x30]
call fcn.14001c970
mov ecx, dword [rbp - 0x24]
mov edx, dword [rbp - 0x28]
lea eax, [rbx + rdx]
mov dword [rbp - 0x28], eax
cmp eax, ecx
jle 0x1400d1f07
lea rcx, [rbp - 0x30]
call fcn.14001c580
mov rcx, qword [rbp - 0x30]
mov rdx, rdi
movsxd r8, ebx
add r8, r8
call fcn.140034a80
lea r9, [0x14026fbb0]
mov dword [rsp + 0x20], 1
lea r8, [0x140265790]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x30]
call fcn.1400217f0
mov rcx, qword [rax]
mov r8d, dword [rax + 8]
mov qword [rax], r14
mov qword [rbp - 0x40], rcx
mov ecx, dword [rax + 0xc]
mov qword [rax + 8], r14
mov eax, r8d
neg eax
mov dword [rbp - 0x38], r8d
mov dword [rbp - 0x34], ecx
sbb edx, edx
add edx, 7
add edx, r8d
cmp edx, ecx
jle 0x1400d1f72
lea rcx, [rbp - 0x40]
call fcn.14001c970
mov r8d, 6
lea rdx, str._Epic_
lea rcx, [rbp - 0x40]
call fcn.14001ed50
mov rcx, qword [0x140418a38]
mov rsi, qword [rbp - 0x40]
mov ebx, dword [rbp - 0x38]
mov edi, dword [rbp - 0x34]
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
mov r14, qword [rsp + 0x60]
test rcx, rcx
je 0x1400d1fb0
call fcn.14004db90
mov rcx, qword [rbp - 0x20]
mov qword [0x140418a38], rsi
mov rsi, qword [rsp + 0x90]
mov dword [0x140418a40], ebx
mov rbx, qword [rsp + 0x88]
mov dword [0x140418a44], edi
mov rdi, qword [rsp + 0x68]
test rcx, rcx
je 0x1400d1fe6
call fcn.14004db90
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1400d1ff4
call fcn.14004db90
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [0x140418a40]
test ecx, ecx
lea rax, [0x140264588]
cmovne rax, qword [0x140418a38]
add rsp, 0x70
pop rbp
ret
lea rcx, [0x140418a48]
call fcn.14024f710
cmp dword [0x140418a48], 0xffffffff
jne 0x1400d1e60
lea rcx, [0x1402604c0]
call fcn.14024f570
lea rcx, [0x140418a48]
call fcn.14024f6b0
jmp 0x1400d1e60
Function at 0x1400d2700
Capabilities:
Resume thread
Suspend thread

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x538
mov rax, qword [0x14035d6e8]
xor rax, rsp
mov qword [rsp + 0x520], rax
call fcn.1400d7820
cmp qword [rsp + 0x548], 0
je 0x1400d2742
cmp dword [rsp + 0x550], 0
jne 0x1400d2749
xor eax, eax
jmp 0x1400d27ed
mov r8d, dword [rsp + 0x540]
xor edx, edx
mov ecx, 0x1b
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x1400d276f
xor eax, eax
jmp 0x1400d27ed
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
lea rcx, [rsp + 0x30]
call fcn.1400d1890
mov dword [rsp + 0x70], 0x100001
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x510], rax
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x1400d27d3
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x30]
mov edx, dword [rsp + 0x550]
mov rcx, qword [rsp + 0x548]
call fcn.1400d24f0
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x520]
xor rcx, rsp
call fcn.14024f8b0
add rsp, 0x538
ret
Function at 0x1400d3820
Capabilities:
Get memory capacity
Get system information on windows

Disassembly:
mov r11, rsp
sub rsp, 0xa8
mov rax, qword [0x14035d6e8]
xor rax, rsp
mov qword [rsp + 0x90], rax
cmp qword [0x140359020], 0
jne 0x1400d396c
xorps xmm0, xmm0
mov qword [r11 + 8], rbx
movups xmmword [rsp + 0x50], xmm0
mov qword [r11 + 0x10], rsi
lea rcx, [r11 - 0x58]
mov qword [r11 - 8], rdi
mov edi, 0x40
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [r11 - 0x28], xmm0
mov dword [rsp + 0x50], edi
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rbx, qword [rsp + 0x58]
mov r9d, 0x3f
mov ecx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x78]
mov qword [0x140359028], rax
mov eax, dword [rsp + 0x24]
mov qword [0x140359048], rax
mov qword [0x140359030], rax
lea rax, [rbx - 1]
mov qword [0x140359040], rcx
mov qword [0x140359038], rcx
bsr r10, rbx
mov qword [0x140359020], rbx
setne r11b
bsr rcx, rax
mov eax, r9d
setne r8b
sub eax, ecx
mov ecx, eax
xor esi, esi
test r8b, r8b
mov eax, edi
mov edx, esi
cmovne eax, esi
cmovne edx, ecx
or dl, al
sub r9d, r10d
sub dil, dl
mov eax, r9d
test r11b, r11b
mov ecx, esi
mov edx, 1
cmovne ecx, eax
mov eax, 0xffffffff
cmovne eax, esi
mov rsi, qword [rsp + 0xb8]
or rcx, rax
lea rax, [rbx + 0x3fffffff]
mov rbx, qword [rsp + 0xb0]
shl rcx, 0x39
sar rcx, 0x3f
not cl
and cl, dil
mov rdi, qword [rsp + 0xa0]
shl rdx, cl
shr rax, 0x1e
mov dword [0x140359058], eax
mov qword [0x140359050], rdx
lea rax, [0x140359020]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14024f8b0
add rsp, 0xa8
ret