joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140038750
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0xa80
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0xa70], rax
xor ebp, ebp
cmp qword [r8 + 0x20], 8
mov rbx, r8
mov qword [rsp + 0x50], rbp
jb 0x14003878f
mov rdx, qword [r8 + 8]
lea rdi, [r8 + 8]
jmp 0x140038796
lea rdi, [r8 + 8]
mov rdx, rdi
lea rax, [rsp + 0x50]
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0xa90], rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14003892b
lea rcx, [rsp + 0x62]
xor edx, edx
mov r8d, 0x206
mov esi, ebp
mov word [rsp + 0x60], bp
call fcn.1400ad2f0
lea rcx, [rsp + 0x272]
xor edx, edx
mov r8d, 0x7fe
mov dword [rsp + 0x44], 0x104
mov dword [rsp + 0x48], ebp
mov word [rsp + 0x270], bp
call fcn.1400ad2f0
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x270]
lea r9, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x48]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x28], rax
xor edx, edx
mov dword [rsp + 0x40], 0x400
mov qword [rsp + 0x20], rbp
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x140038920
inc esi
cmp dword [rsp + 0x48], 1
jne 0x1400388a4
cmp dword [rsp + 0x44], ebp
jbe 0x1400388a4
cmp dword [rsp + 0x40], 3
jbe 0x1400388a4
lea rdx, [rsp + 0x60]
lea rcx, str.PnpInstanceID
call fcn.1400af0e8
test eax, eax
jne 0x1400388a4
lea rdx, [rsp + 0x270]
lea rcx, [0x1400fca20]
mov word [rsp + 0x276], bp
call fcn.1400af0e8
test eax, eax
je 0x140038978
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x208
call fcn.1400ad2f0
lea rcx, [rsp + 0x270]
xor edx, edx
mov r8d, 0x800
call fcn.1400ad2f0
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x270]
lea r9, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x48]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov edx, esi
mov dword [rsp + 0x44], 0x104
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x40], 0x400
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x140038855
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp qword [rbx + 0x20], 8
jb 0x14003893a
mov rcx, qword [rdi]
call fcn.1400ad0b8
xor al, al
mov rsi, qword [rsp + 0xa90]
mov qword [rbx + 0x20], 7
mov qword [rbx + 0x18], rbp
mov word [rdi], bp
mov rcx, qword [rsp + 0xa70]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0xa80]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp qword [rbx + 0x20], 8
jb 0x140038992
mov rcx, qword [rdi]
call fcn.1400ad0b8
mov al, 1
jmp 0x14003893c
Function at 0x14003e980
Capabilities:
Get storage device properties

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0xba0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0xb90], rax
mov rbp, rdx
xor dil, dil
xor r12d, r12d
mov ebx, r12d
nop dword [rax]
test dil, dil
jne 0x14003eb92
xor edx, edx
mov r8d, 0x200
lea rcx, [rsp + 0x190]
call fcn.1400ad2f0
mov r9d, ebx
lea r8, str..PhysicalDrive_d
mov edx, 0xff
lea rcx, [rsp + 0x190]
call fcn.14003f130
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 3]
lea rcx, [rsp + 0x190]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14003eb82
mov dword [rsp + 0x40], r12d
xor eax, eax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x7c], r12d
xor edx, edx
mov r8d, 0x800
lea rcx, [rsp + 0x390]
call fcn.1400ad2f0
mov qword [rsp + 0x38], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x800
lea rax, [rsp + 0x390]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rsp + 0x78]
mov edx, 0x2d1400
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14003eb73
xor edx, edx
mov r8d, 0xff
lea rcx, [rsp + 0x91]
call fcn.1400ad2f0
xor cl, cl
mov byte [rsp + 0x90], cl
mov edx, dword [rsp + 0x3a8]
test edx, edx
jle 0x14003eaed
lea r8, [rsp + 0x90]
lea rcx, [rsp + 0x390]
call fcn.14003ebc0
movzx ecx, byte [rsp + 0x90]
movsx ecx, cl
call fcn.1400adc5c
test eax, eax
jne 0x14003eb0a
movsx ecx, byte [rsp + 0xa3]
call fcn.1400adc5c
test eax, eax
je 0x14003eb79
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r12
mov byte [rsp + 0x50], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x90]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x48]
call fcn.140004cb0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x48]
mov rcx, rbp
call fcn.140003ab0
nop
cmp qword [rsp + 0x68], 0x10
jb 0x14003eb6e
mov rcx, qword [rsp + 0x50]
call fcn.1400ad0b8
mov dil, 1
jmp 0x14003eb79
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc ebx
cmp ebx, 0x10
jl 0x14003e9c0
mov al, dil
jmp 0x14003eb95
mov al, dil
mov rcx, qword [rsp + 0xb90]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0xba0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret
Function at 0x140049bd0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x70
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp byte [rcx + 0x30], 0
mov rbx, rcx
je 0x140049c03
xor al, al
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400ad2c0
add rsp, 0x70
pop rbx
ret
cmp byte [rcx + 0x31], 0
jne 0x140049c81
lea rax, [rsp + 0x30]
mov byte [rcx + 0x31], 1
xor ecx, ecx
mov qword [rsp + 0x28], rax
lea r8, [0x140049bc0]
mov r9, rbx
xor edx, edx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x30], ecx
call fcn.1400b3c9c
mov qword [rbx + 0x28], rax
test rax, rax
je 0x140049bee
cmp qword [rbx + 0x18], 0
je 0x140049c81
lea rcx, [rsp + 0x38]
xor r8d, r8d
mov rdx, rbx
call fcn.14004ead0
cmp qword [rsp + 0x58], 0x10
mov edx, dword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rcx, rbx
cmovae r8, qword [rsp + 0x40]
call fcn.14004a180
cmp qword [rsp + 0x58], 0x10
jb 0x140049c81
mov rcx, qword [rsp + 0x40]
call fcn.1400ad0b8
mov al, 1
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400ad2c0
add rsp, 0x70
pop rbx
ret

Function at 0x14004d710
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rsi, rcx
mov rcx, qword [rcx]
mov rbx, rdx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor edi, edi
cmp qword [rbx + 0x20], 0x10
mov dword [rsp + 0x48], edi
jb 0x14004d752
mov rdx, qword [rbx + 8]
jmp 0x14004d756
lea rdx, [rbx + 8]
mov r8d, dword [rbx + 0x18]
mov rcx, qword [rsi]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r11d, dword [rsp + 0x48]
cmp r11, qword [rbx + 0x18]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
sete dil
mov eax, edi
add rsp, 0x30
pop rdi
ret
Function at 0x14004d970
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rbx, rcx
mov rcx, qword [rcx]
xor ebp, ebp
mov rsi, rdx
test rcx, rcx
je 0x14004d99d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], rbp
cmp qword [rbx + 0x38], 8
jb 0x14004d9aa
mov rcx, qword [rbx + 0x20]
jmp 0x14004d9ae
lea rcx, [rbx + 0x20]
mov qword [rsp + 0x30], rbp
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14004da65
cmp qword [rbx + 8], rbp
jne 0x14004da09
lea rdx, [rsp + 0x50]
mov rcx, rax
mov dword [rsp + 0x50], ebp
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [rsp + 0x50]
mov dword [rbx + 0xc], ecx
mov dword [rbx + 0x14], ecx
mov dword [rbx + 8], eax
mov dword [rbx + 0x10], eax
add qword [rbx + 0x10], rsi
mov rcx, qword [rbx + 0x10]
mov rax, rcx
cqo
and edx, 0x3fff
add rax, rdx
and eax, 0x3fff
sub rax, rdx
test rax, rax
jle 0x14004da3a
sub rcx, rax
add rcx, 0x4000
mov qword [rbx + 0x10], rcx
mov eax, dword [rbx + 0x10]
mov r9d, dword [rbx + 0x14]
xor edx, edx
lea r8d, [rdx + 4]
mov rcx, rdi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rcx, rdi
mov qword [rbx], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x14004dbd0
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x2f0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor ebp, ebp
mov qword [rcx], rbp
mov qword [rcx + 0x38], 7
mov qword [rcx + 0x30], rbp
mov word [rcx + 0x20], bp
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], rbp
add rcx, 0x40
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rdx, [rsp + 0xa8]
mov rcx, rbx
call fcn.14004e350
nop
mov word [rsp + 0xd0], bp
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xd2]
call fcn.1400ad2f0
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rbp
mov word [rsp + 0x60], bp
lea r8d, [rbp + 2]
lea rdx, [0x1400fd1bc]
lea rcx, [rsp + 0x58]
call fcn.140025a70
nop
lea rcx, [rsp + 0x20]
call fcn.140051620
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140025da0
nop
cmp qword [rsp + 0x40], 8
jb 0x14004dcbb
mov rcx, qword [rsp + 0x28]
call fcn.1400ad0b8
mov r8d, 9
lea rdx, str.gst_log_
lea rcx, [rsp + 0x58]
call fcn.1400258f0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x58]
call fcn.140025da0
mov r8d, 4
lea rdx, str..txt
lea rcx, [rsp + 0x58]
call fcn.1400258f0
mov qword [rsp + 0xa0], 7
mov qword [rsp + 0x98], rbp
mov word [rsp + 0x88], bp
lea rdx, [rsp + 0xd0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14004dd86
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0xd0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
cmp eax, 1
jne 0x14004dd86
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xd0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x80]
call fcn.140025a70
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rbx + 0x18]
call fcn.140025740
lea rdx, [rbx + 0x18]
lea rcx, [rsp + 0x20]
call fcn.140051580
nop
mov rcx, rax
call fcn.14004f040
nop
cmp qword [rsp + 0x40], 8
jb 0x14004ddc9
mov rcx, qword [rsp + 0x28]
call fcn.1400ad0b8
nop
cmp qword [rsp + 0xa0], 8
jb 0x14004dde1
mov rcx, qword [rsp + 0x88]
call fcn.1400ad0b8
mov qword [rsp + 0xa0], 7
mov qword [rsp + 0x98], rbp
mov word [rsp + 0x88], bp
cmp qword [rsp + 0x78], 8
jb 0x14004de0f
mov rcx, qword [rsp + 0x60]
call fcn.1400ad0b8
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rbp
mov word [rsp + 0x60], bp
cmp qword [rsp + 0xc8], 8
jb 0x14004de40
mov rcx, qword [rsp + 0xb0]
call fcn.1400ad0b8
nop
mov rax, rbx
jmp 0x14004de43
mov rax, rbx
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x14004ee10
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x250
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov eax, dword [0x140131320]
xor esi, esi
mov rbx, rcx
mov dword [rsp + 0x20], esi
test al, 1
jne 0x14004ee70
or eax, 1
lea rcx, [0x1400ed4b0]
mov qword [0x140131318], 7
mov qword [0x140131310], rsi
mov word [0x140131300], si
mov dword [0x140131320], eax
call fcn.1400b0198
cmp qword [0x140131310], rsi
jne 0x14004eed6
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x206
mov qword [rsp + 0x268], rdi
mov word [rsp + 0x30], si
call fcn.1400ad2f0
lea rdx, [rsp + 0x30]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0x30]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [0x1401312f8]
call fcn.140025a70
mov rdi, qword [rsp + 0x268]
cmp qword [0x140131318], 8
lea rcx, [0x140131300]
cmovae rcx, qword [0x140131300]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14004ef03
lea rcx, [0x1401312f8]
call fcn.14004f040
mov qword [rbx + 0x20], 7
mov qword [rbx + 0x18], rsi
lea rdx, [0x1401312f8]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, rbx
mov word [rbx + 8], si
call fcn.140025740
mov rax, rbx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1400ad2c0
mov rbx, qword [rsp + 0x270]
add rsp, 0x250
pop rsi
ret
Function at 0x14004f380
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0x70
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov r12, rdx
mov rdi, rcx
cmp qword [rcx + 0x20], 8
jb 0x14004f3b4
mov rcx, qword [rcx + 8]
jmp 0x14004f3b8
add rcx, 8
xor r13d, r13d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov ebx, 1
mov r8d, ebx
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x14004f533
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.14004f870
mov rsi, rax
cmp rax, 0x40000000
jle 0x14004f414
lea eax, [rbx + 2]
jmp 0x14004f535
mov rcx, rdi
call fcn.140029dd0
mov rcx, rax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, ebx
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14004f4b9
mov dword [rsp + 0x90], r13d
lea eax, [rsi + 1]
mov ebp, eax
lea rdx, [0x14012fd94]
mov ecx, eax
call fcn.1400b3dc8
mov rbx, rax
test rax, rax
jne 0x14004f476
lea ebx, [rax + 4]
jmp 0x14004f4b9
mov r8, rbp
xor edx, edx
mov rcx, rax
call fcn.1400ad2f0
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x90]
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r11d, dword [rsp + 0x90]
cmp r11d, esi
je 0x14004f4d0
mov rcx, rbx
call fcn.1400afc58
mov ebx, 5
cmp rdi, 0xffffffffffffffff
je 0x14004f4cc
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x14004f535
mov eax, ebx
jmp 0x14004f535
mov r8, r11
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], r13b
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140004cb0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x48]
mov rcx, r12
call fcn.140003ab0
nop
cmp qword [rsp + 0x68], 0x10
jb 0x14004f51b
mov rcx, qword [rsp + 0x50]
call fcn.1400ad0b8
mov rcx, rbx
call fcn.1400afc58
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 2
jmp 0x14004f535
mov eax, ebx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret
Function at 0x14004f870
Capabilities:
Get file size

Disassembly:
push rsi
sub rsp, 0x40
cmp qword [rcx + 0x20], 8
jb 0x14004f883
mov rcx, qword [rcx + 8]
jmp 0x14004f887
add rcx, 8
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14004f8c3
xor eax, eax
add rsp, 0x40
pop rsi
ret
lea rdx, [rsp + 0x50]
mov rcx, rax
mov qword [rsp + 0x60], rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp eax, 0xffffffff
jne 0x14004f8f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14004f8f4
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop rsi
ret
mov qword [rsp + 0x58], rbx
mov ebx, dword [rsp + 0x50]
mov rcx, rsi
shl rbx, 0x20
add rbx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x60]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rsi
ret
Function at 0x14004fc30
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x4d0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x4c0], rax
mov rbx, rdx
mov r12, rcx
cmp qword [rdx + 0x20], 8
jb 0x14004fc7b
lea rdi, [rdx + 8]
mov rcx, qword [rdi]
jmp 0x14004fc82
lea rdi, [rdx + 8]
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14004fca5
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, r12
call fcn.140025740
mov al, 1
jmp 0x14004fe5d
mov bpl, 1
xor r14d, r14d
mov word [rsp + 0xa0], r14w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xa2]
call fcn.1400ad2f0
cmp qword [rbx + 0x20], 8
jb 0x14004fcd3
mov rdi, qword [rdi]
mov r8, rdi
mov edx, 0x104
lea rcx, [rsp + 0xa0]
call fcn.1400aeb10
lea rcx, [rsp + 0xa0]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov r13, rax
mov r9, qword [rbx + 0x18]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
dec rcx
movsxd rdx, ecx
sub r9, rdx
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140029e30
nop
mov esi, 1
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], r14
mov word [rsp + 0x50], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140025740
nop
nop word [rax + rax]
lea rax, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae rax, qword [rsp + 0x78]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
lea r9, str._s__d_s
mov edx, 0x104
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x2b0]
call fcn.1400ae9cc
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x2b0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x48]
call fcn.140025a70
inc esi
cmp esi, 0x400
jg 0x14004fdf3
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14004fe0a
jmp 0x14004fd60
xor r8d, r8d
lea rdx, [0x1400f9500]
lea rcx, [rsp + 0x48]
call fcn.140025a70
xor bpl, bpl
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x48]
mov rcx, r12
call fcn.140025740
nop
cmp qword [rsp + 0x68], 8
jb 0x14004fe31
mov rcx, qword [rsp + 0x50]
call fcn.1400ad0b8
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], r14
mov word [rsp + 0x50], r14w
cmp qword [rsp + 0x90], 8
jb 0x14004fe5a
mov rcx, qword [rsp + 0x78]
call fcn.1400ad0b8
mov al, bpl
mov rcx, qword [rsp + 0x4c0]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0x4d0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x1400501e0
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
cmp qword [rcx + 0x20], 8
mov rdi, rcx
jb 0x1400501fe
lea rbx, [rcx + 8]
mov rcx, qword [rcx + 8]
jmp 0x140050205
lea rbx, [rcx + 8]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x1400502d2
mov rdx, qword [rdi + 0x18]
mov rcx, 0xffffffffffffffff
mov eax, 2
add edx, 4
mov qword [rsp + 0x70], rsi
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.140097a1c
cmp qword [rdi + 0x20], 8
mov rsi, rax
jb 0x140050247
mov rbx, qword [rbx]
mov edx, dword [rdi + 0x18]
mov r8, rbx
mov rcx, rax
add edx, 3
call fcn.1400aeb10
mov r11, qword [rdi + 0x18]
xor eax, eax
mov qword [rsi + r11*2], rax
xor ecx, ecx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x48], rax
mov eax, 0x414
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x40], ax
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
mov rcx, rsi
test eax, eax
sete bl
call fcn.1400afc58
mov rsi, qword [rsp + 0x70]
mov al, bl
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
xor al, al
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
Function at 0x1400502e0
Capabilities:
Delete directory
Delete file
Write file on windows

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0xb0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0xa0], rax
lea r8, str.:_test4822FBB5_0309_420f_9DA2_FA5B8B854946
mov rdx, rcx
lea rcx, [r11 - 0x40]
call fcn.140037aa0
nop
lea r8, str._test4822FBB5_0309_420f_9DA2_FA5B8B854947.txt
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x50]
call fcn.140037aa0
nop
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 8
cmovae rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor bl, bl
lea rcx, [rsp + 0x78]
call fcn.14004f040
xor esi, esi
test eax, eax
je 0x140050434
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [rsi + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140050427
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x40]
lea r8d, [rsi + 0xa]
lea rdx, str.test_write
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
movzx ebx, bl
mov ecx, 1
test eax, eax
cmovne ebx, ecx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dl, 1
lea rcx, [rsp + 0x78]
call fcn.1400501e0
nop
cmp qword [rsp + 0x70], 8
jb 0x140050446
mov rcx, qword [rsp + 0x58]
call fcn.1400ad0b8
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x58], si
cmp qword [rsp + 0x98], 8
jb 0x140050475
mov rcx, qword [rsp + 0x80]
call fcn.1400ad0b8
mov al, bl
jmp 0x140050477
mov al, bl
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret