joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400c1790
Capabilities:
Enumerate gui resources

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r12
mov eax, 0x11cd0
call fcn.1400e0a90
sub rsp, rax
xor ebx, ebx
mov rbp, r8
movzx esi, dl
mov r12, rcx
test r8, r8
je 0x1400c17b9
mov qword [r8], rbx
cmp qword [rcx + 0x10], rbx
jne 0x1400c17c9
mov eax, 1
jmp 0x1400c19c1
mov dl, 1
call fcn.1400c1bc0
test eax, eax
je 0x1400c19c1
mov qword [rsp + 0x11cf0], rdi
mov qword [rsp + 0x11cf8], r13
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8, qword [0x1401255c8]
mov rcx, r12
mov rdx, rax
mov rdi, rax
call fcn.1400c1c70
mov ecx, dword [0x14012c4bc]
test rax, rax
mov dword [rsp + 0x1874], ebx
mov qword [rsp + 0x1878], rbx
setne r13b
mov qword [rsp + 0x1880], rbx
mov qword [rsp + 0x1898], rbx
test r13b, r13b
mov qword [rsp + 0x18a8], rbx
mov qword [rsp + 0x18b0], rbx
cmove ecx, ebx
mov dword [0x14012c4bc], ecx
test sil, sil
je 0x1400c185c
mov byte [rsp + 0x1871], bl
test r13b, r13b
je 0x1400c1864
mov byte [rsp + 0x1871], 1
mov r8, qword [0x14012c4c8]
lea rax, [0x1400f1524]
test ecx, ecx
mov qword [rsp + 0x1038], rax
mov qword [rsp + 0x1048], rax
mov qword [rsp + 0x1050], rax
mov rax, qword [0x1401255c8]
mov qword [rsp + 0x1888], r8
mov dword [rsp + 0x1890], ecx
mov qword [rsp + 0x1040], rbx
mov qword [rsp + 0x1068], r12
mov dword [rsp + 0x20], reloc.WSOCK32.dll_recv
mov qword [rsp + 0x28], rax
setg sil
test r13b, r13b
je 0x1400c18f7
mov edx, ebx
test ecx, ecx
jle 0x1400c18e0
mov rax, r8
cmp qword [rax], rdi
je 0x1400c18f7
inc edx
add rax, 8
cmp edx, ecx
jl 0x1400c18d1
cmp ecx, 0x1f4
jge 0x1400c18f7
movsxd rax, ecx
inc ecx
mov qword [r8 + rax*8], rdi
mov dword [0x14012c4bc], ecx
mov dword [rsp + 0x1890], ecx
lea rdx, [rsp + 0x20]
lea rcx, [0x1400bf070]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rcx, qword [rsp + 0x1878]
test rcx, rcx
jne 0x1400c194d
test sil, sil
je 0x1400c1936
mov r8, qword [0x14012c4c8]
mov ecx, ebx
mov dword [0x14012c4bc], ebx
xor sil, sil
jmp 0x1400c18c3
test rbp, rbp
je 0x1400c1949
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x1400c1949
mov qword [rbp], rax
xor eax, eax
jmp 0x1400c19b1
call fcn.1400be7b0
movsxd rcx, dword [0x14012c4bc]
mov rdx, qword [rsp + 0x1878]
mov r8, qword [0x14012c4c8]
test ecx, ecx
jle 0x1400c197f
mov rax, r8
nop
cmp qword [rax], rdx
je 0x1400c1993
inc ebx
add rax, 8
cmp ebx, ecx
jl 0x1400c1970
cmp ecx, 0x1f4
jge 0x1400c1993
mov qword [r8 + rcx*8], rdx
inc ecx
mov dword [0x14012c4bc], ecx
mov rax, qword [0x1401255c8]
mov ecx, dword [rax + 0x74]
cmp ecx, 0xffffffff
jle 0x1400c19ac
mov edx, 1
call fcn.140001b60
mov eax, 1
mov rdi, qword [rsp + 0x11cf0]
mov r13, qword [rsp + 0x11cf8]
mov rbx, qword [rsp + 0x11d00]
add rsp, 0x11cd0
pop r12
pop rsi
pop rbp
ret
Function at 0x1400c19e0
Capabilities:
Enumerate gui resources

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
mov eax, 0x11ce0
call fcn.1400e0a90
sub rsp, rax
cmp qword [rcx + 0x10], 0
movzx edi, dl
mov rbx, rcx
je 0x1400c1ba5
xor edx, edx
call fcn.1400c1bc0
test eax, eax
jne 0x1400c1a20
mov rbx, qword [rsp + 0x11d00]
add rsp, 0x11ce0
pop rdi
ret
mov qword [rsp + 0x11cf0], rbp
mov qword [rsp + 0x11cf8], rsi
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8, qword [0x1401255c8]
mov rcx, rbx
mov rdx, rax
mov rsi, rax
call fcn.1400c1c70
mov ecx, dword [0x14012c4bc]
xor ebp, ebp
test rax, rax
lea rax, [0x1400f1524]
cmovne ecx, ebp
mov qword [rsp + 0x1048], rax
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x1884], ebp
mov qword [rsp + 0x1888], rbp
mov qword [rsp + 0x1890], rbp
mov dword [0x14012c4bc], ecx
mov qword [rsp + 0x18b8], rbp
mov qword [rsp + 0x18c0], rbp
test dil, dil
je 0x1400c1aaa
mov byte [rsp + 0x1881], bpl
test ecx, ecx
je 0x1400c1ab2
mov byte [rsp + 0x1881], 1
mov rax, qword [0x14012c4c8]
mov dword [rsp + 0x18a0], ecx
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x1898], rax
mov rax, qword [rbx + 0x10]
lea rcx, [0x1400c1d90]
mov qword [rsp + 0x18a8], rax
call qword [sym.imp.USER32.dll_EnumWindows]
mov rax, qword [rsp + 0x1888]
test rax, rax
je 0x1400c1b69
lea rdx, [rsp + 0x20]
lea rcx, [0x1400c02f0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbp
call qword [sym.imp.USER32.dll_EnumWindows]
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x1400c1b30
mov rcx, qword [rsp + 0x1888]
call fcn.1400c1200
mov qword [rsp + 0x1888], rbx
jmp 0x1400c1b38
mov rbx, qword [rsp + 0x1888]
mov rcx, rbx
call fcn.1400be7b0
mov rcx, qword [rsp + 0x1888]
call fcn.1400c1200
mov r11, qword [0x1401255c8]
mov ecx, dword [r11 + 0x74]
cmp ecx, 0xffffffff
jle 0x1400c1b95
mov edx, 1
call fcn.140001b60
jmp 0x1400c1b95
mov eax, dword [0x14012c4bc]
test eax, eax
je 0x1400c1b95
cmp eax, 1
mov dword [0x14012c4bc], ebp
setg al
test al, al
je 0x1400c1b95
mov rcx, rsi
call fcn.1400c1200
xor edx, edx
mov rcx, rbx
call fcn.1400c19e0
mov rsi, qword [rsp + 0x11cf8]
mov rbp, qword [rsp + 0x11cf0]
mov eax, 1
mov rbx, qword [rsp + 0x11d00]
add rsp, 0x11ce0
pop rdi
ret
Function at 0x1400d7648
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
xor edx, edx
jmp fcn.1400d74b8

Function at 0x1400e2fc8
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x50
mov rax, qword [0x140123ea8]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov ebp, r8d
mov r14, rdx
mov r13, rcx
call fcn.1400db46c
xor ebx, ebx
cmp qword [0x140128d48], rbx
mov rdi, rax
jne 0x1400e30db
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rsi, rax
test rax, rax
je 0x1400e31b2
lea rdx, [0x1400f0b10]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400e31b2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rdx, str.GetActiveWindow
mov rcx, rsi
mov qword [0x140128d48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rdx, str.GetLastActivePopup
mov rcx, rsi
mov qword [0x140128d50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rdx, str.GetUserObjectInformationW
mov rcx, rsi
mov qword [0x140128d58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov r11, rax
mov qword [0x140128d68], rax
test rax, rax
je 0x1400e30d2
lea rdx, str.GetProcessWindowStation
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov qword [0x140128d60], rax
jmp 0x1400e30e2
mov rax, qword [0x140128d60]
jmp 0x1400e30e9
mov rax, qword [0x140128d60]
mov r11, qword [0x140128d68]
cmp rax, rdi
je 0x1400e3150
cmp r11, rdi
je 0x1400e3150
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DecodePointer]
mov rcx, qword [0x140128d68]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_DecodePointer]
mov r12, rax
test rsi, rsi
je 0x1400e3150
test rax, rax
je 0x1400e3150
call rsi
test rax, rax
je 0x1400e314a
lea rcx, [rsp + 0x30]
mov r9d, reloc.WSOCK32.dll_ioctlsocket
lea r8, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
lea edx, [r9 - 0xb]
mov rcx, rax
call r12
test eax, eax
je 0x1400e314a
test byte [rsp + 0x40], 1
jne 0x1400e3150
bts ebp, 0x15
jmp 0x1400e3190
mov rcx, qword [0x140128d50]
cmp rcx, rdi
je 0x1400e3190
call qword [sym.imp.KERNEL32.dll_DecodePointer]
test rax, rax
je 0x1400e3190
call rax
mov rbx, rax
test rax, rax
je 0x1400e3190
mov rcx, qword [0x140128d58]
cmp rcx, rdi
je 0x1400e3190
call qword [sym.imp.KERNEL32.dll_DecodePointer]
test rax, rax
je 0x1400e3190
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x140128d48]
call qword [sym.imp.KERNEL32.dll_DecodePointer]
test rax, rax
je 0x1400e31b2
mov r9d, ebp
mov r8, r14
mov rdx, r13
mov rcx, rbx
call rax
jmp 0x1400e31b4
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400df260
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400e5f3f
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [0x140123ea8]
jne 0x1400df27a
rol rcx, 0x10
test cx, 0xffff
jne 0x1400df276
repz ret
ror rcx, 0x10
jmp 0x1400e5e98
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x140128e90]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rax, qword [0x140128f88]
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x1400e5f1d
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x140128e90]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x1400e5f3f
mov rax, qword [rsp + 0x88]
mov qword [0x140128f88], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x140128f28], rax
mov rax, qword [0x140128f88]
mov qword [0x140128e00], rax
mov rax, qword [rsp + 0x90]
mov qword [0x140128f10], rax
mov dword [0x140128df0], 0xc0000409
mov dword [0x140128df4], 1
mov rax, qword [0x140123ea8]
mov qword [rsp + 0x68], rax
mov rax, qword [0x140123eb0]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x140128e88], eax
mov ecx, 1
call fcn.1400e2e1c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x1400f14d8]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x140128e88], 0
jne 0x1400e5fc6
mov ecx, 1
call fcn.1400e2e1c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret
Function at 0x140002470
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400024ba
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400024ba
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], reloc.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
jne 0x1400024ba
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400024ba
cmp dword [rcx + 0x84], 0xe
jbe 0x1400024ba
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400024bc
xor al, al
add rsp, 0x28
ret
Function at 0x1400112ee
Capabilities:
Get file size
Read file on windows
Write file on windows

Disassembly:
jmp 0x14001a1b0
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x228
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x4a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x248]
mov rax, qword [0x1400361b8]
xor rax, rbp
mov qword [rbp + 0x1d8], rax
lea rcx, [0x14003c45c]
call fcn.14001176c
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, qword [rbp + 0x200]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0xffffffffffffffff
jne 0x14001a255
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._n____Failed_to_get_handle_to_the_file___u__n
call fcn.140011393
xor eax, eax
jmp 0x14001a360
xor edx, edx
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
mov ecx, eax
call fcn.140011334
mov qword [rbp + 0x1c8], rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, dword [rbp + 0x44]
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rbp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
movzx eax, word [rax + 0x14]
mov rcx, qword [rbp + 0xa8]
lea rax, [rcx + rax + 0x18]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xa8]
movzx eax, word [rax + 6]
dec eax
cdqe
imul rax, rax, 0x28
mov rcx, qword [rbp + 0xc8]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0xe8], rax
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbp + 0xe8]
mov edx, dword [rax + 0x14]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov rax, qword [rbp + 0x208]
mov r8d, dword [rax + 8]
mov rax, qword [rbp + 0x208]
mov rdx, qword [rax]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x140027570]
call fcn.140011659
mov rax, rdi
mov rcx, qword [rbp + 0x1d8]
xor rcx, rbp
call fcn.1400113bb
lea rsp, [rbp + 0x1e8]
pop rdi
pop rbp
ret
Function at 0x140011438
Capabilities:
Terminate process

Disassembly:
jmp 0x14001bd60
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x140011479
Capabilities:
Get common file path
Write file on windows

Disassembly:
jmp 0x140018f70
push rbp
push rdi
sub rsp, 0x868
lea rbp, [rsp + 0x60]
lea rdi, [rsp + 0x60]
mov ecx, 0x172
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1400361b8]
xor rax, rbp
mov qword [rbp + 0x7f8], rax
lea rcx, [0x14003c384]
call fcn.14001176c
lea rdx, [rbp + 0x100]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r8d, 0x104
xor edx, edx
lea rcx, [rbp + 0x330]
call fcn.1400115cd
lea rdx, [0x140026c38]
lea rcx, [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.out_pe.exe
lea rcx, [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rbp + 0x330]
lea rcx, str._ws_n
call fcn.14001104b
lea rdx, [rbp + 0x330]
lea rcx, [rbp + 0xa8]
call fcn.140011717
mov r8d, 0x10
xor edx, edx
lea rcx, [rbp + 0x78]
call fcn.1400115cd
mov dword [rbp + 0x28], 0x30
mov qword [rbp + 0x30], 0
mov dword [rbp + 0x40], 0x40
lea rax, [rbp + 0xa8]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0x20
mov dword [rsp + 0x38], 5
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x78]
lea r8, [rbp + 0x28]
mov edx, 0x120116
lea rcx, [rbp + 0xd8]
call fcn.14001132a
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
jge 0x1400190ee
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [0x140026c78]
call fcn.140011393
xor eax, eax
jmp 0x14001918c
mov r8d, 0x10
xor edx, edx
lea rcx, [rbp + 0x578]
call fcn.1400115cd
mov dword [rbp + 0x5a4], 0x9400
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov eax, dword [rbp + 0x5a4]
mov dword [rsp + 0x30], eax
lea rax, [0x14002b010]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0xd8]
call fcn.1400116ea
mov dword [rbp + 0x554], eax
cmp dword [rbp + 0x554], 0
jge 0x140019178
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [0x140026ca0]
call fcn.140011393
xor eax, eax
jmp 0x14001918c
mov rcx, qword [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [rbp + 0x330]
mov rdi, rax
lea rcx, [rbp - 0x60]
lea rdx, [0x1400262f8]
call fcn.140011659
mov rax, rdi
mov rcx, qword [rbp + 0x7f8]
xor rcx, rbp
call fcn.1400113bb
lea rsp, [rbp + 0x808]
pop rdi
pop rbp
ret
Function at 0x140011546
Capabilities:
Parse pe header

Disassembly:
jmp 0x14001e6e0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14001e700
xor al, al
jmp 0x14001e781
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x14001e713
xor al, al
jmp 0x14001e781
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001e73d
xor al, al
jmp 0x14001e781
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x14001e751
xor al, al
jmp 0x14001e781
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x14001e763
xor al, al
jmp 0x14001e781
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14001e77f
xor al, al
jmp 0x14001e781
mov al, 1
add rsp, 0x38
ret
Function at 0x18005d020
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov rdi, r9
mov r11, r8
mov rsi, rdx
mov r10, rcx
movzx r9d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [r8 + 1]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 2]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 3]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 4]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 5]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 6]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 7]
xor r9, rax
imul r9, rcx
mov r8, qword [r10 + 0x30]
and r8, r9
shl r8, 4
mov rbx, qword [r10 + 0x18]
mov rax, qword [rbx + r8]
cmp rax, qword [r10 + 8]
jne 0x18005d0db
mov rbx, qword [r10 + 8]
jmp 0x18005d0e3
mov rbx, qword [rbx + r8 + 8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x18005d131
mov rcx, qword [r11]
nop dword [rax + rax]
mov rbx, qword [rbx + 8]
cmp rcx, qword [rbx + 0x10]
je 0x18005d101
cmp rbx, rax
jne 0x18005d0f0
jmp 0x18005d131
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
dec qword [r10 + 0x10]
mov rcx, rdi
call fcn.1800e9988
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x18005d1c8
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi]
cmp rbx, rax
je 0x18005d16b
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r10 + 0x18]
add rdx, r8
mov rax, qword [rdx]
cmp rax, qword [r10 + 8]
jne 0x18005d189
mov qword [rdx], rdi
mov rax, qword [r10 + 0x18]
mov qword [rax + r8 + 8], rdi
jmp 0x18005d1b5
cmp rax, rbx
jne 0x18005d193
mov qword [rdx], rdi
jmp 0x18005d1b5
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x18005d1b5
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8 + 8], rcx
mov rcx, r10
call fcn.18005d3f0
nop
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x18005d1e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x30
movzx ecx, byte [r8]
mov rbx, rdx
movabs rdx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movzx eax, byte [r8 + 1]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [r8 + 2]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [r8 + 3]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [r8 + 4]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [r8 + 5]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [r8 + 6]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [r8 + 7]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
mov rdx, qword [0x180200238]
and rcx, qword [0x180200250]
mov rax, rcx
add rax, rax
add rcx, rcx
mov rax, qword [rdx + rax*8]
mov r9, qword [rdx + rcx*8]
lea r10, [rdx + rcx*8]
mov rdx, qword [0x180200228]
nop word [rax + rax]
cmp r9, rdx
jne 0x18005d29a
mov rcx, rdx
jmp 0x18005d2a1
mov rcx, qword [r10 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x18005d2d4
mov rcx, qword [r8]
cmp qword [rax + 0x10], rcx
je 0x18005d2b4
mov rax, qword [rax]
jmp 0x18005d290
mov rcx, qword [rax + 0x10]
cmp qword [r8], rcx
cmovne rax, rdx
cmp rax, rdx
je 0x18005d2d4
mov qword [rbx], rax
mov rax, rbx
mov byte [rbx + 8], 0
add rsp, 0x30
pop rbx
ret
mov qword [rsp + 0x40], r8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rdx]
mov rdx, rdi
mov qword [rsp + 0x20], rax
mov r8, qword [rdi + 8]
call fcn.18005d720
mov rdx, qword [0x180200230]
movabs rcx, 0x7fffffffffffffe
sub rcx, rdx
mov r8, rax
cmp rcx, 1
jae 0x18005d322
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rdx
lea rcx, [0x180200220]
mov qword [0x180200230], rdx
mov rdx, rbx
mov qword [rdi + 8], r8
mov rax, qword [rax + 8]
mov qword [rax], r8
mov r9, qword [0x180200228]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.18005d020
mov rdi, qword [rsp + 0x48]
mov rax, rbx
add rsp, 0x30
pop rbx
ret
Function at 0x18005d4b0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rdi
sub rsp, 0x20
mov r9, r8
mov r10, rcx
movzx r8d, byte [r8 + 0x10]
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
mov rdi, rdx
xor r8, rax
movzx eax, byte [r9 + 0x11]
mov rdx, qword [r10 + 0x30]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x12]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x13]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x14]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x15]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x16]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x17]
imul r8, rcx
xor r8, rax
imul r8, rcx
mov rcx, qword [r10 + 0x18]
and rdx, r8
shl rdx, 4
add rcx, rdx
cmp qword [rcx + 8], r9
jne 0x18005d579
cmp qword [rcx], r9
jne 0x18005d56f
mov rax, qword [r10 + 8]
mov qword [rcx], rax
mov rcx, qword [r10 + 0x18]
mov rax, qword [r10 + 8]
mov qword [rdx + rcx + 8], rax
jmp 0x18005d584
mov rax, qword [r9 + 8]
mov qword [rcx + 8], rax
jmp 0x18005d584
cmp qword [rcx], r9
jne 0x18005d589
mov rax, qword [r9]
mov qword [rcx], rax
mov r9, qword [rsp + 0x40]
mov rax, qword [r9 + 8]
mov rcx, r9
mov rbx, qword [r9]
mov qword [rax], rbx
mov rdx, qword [r9]
mov rax, qword [r9 + 8]
mov qword [rdx + 8], rax
dec qword [r10 + 0x10]
call fcn.1800e9988
mov qword [rdi], rbx
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x18005d820
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x18019e008]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov eax, dword [0x1800fc850]
xor edi, edi
movups xmm0, xmmword [str._pipediscord_ipc_0]
mov dword [rsp + 0x68], eax
mov rbx, rcx
movzx eax, word [0x1800fc854]
lea rcx, [rsp + 0x40]
movups xmm1, xmmword [0x1800fc838]
mov word [rsp + 0x6c], ax
mov eax, 0x30
movups xmmword [rsp + 0x40], xmm0
xor r9d, r9d
mov qword [rsp + 0x30], rdi
movsd xmm0, qword [0x1800fc848]
xor r8d, r8d
mov dword [rsp + 0x28], edi
mov edx, 0xc0000000
movsd qword [rsp + 0x60], xmm0
mov word [rsp + 0x6a], ax
movups xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
jne 0x18005d924
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x18005d8d8
movzx eax, word [rsp + 0x6a]
cmp ax, 0x39
jae 0x18005d947
inc ax
mov word [rsp + 0x6a], ax
jmp 0x18005d8f3
cmp eax, 0xe7
jne 0x18005d947
mov edx, 0x2710
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
je 0x18005d947
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], edi
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
je 0x18005d8b8
mov byte [rbx], 1
mov al, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1800e99a0
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rdi
ret
xor al, al
jmp 0x18005d929