joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000b288
Capabilities:
Delete registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
mov rdi, rdx
mov rcx, qword [0x14009b028]
lea r14, [0x14009b028]
cmp rcx, r14
je 0x14000b2d4
test byte [rcx + 0x1c], 4
je 0x14000b2d4
cmp byte [rcx + 0x19], 5
jb 0x14000b2d4
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400885f0]
mov edx, 0x20
call fcn.140001024
mov r9d, 2
xor r8d, r8d
mov rdx, rdi
mov rcx, 0xffffffff80000002
call fcn.14006b230
xor ebx, ebx
mov rsi, rax
test rax, rax
jne 0x14000b349
mov rax, qword [0x14009b028]
cmp rax, r14
je 0x14000b3aa
test byte [rax + 0x1c], 4
je 0x14000b3aa
cmp byte [rax + 0x19], 3
jb 0x14000b3aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
lea edx, [rsi + 0x21]
mov r9, rdi
mov dword [rsp + 0x20], eax
lea r8, [0x1400885f0]
mov rcx, qword [rcx + 0x10]
call fcn.140001328
jmp 0x14000b3aa
lea rdx, str.NTUserName
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop dword [rax + rax]
test eax, eax
je 0x14000b39b
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14000b39b
test byte [rcx + 0x1c], 4
je 0x14000b39b
cmp byte [rcx + 0x19], 3
jb 0x14000b39b
mov rcx, qword [rcx + 0x10]
lea r9, str.NTUserName
mov edx, 0x22
mov dword [rsp + 0x20], eax
lea r8, [0x1400885f0]
call fcn.140001328
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
mov rdx, rdi
mov rcx, 0xffffffff80000002
call fcn.14006bb08
test eax, eax
jne 0x14000b3ff
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14000b3ff
test byte [rcx + 0x1c], 4
je 0x14000b3ff
cmp byte [rcx + 0x19], 2
jb 0x14000b3ff
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400885f0]
mov edx, 0x23
mov dword [rsp + 0x20], eax
mov r9, rdi
call fcn.140001328
mov rsi, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret

Function at 0x14000be48
Capabilities:
Compare security identifiers

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov rcx, qword [0x14009b028]
lea rax, [0x14009b028]
cmp rcx, rax
je 0x14000be9e
test byte [rcx + 0x1c], 4
je 0x14000be9e
cmp byte [rcx + 0x19], 5
jb 0x14000be9e
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400885f0]
mov edx, 0x44
call fcn.140001024
mov rax, qword [rsi + 8]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14000bece
mov rbp, qword [rbx + 0x10]
mov rcx, r14
mov rdx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_EqualSid]
nop dword [rax + rax]
test eax, eax
jne 0x14000beec
mov rbx, qword [rbx]
cmp rbx, qword [rsi + 8]
jne 0x14000beaa
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
test rdi, rdi
je 0x14000bef4
mov qword [rdi], rbx
mov rax, rbp
jmp 0x14000bed0
Function at 0x140022e4c
Capabilities:
Check os version

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x60
xor ebp, ebp
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov esi, ebp
lea edx, [rbp + 1]
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
lea r14, [0x14009b028]
cmp rcx, r14
je 0x140022eb2
test byte [rcx + 0x1c], 4
je 0x140022eb2
cmp byte [rcx + 0x19], 5
jb 0x140022eb2
mov rcx, qword [rcx + 0x10]
lea edx, [rbp + 0x17]
lea r8, [0x140088ab0]
call fcn.140001024
call fcn.14006d90c
lea rax, [0x140088000]
mov qword [0x14009f060], rbp
lea rbx, [0x14009f050]
mov qword [0x14009f078], rax
mov qword [0x14009b028], rbx
lea rdi, [0x14009f078]
mov qword [0x14009f050], rbp
mov qword [0x14009f068], 1
mov r8, qword [rdi]
lea rax, [rbx + 8]
mov qword [rsp + 0x38], rax
lea rcx, [0x1400220b0]
mov qword [rsp + 0x30], rbp
lea rax, [rsp + 0x48]
mov qword [rsp + 0x48], r8
lea rdi, [rdi + 8]
mov qword [rsp + 0x50], rbp
mov r9d, 1
mov qword [rsp + 0x28], rbp
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov qword [rbx + 0x20], r8
call qword [sym.imp.ADVAPI32.dll_RegisterTraceGuidsW]
nop dword [rax + rax]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140022ef3
mov rax, qword [0x14009b028]
cmp rax, r14
je 0x140022f8a
test byte [rax + 0x1c], 4
je 0x140022f8a
cmp byte [rax + 0x19], 5
jb 0x140022f8a
call qword [sym.imp.KERNEL32.dll_GetVersion]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
lea edx, [rbx + 0x18]
mov r9d, eax
lea r8, [0x140088ab0]
mov rcx, qword [rcx + 0x10]
call fcn.140001050
mov ecx, 1
call qword [sym.imp.GDI32.dll_EnableEUDC]
nop dword [rax + rax]
test eax, eax
je 0x140022ffa
lea rcx, section..data
call qword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
nop dword [rax + rax]
test eax, eax
jne 0x140023027
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov esi, eax
mov rbx, qword [0x14009b028]
cmp rbx, r14
je 0x14002305d
test byte [rbx + 0x1c], 4
je 0x14002302e
cmp byte [rbx + 0x19], 2
jb 0x14002302e
mov rcx, qword [rbx + 0x10]
lea r8, [0x140088ab0]
mov edx, 0x19
mov r9d, eax
call fcn.140001050
jmp 0x140023027
mov rbx, qword [0x14009b028]
cmp rbx, r14
je 0x14002305d
test byte [rbx + 0x1c], 4
je 0x14002302e
cmp byte [rbx + 0x19], 2
jb 0x14002302e
mov rcx, qword [rbx + 0x10]
lea r8, [0x140088ab0]
mov edx, 0x1a
call fcn.140001024
mov rbx, qword [0x14009b028]
cmp rbx, r14
je 0x14002305d
jmp 0x140023051
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002304e
call qword [sym.imp.ADVAPI32.dll_UnregisterTraceGuids]
nop dword [rax + rax]
mov qword [rbx + 8], rbp
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140023035
mov qword [0x14009b028], r14
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [0x14009f524], eax
add eax, ebx
jne 0x14002308e
mov rcx, qword [0x14009bd40]
cmp rcx, rbx
je 0x14002308e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov qword [0x14009bd40], rbx
lea r11, [rsp + 0x60]
mov eax, esi
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
Function at 0x1400239f4
Capabilities:
Delete registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rcx, qword [0x14009b028]
lea r14, [0x14009b028]
cmp rcx, r14
je 0x140023a3d
test byte [rcx + 0x1c], 4
je 0x140023a3d
cmp byte [rcx + 0x19], 5
jb 0x140023a3d
mov rcx, qword [rcx + 0x10]
lea r8, [0x140088ab0]
mov edx, 0x2b
call fcn.140001024
mov r9d, 0x2001f
lea rdx, str.SoftwareMicrosoftFaxReceipts
xor r8d, r8d
mov rcx, 0xffffffff80000002
call fcn.14006b230
xor esi, esi
mov rdi, rax
test rax, rax
jne 0x140023ab5
mov rax, qword [0x14009b028]
cmp rax, r14
je 0x140023bbc
test byte [rax + 0x1c], 4
je 0x140023bbc
cmp byte [rax + 0x19], 2
jb 0x140023bbc
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
lea edx, [rdi + 0x2c]
mov r9d, eax
lea r8, [0x140088ab0]
mov rcx, qword [rcx + 0x10]
call fcn.140001050
jmp 0x140023bbc
lea rax, [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.1400781f8
mov rbx, rax
mov eax, dword [rsp + 0x40]
cmp eax, 1
je 0x140023b89
test eax, eax
je 0x140023b3f
test rbx, rbx
lea r8, [0x140087fe8]
mov rcx, rdi
cmovne r8, rbx
call fcn.140077e20
test eax, eax
jne 0x140023b89
mov rax, qword [0x14009b028]
cmp rax, r14
je 0x140023b3f
test byte [rax + 0x1c], 4
je 0x140023b3f
cmp byte [rax + 0x19], 2
jb 0x140023b3f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
lea r8, [0x140088ab0]
mov r9d, eax
mov edx, 0x2d
mov rcx, qword [rcx + 0x10]
call fcn.140001050
lea rdx, str.Password
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop dword [rax + rax]
test eax, eax
je 0x140023b89
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x140023b89
test byte [rcx + 0x1c], 4
je 0x140023b89
cmp byte [rcx + 0x19], 2
jb 0x140023b89
mov rcx, qword [rcx + 0x10]
lea r8, [0x140088ab0]
mov edx, 0x2e
mov r9d, eax
call fcn.140001050
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
test rbx, rbx
je 0x140023bbc
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rbx + rcx*2], si
jne 0x140023ba1
add rcx, rcx
xor eax, eax
mov rdi, rbx
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.1400671c4
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x140024fdc
Capabilities:
Listen for remote procedure calls

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
sub rsp, 0x20
mov rcx, qword [0x14009b028]
lea rsi, [0x14009b028]
lea rbp, [0x140088ab0]
cmp rcx, rsi
je 0x140025022
test byte [rcx + 0x1c], 4
je 0x140025022
cmp byte [rcx + 0x19], 5
jb 0x140025022
mov rcx, qword [rcx + 0x10]
mov edx, 0x64
mov r8, rbp
call fcn.140001024
call fcn.140024db0
mov ebx, eax
test eax, eax
je 0x140025060
mov rcx, qword [0x14009b028]
cmp rcx, rsi
je 0x140025059
test byte [rcx + 0x1c], 4
je 0x140025059
cmp byte [rcx + 0x19], 2
jb 0x140025059
mov edx, 0x65
mov r9d, eax
mov rcx, qword [rcx + 0x10]
mov r8, rbp
call fcn.140001050
mov eax, ebx
jmp 0x1400251b2
call fcn.14006c578
lea ecx, [rax - 1]
cmp ecx, 1
jbe 0x140025116
cmp eax, 0x20
je 0x140025116
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0xa]
call qword [sym.imp.RPCRT4.dll_RpcServerRegisterAuthInfoW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
je 0x140025116
mov rcx, qword [0x14009b028]
cmp rcx, rsi
je 0x1400250c4
test byte [rcx + 0x1c], 4
je 0x1400250c4
cmp byte [rcx + 0x19], 2
jb 0x1400250c4
mov rcx, qword [rcx + 0x10]
mov edx, 0x66
mov r9d, eax
mov r8, rbp
call fcn.140001050
xor edx, edx
lea rcx, [0x140084770]
lea r8d, [rdx + 1]
call qword [sym.imp.RPCRT4.dll_RpcServerUnregisterIf]
nop dword [rax + rax]
test eax, eax
je 0x140025059
mov rcx, qword [0x14009b028]
cmp rcx, rsi
je 0x140025059
test byte [rcx + 0x1c], 4
je 0x140025059
cmp byte [rcx + 0x19], 2
jb 0x140025059
mov edx, 0x67
mov r9d, eax
jmp 0x14002504d
mov ecx, 1
mov edx, 0x4d2
mov r8d, ecx
call qword [sym.imp.RPCRT4.dll_RpcServerListen]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
je 0x1400251b0
mov rcx, qword [0x14009b028]
cmp rcx, rsi
je 0x140025161
test byte [rcx + 0x1c], 4
je 0x140025161
cmp byte [rcx + 0x19], 2
jb 0x140025161
mov rcx, qword [rcx + 0x10]
mov edx, 0x68
mov r9d, eax
mov r8, rbp
call fcn.140001050
xor edx, edx
lea rcx, [0x140084770]
lea r8d, [rdx + 1]
call qword [sym.imp.RPCRT4.dll_RpcServerUnregisterIf]
nop dword [rax + rax]
test eax, eax
je 0x140025059
mov rcx, qword [0x14009b028]
cmp rcx, rsi
je 0x140025059
test byte [rcx + 0x1c], 4
je 0x140025059
cmp byte [rcx + 0x19], 2
jb 0x140025059
mov edx, 0x69
jmp 0x14002510e
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret
Function at 0x1400278dc
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push r12
push r14
push r15
sub rsp, 0x80
mov qword [rax - 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rdi
mov rax, qword [0x14009b940]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r15, rdx
mov r14, rcx
xor ebx, ebx
mov edi, ebx
lea r12, [0x14009b028]
mov rcx, qword [0x14009b028]
cmp rcx, r12
je 0x140027947
test byte [rcx + 0x1c], 4
je 0x140027947
cmp byte [rcx + 0x19], 5
jb 0x140027947
lea edx, [rbx + 0xa]
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001024
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rbx
mov word [rsp + 0x50], bx
cmp dword [0x14009f294], ebx
jne 0x140027967
jmp 0x140027b03
lea r8, [rsp + 0x48]
mov rdx, r15
mov rcx, r14
call fcn.140028804
test eax, eax
jne 0x1400279b0
mov rcx, qword [0x14009b028]
cmp rcx, r12
je 0x1400279a6
test byte [rcx + 0x1c], 4
je 0x1400279a6
cmp byte [rcx + 0x19], 2
jb 0x1400279a6
lea edx, [rax + 0xb]
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001024
mov edi, 0xe
jmp 0x140027acc
xor ecx, ecx
call fcn.14002b58c
test eax, eax
je 0x140027a4a
mov rcx, qword [0x14009b028]
cmp rcx, r12
je 0x1400279ec
test byte [rcx + 0x1c], 4
je 0x1400279ec
cmp byte [rcx + 0x19], 5
jb 0x1400279ec
mov edx, 0xd
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001024
xor ecx, ecx
call fcn.14002b794
mov edi, eax
test eax, eax
je 0x140027a4a
mov rcx, qword [0x14009b028]
cmp rcx, r12
je 0x140027a29
test byte [rcx + 0x1c], 4
je 0x140027a29
cmp byte [rcx + 0x19], 2
jb 0x140027a29
mov edx, 0xe
mov r9d, eax
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001050
cmp dword [0x14009f294], ebx
je 0x140027ac8
mov rcx, qword [0x14009f080]
cmp rcx, 0xffffffffffffffff
je 0x140027ac8
mov edi, ebx
jmp 0x140027a51
mov rcx, qword [0x14009f080]
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x60]
add r8d, r8d
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x34]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop dword [rax + rax]
test eax, eax
jne 0x140027ac8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
mov rcx, qword [0x14009b028]
cmp rcx, r12
je 0x140027ac8
test byte [rcx + 0x1c], 4
je 0x140027ac8
cmp byte [rcx + 0x19], 2
jb 0x140027ac8
mov edx, 0xf
mov r9d, eax
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001050
jmp 0x140027ac8
test edi, edi
je 0x140027af1
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
nop
cmp qword [rsp + 0x68], 8
jb 0x140027aed
mov rcx, qword [rsp + 0x50]
call fcn.14007e7a4
xor eax, eax
jmp 0x140027b08
cmp qword [rsp + 0x68], 8
jb 0x140027b03
mov rcx, qword [rsp + 0x50]
call fcn.14007e7a4
mov eax, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14007ec50
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
Function at 0x140027b38
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push r15
sub rsp, 0x80
mov qword [rax - 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov rax, qword [0x14009b940]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r14, rcx
xor ebx, ebx
mov edi, ebx
lea r15, [0x14009b028]
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140027ba0
test byte [rcx + 0x1c], 4
je 0x140027ba0
cmp byte [rcx + 0x19], 5
jb 0x140027ba0
lea edx, [rbx + 0x10]
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001024
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rbx
mov word [rsp + 0x50], bx
cmp dword [0x14009f298], ebx
jne 0x140027bc0
jmp 0x140027d5f
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.140029148
test eax, eax
jne 0x140027c06
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140027bfc
test byte [rcx + 0x1c], 4
je 0x140027bfc
cmp byte [rcx + 0x19], 2
jb 0x140027bfc
lea edx, [rax + 0x11]
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001024
mov edi, 0xe
jmp 0x140027d28
mov ecx, 1
call fcn.14002b58c
test eax, eax
je 0x140027ca6
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140027c45
test byte [rcx + 0x1c], 4
je 0x140027c45
cmp byte [rcx + 0x19], 5
jb 0x140027c45
mov edx, 0x13
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001024
mov ecx, 1
call fcn.14002b794
mov edi, eax
test eax, eax
je 0x140027ca6
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140027c85
test byte [rcx + 0x1c], 4
je 0x140027c85
cmp byte [rcx + 0x19], 2
jb 0x140027c85
mov edx, 0x14
mov r9d, eax
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001050
cmp dword [0x14009f298], ebx
je 0x140027d24
mov rcx, qword [0x14009f0b0]
cmp rcx, 0xffffffffffffffff
je 0x140027d24
mov edi, ebx
jmp 0x140027cad
mov rcx, qword [0x14009f0b0]
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x60]
add r8d, r8d
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x34]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop dword [rax + rax]
test eax, eax
jne 0x140027d24
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140027d24
test byte [rcx + 0x1c], 4
je 0x140027d24
cmp byte [rcx + 0x19], 2
jb 0x140027d24
mov edx, 0x15
mov r9d, eax
lea r8, [0x140088d60]
mov rcx, qword [rcx + 0x10]
call fcn.140001050
jmp 0x140027d24
test edi, edi
je 0x140027d4d
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
nop
cmp qword [rsp + 0x68], 8
jb 0x140027d49
mov rcx, qword [rsp + 0x50]
call fcn.14007e7a4
xor eax, eax
jmp 0x140027d64
cmp qword [rsp + 0x68], 8
jb 0x140027d5f
mov rcx, qword [rsp + 0x50]
call fcn.14007e7a4
mov eax, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14007ec50
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
Function at 0x14002b58c
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14009b940]
xor rax, rsp
mov qword [rbp - 8], rax
mov ebx, ecx
mov rcx, qword [0x14009b028]
lea rsi, [0x14009b028]
cmp rcx, rsi
je 0x14002b5e2
test byte [rcx + 0x1c], 4
je 0x14002b5e2
cmp byte [rcx + 0x19], 5
jb 0x14002b5e2
mov rcx, qword [rcx + 0x10]
lea r8, [0x140088d60]
mov edx, 0x5c
call fcn.140001024
mov eax, dword [0x14009f2a8]
test eax, eax
je 0x14002b663
mov rcx, qword [0x14009f0b0]
test ebx, ebx
cmove rcx, qword [0x14009f080]
cmp eax, 1
jne 0x14002b697
xor eax, eax
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
nop dword [rax + rax]
test eax, eax
jne 0x14002b682
mov rax, qword [0x14009b028]
cmp rax, rsi
je 0x14002b663
test byte [rax + 0x1c], 4
je 0x14002b663
cmp byte [rax + 0x19], 2
jb 0x14002b663
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, 0x5d
mov rcx, qword [0x14009b028]
lea r8, [0x140088d60]
mov r9d, eax
mov rcx, qword [rcx + 0x10]
call fcn.140001050
xor eax, eax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.14007ec50
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
mov eax, dword [0x14009f2ac]
shl rax, 0x14
cmp qword [rbp - 0x30], rax
jl 0x14002b663
jmp 0x14002b781
cmp eax, 2
jne 0x14002b663
xor r9d, r9d
lea rdx, [rbp - 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetFileTime]
nop dword [rax + rax]
test eax, eax
jne 0x14002b6e4
mov rax, qword [0x14009b028]
cmp rax, rsi
je 0x14002b663
test byte [rax + 0x1c], 4
je 0x14002b663
cmp byte [rax + 0x19], 2
jb 0x14002b663
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, 0x5e
jmp 0x14002b649
xorps xmm0, xmm0
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
movups xmmword [rbp - 0x28], xmm0
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
nop dword [rax + rax]
test eax, eax
jne 0x14002b73d
mov rax, qword [0x14009b028]
cmp rax, rsi
je 0x14002b663
test byte [rax + 0x1c], 4
je 0x14002b663
cmp byte [rax + 0x19], 2
jb 0x14002b663
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, 0x5f
jmp 0x14002b649
xorps xmm0, xmm0
lea rcx, [rbp - 0x18]
movups xmmword [rbp - 0x18], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
nop dword [rax + rax]
movzx ecx, word [rbp - 0x28]
movzx edx, word [rbp - 0x18]
sub edx, ecx
movzx ecx, word [rbp - 0x26]
lea r8d, [rdx + rdx*2]
shl r8d, 2
sub r8d, ecx
movzx ecx, word [rbp - 0x16]
add r8d, ecx
cmp r8d, dword [0x14009f2b0]
jb 0x14002b663
mov eax, 1
jmp 0x14002b665
Function at 0x14002b86c
Capabilities:
Delete file

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, 0x20
mov ebx, ecx
mov rcx, qword [0x14009b028]
lea r14, [0x14009b028]
lea r15, [0x140088d60]
cmp rcx, r14
je 0x14002b8be
test byte [rcx + 0x1c], 4
je 0x14002b8be
cmp byte [rcx + 0x19], 5
jb 0x14002b8be
mov rcx, qword [rcx + 0x10]
mov edx, 0x63
mov r8, r15
call fcn.140001024
mov rcx, qword [0x14009f2a0]
lea rax, str.InboxLOG.txt
test ebx, ebx
lea rdx, str.OutboxLOG.txt
cmove rdx, rax
call fcn.14002bf30
mov rsi, rax
test rax, rax
jne 0x14002b915
lea ebx, [rax + 8]
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14002ba6e
test byte [rcx + 0x1c], 4
je 0x14002ba6e
cmp byte [rcx + 0x19], 2
jb 0x14002ba6e
lea edx, [rax + 0x64]
jmp 0x14002ba62
lea rax, [0x14009f080]
test ebx, ebx
lea rdi, [0x14009f0b0]
cmove rdi, rax
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
test eax, eax
jne 0x14002b987
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14002ba6e
test byte [rcx + 0x1c], 4
je 0x14002ba6e
cmp byte [rcx + 0x19], 2
jb 0x14002ba6e
mov edx, 0x65
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r15
call fcn.140001050
jmp 0x14002ba6e
or qword [rdi], 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x14002b9d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14002b9d6
test byte [rcx + 0x1c], 4
je 0x14002b9d6
cmp byte [rcx + 0x19], 2
jb 0x14002b9d6
mov rcx, qword [rcx + 0x10]
mov edx, 0x66
mov r9d, eax
mov r8, r15
call fcn.140001050
mov rdx, qword [0x14009f2a0]
mov r8, rdi
mov ecx, ebx
call fcn.14002b07c
mov ebx, eax
test eax, eax
je 0x14002ba0f
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14002ba6e
test byte [rcx + 0x1c], 4
je 0x14002ba6e
cmp byte [rcx + 0x19], 2
jb 0x14002ba6e
mov edx, 0x67
jmp 0x14002b973
mov rcx, qword [rdi]
call fcn.14002c064
test eax, eax
jne 0x14002ba45
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14002ba6e
test byte [rcx + 0x1c], 4
je 0x14002ba4c
cmp byte [rcx + 0x19], 2
jb 0x14002ba4c
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x68]
xor r9d, r9d
mov r8, r15
call fcn.140001050
mov rcx, qword [0x14009b028]
cmp rcx, r14
je 0x14002ba6e
test byte [rcx + 0x1c], 4
je 0x14002ba6e
cmp byte [rcx + 0x19], 5
jb 0x14002ba6e
mov edx, 0x69
mov rcx, qword [rcx + 0x10]
mov r8, r15
call fcn.140001024
mov rcx, rsi
call fcn.1400671c4
mov rsi, qword [rsp + 0x38]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop r15
ret
Function at 0x14002c064
Capabilities:
Timestomp file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
sub rsp, 0x40
mov rax, qword [0x14009b940]
xor rax, rsp
mov qword [rsp + 0x38], rax
and qword [rsp + 0x20], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov rdi, rcx
mov rcx, qword [0x14009b028]
lea rbp, [0x14009b028]
cmp rcx, rbp
je 0x14002c0c7
test byte [rcx + 0x1c], 4
je 0x14002c0c7
cmp byte [rcx + 0x19], 5
jb 0x14002c0c7
mov rcx, qword [rcx + 0x10]
lea r8, [0x140088d60]
mov edx, 0x79
call fcn.140001024
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
nop dword [rax + rax]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x14002c11d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
cmp rcx, rbp
je 0x14002c177
test byte [rcx + 0x1c], 4
je 0x14002c177
cmp byte [rcx + 0x19], 2
jb 0x14002c177
lea edx, [rbx + 0x7a]
jmp 0x14002c164
xor r9d, r9d
lea rdx, [rsp + 0x20]
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFileTime]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jne 0x14002c177
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
cmp rcx, rbp
je 0x14002c177
test byte [rcx + 0x1c], 4
je 0x14002c177
cmp byte [rcx + 0x19], 2
jb 0x14002c177
lea edx, [rbx + 0x7b]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140088d60]
mov r9d, eax
call fcn.140001050
mov eax, ebx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14007ec50
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret