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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x58]
lea rdx, str.CLSID3ad05575_8857_4850_9277_11b85bdb8e09InProcServer32
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000000
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x18000cb94
mov rcx, qword [rsp + 0x58]
lea r9, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x58]
test eax, eax
je 0x18000cba1
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x40]
mov eax, 1
add rsp, 0x30
pop rdi
ret

Function at 0x18000cbc0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x58]
lea rdx, str.CLSIDDC1C5A9C_E88A_4dde_A5A1_60F82A20AEF7InProcServer32
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000000
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x18000cc34
mov rcx, qword [rsp + 0x58]
lea r9, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x58]
test eax, eax
je 0x18000cc41
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x40]
mov eax, 1
add rsp, 0x30
pop rdi
ret

Function at 0x18000ce50
Capabilities:
Accept command line arguments

Disassembly:
push rbx
sub rsp, 0x230
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x220], rax
mov rbx, rcx
call fcn.18000ca50
test eax, eax
je 0x18000cf3b
lea rdx, [rsp + 0x20]
mov r8d, 0x200
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x18000cf3b
lea rcx, [rsp + 0x20]
mov edx, 0x5c
call fcn.1800f7e94
test rax, rax
je 0x18000cf3b
cmp dword [rbx + 0x30], 0
mov qword [rsp + 0x248], rdi
je 0x18000ced7
lea rcx, [rax + 1]
lea rdx, str.EXPLORER.EXE
call fcn.18010b680
test eax, eax
jne 0x18000ced7
mov dword [rbx + 0x34], 1
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edx, 0x5c
mov rcx, rax
mov rdi, rax
call fcn.1800f7e94
mov rbx, rax
test rax, rax
jne 0x18000cefa
mov rbx, rdi
jmp 0x18000cefd
inc rbx
lea rdx, str.cygwin.bat
mov r8d, 0xa
mov rcx, rbx
call fcn.18010c858
mov rdi, qword [rsp + 0x248]
test eax, eax
je 0x18000cf37
lea rdx, str.safeboxTray.exe
mov r8d, 0xf
mov rcx, rbx
call fcn.18010c858
test eax, eax
jne 0x18000cf3b
xor eax, eax
jmp 0x18000cf40
mov eax, 1
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.1800f4f80
add rsp, 0x230
pop rbx
ret
Function at 0x18000cf60
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rbx, rdx
mov rdi, rcx
call fcn.18000ce50
test eax, eax
je 0x18000d1cd
cmp dword [rdi + 0x30], 0
je 0x18000d1cd
cmp dword [rdi + 0x34], 0
je 0x18000d1cd
test byte [rbx + 0x5d], 1
jne 0x18000d1cd
cmp byte [rbx + 0x5c], 0
je 0x18000d1cd
movzx eax, byte [rbx + 0x5b]
test al, al
je 0x18000cfce
movzx eax, al
cmp eax, dword [rdi + 0x38]
jne 0x18000d1cd
mov rax, qword [rbx + 8]
mov qword [rsp + 0x290], rsi
lea rdi, str.CopyItems
mov rsi, rax
mov ecx, 0xa
repe cmpsb byte [rsi], byte [rdi]
je 0x18000d03d
lea rdi, str.MoveItems
mov rsi, rax
mov ecx, 0xa
repe cmpsb byte [rsi], byte [rdi]
je 0x18000d03d
lea rdi, str.DeleteItems
mov rsi, rax
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
je 0x18000d03d
lea rdi, str.RenameItem
mov rsi, rax
mov ecx, 0xb
repe cmpsb byte [rsi], byte [rdi]
je 0x18000d03d
lea rdi, str.PerformOperations
mov rsi, rax
mov ecx, 0x12
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d1c5
lea rcx, [rsp + 0x41]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x40], 0
call fcn.1800f4fb0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x20], 0x104
call fcn.18000cb20
lea rcx, [rsp + 0x151]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x150], 0
call fcn.1800f4fb0
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x40]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x18000d1c5
xor ecx, ecx
lea rdx, str.DllGetClassObject
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rcx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18000d1c5
lea r8, [rsp + 0x28]
lea rdx, [0x18016d160]
lea rcx, [0x18016d000]
call rax
test eax, eax
js 0x18000d1c5
mov rcx, qword [rsp + 0x28]
lea r9, [rsp + 0x30]
lea r8, [0x18016c990]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rcx]
mov esi, eax
call qword [rdx + 0x10]
test esi, esi
js 0x18000d1c5
mov rdx, qword [rbx + 8]
mov r8, qword [rsp + 0x30]
lea rdi, str.CopyItems
mov rax, qword [r8]
mov rsi, rdx
mov ecx, 0xa
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d150
mov rax, qword [rax + 0x88]
jmp 0x18000d1b8
lea rdi, str.MoveItems
mov rsi, rdx
mov ecx, 0xa
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d169
mov rax, qword [rax + 0x78]
jmp 0x18000d1b8
lea rdi, str.DeleteItems
mov rsi, rdx
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d185
mov rax, qword [rax + 0x98]
jmp 0x18000d1b8
lea rdi, str.RenameItem
mov rsi, rdx
mov ecx, 0xb
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d19e
mov rax, qword [rax + 0x60]
jmp 0x18000d1b8
lea rdi, str.PerformOperations
mov rsi, rdx
mov ecx, 0x12
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d1bc
mov rax, qword [rax + 0xa8]
mov qword [rbx + 0x18], rax
mov rax, qword [r8]
mov rcx, r8
call qword [rax + 0x10]
mov rsi, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1800f4f80
mov rbx, qword [rsp + 0x298]
add rsp, 0x270
pop rdi
ret
Function at 0x18000d1f0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rbx, rdx
mov rdi, rcx
call fcn.18000ce50
test eax, eax
je 0x18000d3c4
cmp dword [rdi + 0x30], 0
je 0x18000d3c4
test byte [rbx + 0x5d], 1
jne 0x18000d3c4
cmp byte [rbx + 0x5c], 0
je 0x18000d3c4
movzx eax, byte [rbx + 0x5b]
test al, al
je 0x18000d254
movzx eax, al
cmp eax, dword [rdi + 0x38]
jne 0x18000d3c4
mov rax, qword [rbx + 8]
mov qword [rsp + 0x290], rsi
lea rdi, str.GetResults
mov rsi, rax
mov ecx, 0xb
repe cmpsb byte [rsi], byte [rdi]
je 0x18000d28a
lea rdi, str.GetResult
mov rsi, rax
mov ecx, 0xa
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d3bc
lea rcx, [rsp + 0x41]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x40], 0
call fcn.1800f4fb0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x20], 0x104
call fcn.18000cbc0
lea rcx, [rsp + 0x151]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x150], 0
call fcn.1800f4fb0
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x40]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x18000d3bc
xor ecx, ecx
lea rdx, str.DllGetClassObject
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rcx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18000d3bc
lea r8, [rsp + 0x28]
lea rdx, [0x18016d160]
lea rcx, [0x18016d010]
call rax
test eax, eax
js 0x18000d3bc
mov rcx, qword [rsp + 0x28]
lea r9, [rsp + 0x30]
lea r8, [0x18016cb00]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rcx]
mov esi, eax
call qword [rdx + 0x10]
test esi, esi
js 0x18000d3bc
mov r8, qword [rbx + 8]
mov rdx, qword [rsp + 0x30]
lea rdi, str.GetResults
mov rax, qword [rdx]
mov rsi, r8
mov ecx, 0xb
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d395
mov rax, qword [rax + 0xd8]
jmp 0x18000d3af
lea rdi, str.GetResult
mov rsi, r8
mov ecx, 0xa
repe cmpsb byte [rsi], byte [rdi]
jne 0x18000d3b3
mov rax, qword [rax + 0xa0]
mov qword [rbx + 0x18], rax
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov rsi, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1800f4f80
mov rbx, qword [rsp + 0x298]
add rsp, 0x270
pop rdi
ret
Function at 0x18000dee0
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rdi, rdx
mov edx, ecx
mov ecx, 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x18000df60
lea rdx, [rsp + 0x20]
mov rcx, rax
mov dword [rsp + 0x20], 0x238
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x18000df57
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.18010b680
mov rcx, rbx
test eax, eax
je 0x18000df64
lea rdx, [rsp + 0x20]
call sub.KERNEL32.dll_Module32Next
test eax, eax
jne 0x18000df30
test rbx, rbx
je 0x18000df60
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x18000df6f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1800f4f80
mov rbx, qword [rsp + 0x290]
add rsp, 0x270
pop rdi
ret
Function at 0x18000e490
Capabilities:
Allocate or change rwx memory

Disassembly:
sub rsp, 0x28
mov rcx, rdx
mov edx, r8d
lea r9, [rsp + 0x40]
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
add rsp, 0x28
ret
Function at 0x18000f8b0
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x20
cmp dword [rcx + 0xc], 0
mov rbp, rcx
je 0x18000c08e
mov rcx, qword [0x1801de358]
test rcx, rcx
je 0x18000c08e
cmp dword [0x1801de368], 0
je 0x18000c08e
mov rax, qword [0x1801de360]
xor ebx, ebx
test rax, rax
je 0x18000c072
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1801de358]
mov qword [0x1801de360], rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [0x1801de358]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1801de358], rbx
mov rsi, qword [rbp + 0x18]
test rsi, rsi
je 0x18000c0fb
mov qword [rsp + 0x30], rdi
nop dword [rax]
mov rcx, rsi
call fcn.18000d880
mov rcx, rsi
mov edi, eax
call fcn.18000d850
mov rbx, rax
test edi, edi
jle 0x18000c0e6
nop dword [rax]
test byte [rbx + 0x5d], 1
je 0x18000c0dc
mov rcx, qword [rbp + 0x10]
mov rdx, rbx
mov r8, qword [rcx]
call qword [r8 + 0x50]
test eax, eax
je 0x18000c0dc
and byte [rbx + 0x5d], 0xfe
add rbx, 0x60
sub rdi, 1
jne 0x18000c0c0
mov rcx, rsi
call fcn.18000d930
mov rsi, rax
test rax, rax
jne 0x18000c0a0
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov rcx, qword [0x1801e1bb0]
jmp 0x18000c020

Function at 0x180017930
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rcx, qword [0x1801de3b8]
test rcx, rcx
je 0x180017953
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [0x1801de3b0]
test rcx, rcx
je 0x180017967
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [0x1801de3a8]
test rcx, rcx
je 0x18001797b
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [0x1801de408]
mov rbx, qword [0x1801de410]
mov rdi, rcx
cmp rcx, rbx
jbe 0x1800179a4
call fcn.1800f8c38
mov rbx, qword [0x1801de410]
mov rcx, qword [0x1801de408]
mov rax, qword [0x1801de3f0]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
nop word [rax + rax]
cmp rcx, rbx
jbe 0x1800179da
call fcn.1800f8c38
test rdi, rdi
je 0x1800179e8
cmp rdi, qword [0x1801de3f0]
je 0x1800179ed
call fcn.1800f8c38
cmp rsi, rbx
je 0x180017a63
test rdi, rdi
jne 0x180017a01
call fcn.1800f8c38
xor r11d, r11d
jmp 0x180017a04
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x180017a0f
call fcn.1800f8c38
mov rbx, qword [rsi]
mov edx, 0xfffffffc
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx]
mov r8, qword [r8]
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov rcx, rbx
call fcn.1800f4b9c
test rdi, rdi
jne 0x180017a3e
call fcn.1800f8c38
xor r11d, r11d
jmp 0x180017a41
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x180017a4c
call fcn.1800f8c38
mov rbx, qword [0x1801de410]
mov rcx, qword [0x1801de408]
add rsi, 8
jmp 0x1800179d0
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x180019750
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x68], rsi
mov rbx, rdx
mov qword [rsp + 0x30], rdx
xor eax, eax
mov dword [rsp + 0x20], eax
mov qword [rdx + 0x20], 0xf
mov qword [rdx + 0x18], rax
mov byte [rdx + 8], al
mov dword [rsp + 0x20], 1
mov rcx, r8
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1800197e8
mov ecx, 1
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rsi, rax
test rax, rax
je 0x1800197dd
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdx, rax
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, rbx
call fcn.180003700
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rax, rbx
jmp 0x1800197eb
mov rax, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret

Function at 0x180025010
Capabilities:
Create thread

Disassembly:
sub rsp, 0x158
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x31]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x30], 0
call fcn.1800f4fb0
lea rdx, [rsp + 0x30]
mov r8d, 0x104
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov r11, qword [0x1801def28]
test r11, r11
jne 0x180024ec9
xor eax, eax
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1800f4f80
add rsp, 0x158
ret
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x150], rbx
call r11
lea rdx, str.FoxMail.exe
mov rcx, rax
mov rbx, rax
call fcn.1800f9ff0
test eax, eax
jne 0x180024f1f
xor eax, eax
lea r8, [0x180024700]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x1801de3b8], rax
mov eax, 1
jmp 0x180024fe4
lea rdx, str.OutLook.exe
mov rcx, rbx
call fcn.1800f9ff0
test eax, eax
jne 0x180024f62
xor eax, eax
lea r8, [0x180024bd0]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x1801de3b0], rax
mov eax, 1
jmp 0x180024fe4
lea rdx, str.wlmail.exe
mov rcx, rbx
call fcn.1800f9ff0
test eax, eax
jne 0x180024fa2
xor eax, eax
lea r8, [0x180024af0]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x1801de3a8], rax
mov eax, 1
jmp 0x180024fe4
lea rdx, str.notes2.exe
mov rcx, rbx
call fcn.1800f9ff0
test eax, eax
jne 0x180024fe2
xor eax, eax
lea r8, [0x180024d30]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x1801de3a0], rax
mov eax, 1
jmp 0x180024fe4
xor eax, eax
mov rbx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1800f4f80
add rsp, 0x158
ret
jmp 0x180024e60
Function at 0x1800250c0
Capabilities:
Get file size
Read file via mapping

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
xor esi, esi
mov rdi, rcx
xor r9d, r9d
mov qword [rsp + 0x30], rsi
lea r8d, [rsi + 7]
add rcx, 8
mov edx, 0x80000000
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rdi + 0x150], rax
cmp rax, 0xffffffffffffffff
jne 0x180025110
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
xor r9d, r9d
xor edx, edx
mov rcx, rax
lea r8d, [r9 + 2]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rdi + 0x148], rax
test rax, rax
je 0x180025103
mov rcx, qword [rdi + 0x150]
xor edx, edx
mov qword [rsp + 0x50], rbx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov rcx, qword [rdi + 0x148]
xor r9d, r9d
lea edx, [r9 + 4]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
movsxd rbx, eax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rsi, qword [rsp + 0x58]
lea rcx, [rax + rbx]
mov rbx, qword [rsp + 0x50]
mov qword [rdi + 0x138], rax
mov qword [rdi + 0x140], rcx
mov eax, 1
add rsp, 0x40
pop rdi
ret

Function at 0x180025260
Capabilities:
Hash data with crc32

Disassembly:
xor edx, edx
lea r8, [rcx + 0x14]
nop word [rax + rax]
mov eax, edx
mov ecx, 8
test al, 1
je 0x180025284
shr eax, 1
xor eax, 0xedb88320
jmp 0x180025286
shr eax, 1
sub rcx, 1
jne 0x180025277
inc edx
mov dword [r8], eax
add r8, 4
cmp edx, 0x100
jl 0x180025270
repz ret

Function at 0x1800252a0
Capabilities:
Encode data using xor

Disassembly:
test r9d, r9d
je 0x1800252d0
mov r10d, r9d
nop dword [rax + rax]
movzx eax, byte [r8]
movzx r9d, dl
inc r8
xor r9, rax
mov eax, edx
mov edx, dword [rcx + r9*4 + 0x14]
shr eax, 8
xor edx, eax
sub r10, 1
jne 0x1800252b0
mov eax, edx
ret
Function at 0x180031090
Capabilities:
Hash data with crc32

Disassembly:
xor edx, edx
lea r8, [rcx + 0x78]
nop word [rax + rax]
mov eax, edx
mov ecx, 8
test al, 1
je 0x1800310b4
shr eax, 1
xor eax, 0xedb88320
jmp 0x1800310b6
shr eax, 1
sub rcx, 1
jne 0x1800310a7
inc edx
mov dword [r8], eax
add r8, 4
cmp edx, 0x100
jl 0x1800310a0
repz ret

Function at 0x180031120
Capabilities:
Encode data using xor

Disassembly:
test r9d, r9d
je 0x180031110
mov r10d, r9d
nop dword [rax + rax]
movzx eax, byte [r8]
movzx r9d, dl
inc r8
xor r9, rax
mov eax, edx
mov edx, dword [rcx + r9*4 + 0x78]
shr eax, 8
xor edx, eax
sub r10, 1
jne 0x1800310f0
mov eax, edx
ret
push rdi
sub rsp, 0x20
mov r10, rcx
or rcx, 0xffffffffffffffff
mov rdi, rdx
xor eax, eax
mov r8, rdx
xor edx, edx
repne scasb al, byte [rdi]
not rcx
lea r9, [rcx - 1]
mov rcx, r10
add rsp, 0x20
pop rdi
jmp 0x1800310e0
Function at 0x180038f00
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub rsp, 0x28
cmp qword [rdx + 0x20], 0x10
jb 0x180038f11
mov r8, qword [rdx + 8]
jmp 0x180038f15
lea r8, [rdx + 8]
mov rdx, qword [rdx + 0x18]
mov ecx, 0x811c9dc5
add rdx, r8
cmp r8, rdx
je 0x180038f46
nop word [rax + rax]
movsx rax, byte [r8]
imul rcx, rcx, 0x1000193
inc r8
xor rcx, rax
cmp r8, rdx
jne 0x180038f30
btr ecx, 0x1f
mov edx, 0x1f31d
call fcn.1800fbf4c
mov qword [rsp + 0x38], rax
mov ecx, dword [rsp + 0x38]
shr rax, 0x20
imul eax, eax, 0x41a7
imul ecx, ecx, 0xb14
sub eax, ecx
jns 0x180038f76
add eax, 0x7fffffff
cdqe
add rsp, 0x28
ret
Function at 0x18005c170
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov r8d, ecx
xor edx, edx
mov ecx, 0x100001
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
test rax, rax
jne 0x18005c19f
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x30], rbx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, eax
test eax, eax
je 0x18005c1c5
test esi, esi
je 0x18005c1c5
or edx, 0xffffffff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rsi, qword [rsp + 0x38]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x18005c410
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
cmp qword [rcx + 0x40], 0
mov rbx, rcx
jne 0x18005c431
lea rcx, str.Kernel32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbx + 0x40], rax
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x18005c4cf
lea rdx, [0x18015a720]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x40]
lea rdx, [0x18015a710]
mov qword [rbx + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x40]
lea rdx, [0x18015a700]
mov qword [rbx + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x40]
lea rdx, [0x18015a6f0]
mov qword [rbx + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x40]
lea rdx, [0x18015a6e0]
mov qword [rbx + 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [rbx + 0x48], 0
mov qword [rbx + 0x68], rax
je 0x18005c4cf
cmp qword [rbx + 0x50], 0
je 0x18005c4cf
cmp qword [rbx + 0x58], 0
je 0x18005c4cf
cmp qword [rbx + 0x60], 0
je 0x18005c4cf
test rax, rax
je 0x18005c4cf
mov eax, 1
add rsp, 0x20
pop rbx
ret
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x18005caf0
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0xa0
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rbp, rdx
mov rbx, rcx
mov r8d, 1
lea rdx, str.prtdiag.ini
lea rcx, [rsp + 0x20]
call fcn.18001f690
nop
cmp qword [rax + 0x20], 0x10
jb 0x18005cb3e
mov r9, qword [rax + 8]
jmp 0x18005cb42
lea r9, [rax + 8]
xor r8d, r8d
lea rdx, str.mode
lea rcx, str.trace
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x1801def40], eax
cmp qword [rsp + 0x40], 0x10
jb 0x18005cb71
mov rcx, qword [rsp + 0x28]
call fcn.1800f4b9c
mov qword [rsp + 0x40], 0xf
xor edi, edi
mov qword [rsp + 0x38], rdi
mov byte [rsp + 0x28], dil
lea r8d, [rdi + 1]
lea rdx, str.prtdiag.ini
lea rcx, [rsp + 0x48]
call fcn.18001f690
nop
cmp qword [rax + 0x20], 0x10
jb 0x18005cba9
mov r9, qword [rax + 8]
jmp 0x18005cbad
lea r9, [rax + 8]
xor r8d, r8d
lea rdx, [0x18015a8b4]
lea rcx, str.trace
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, eax
cmp qword [rsp + 0x68], 0x10
jb 0x18005cbd8
mov rcx, qword [rsp + 0x50]
call fcn.1800f4b9c
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], rdi
mov byte [rsp + 0x50], 0
test esi, esi
jne 0x18005cc6a
lea r8d, [rsi + 1]
lea rdx, str.prtdiag.ini
lea rcx, [rsp + 0x70]
call fcn.18001f690
nop
cmp qword [rax + 0x20], 0x10
jb 0x18005cc12
mov r9, qword [rax + 8]
jmp 0x18005cc16
lea r9, [rax + 8]
xor r8d, r8d
mov rdx, rbx
lea rcx, str.tracelist
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, eax
cmp qword [rsp + 0x90], 0x10
jb 0x18005cc40
mov rcx, qword [rsp + 0x78]
call fcn.1800f4b9c
mov qword [rsp + 0x90], 0xf
mov qword [rsp + 0x88], rdi
mov byte [rsp + 0x78], 0
mov ecx, dword [0x1801def40]
test esi, esi
cmove ecx, edi
mov dword [0x1801def40], ecx
or rsi, 0xffffffffffffffff
test rbx, rbx
je 0x18005cc83
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
lea edi, [rcx - 1]
mov r8d, edi
mov rdx, rbx
lea rcx, [0x1801def48]
call fcn.180003320
lea rcx, [0x1801dc900]
mov rax, qword [0x1801dc900]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
mov r8, rbp
lea rdx, str.Executable_Full_Path_is:__s
lea rcx, [rsp + 0xb0]
call fcn.1800041d0
mov rdi, qword [rsp + 0xb0]
mov rdx, rdi
mov ecx, 1
call fcn.18005ca80
mov ebx, dword [0x1801def40]
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x18005cd00
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, ebx
jmp 0x18005cd02
mov eax, ebx
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret