joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004ac00
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
push rbp
push rsi
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], 0xfffffffffffffffe
mov rsi, rcx
cmp byte [rcx + 0x17], 0
jns 0x14004ac28
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
sete cl
not eax
test eax, 0x410
setne al
or al, cl
je 0x14004acc0
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x14004ac4e
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x14004acb6
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
lea rdx, str.bool___cdecl_crashpad::LoggingRemoveFile_const_base::FilePath__
lea r8, str.third_party_crashpad_crashpad_util_file_filesystem_win.cc
lea rcx, [rbp - 0x50]
mov r9d, 0x93
call fcn.1400069d0
lea rcx, [rbp - 0x48]
lea rdx, str.DeleteFile
mov r8d, 0xb
call fcn.1400048b0
mov rcx, rax
mov rdx, rsi
call fcn.140008200
lea rcx, [rbp - 0x50]
call fcn.140006a90
xor eax, eax
add rsp, 0x168
pop rsi
pop rbp
ret
mov rcx, rsi
add rsp, 0x168
pop rsi
pop rbp
jmp fcn.14004ad10

Function at 0x14004ad10
Capabilities:
Delete directory

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x170
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe8], 0xfffffffffffffffe
mov rsi, rcx
cmp byte [rcx + 0x17], 0
jns 0x14004ad39
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x14004ad9f
mov edi, eax
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
lea rdx, str.bool___cdecl_crashpad::_anonymous_namespace_::LoggingRemoveDirectoryImpl_const_base::FilePath__
lea r8, str.third_party_crashpad_crashpad_util_file_filesystem_win.cc
lea rcx, [rbp - 0x48]
mov r9d, 0x2f
call fcn.1400069d0
lea rcx, [rbp - 0x40]
lea rdx, str.RemoveDirectory
mov r8d, 0x10
call fcn.1400048b0
mov rcx, rax
mov rdx, rsi
call fcn.140008200
lea rcx, [rbp - 0x48]
call fcn.140006a90
mov eax, edi
test eax, eax
setne al
add rsp, 0x170
pop rdi
pop rsi
pop rbp
ret
Function at 0x140057670
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x158
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd0], 0xfffffffffffffffe
test rdx, rdx
je 0x140057735
mov rsi, rdx
mov rdi, rcx
mov r15d, 0xffffffff
lea r12, [rbp - 0x58]
lea r13, str.Check_failed:_success
lea rbx, [0x1400c6437]
jmp 0x1400576d0
mov rcx, r12
call fcn.140006650
add rdi, r14
sub rsi, r14
je 0x140057735
cmp rsi, r15
mov r14d, 0xffffffff
cmovb r14, rsi
mov rcx, rdi
mov edx, r14d
call sub.ADVAPI32.dll_SystemFunction036
test al, al
jne 0x1400576c8
mov dword [rsp + 0x20], 4
mov rcx, r12
lea rdx, str.void___cdecl_base::RandBytes_void___size_t_
lea r8, str.third_party_mini_chromium_mini_chromium_base_rand_util.cc
mov r9d, 0x7d
call fcn.140005c30
mov r8d, 0x15
lea rcx, [rbp - 0x50]
mov rdx, r13
call fcn.1400048b0
mov r8d, 2
mov rcx, rax
mov rdx, rbx
call fcn.1400048b0
jmp 0x1400576c0
add rsp, 0x158
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140057d20
Capabilities:
Check os version
Create pipe

Disassembly:
push rsi
sub rsp, 0x60
test dl, dl
je 0x140057d7a
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetVersion]
and eax, 0xfe
mov edx, 0x80003
cmp eax, 6
jb 0x140057d89
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x40], 0x18
xor ecx, ecx
call fcn.140057dd0
mov edx, 0x80003
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 1
lea rax, [rsp + 0x40]
jmp 0x140057d8b
mov edx, 3
xor eax, eax
cmp byte [rcx + 0x17], 0
js 0x140057d94
jmp 0x140057d97
xor eax, eax
mov rcx, rsi
cmp byte [rcx + 0x17], 0
jns 0x140057d97
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x200
mov dword [rsp + 0x20], 0x200
mov r8d, 6
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
nop
add rsp, 0x60
pop rsi
ret

Function at 0x140058780
Capabilities:
Create thread

Disassembly:
push rbp
push rsi
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], 0xfffffffffffffffe
mov rsi, rcx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r8, [0x140058880]
xor ecx, ecx
xor edx, edx
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi + 8], rax
test rax, rax
jne 0x140058844
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 4
lea rdx, str.void___cdecl_crashpad::Thread::Start_void_
lea r8, str.third_party_crashpad_crashpad_util_thread_thread_win.cc
lea rcx, [rbp - 0x50]
mov r9d, 0x1b
call fcn.1400069d0
lea rcx, [rbp - 0x48]
lea rdx, str.Check_failed:_platform_thread_
mov r8d, 0x1e
call fcn.1400048b0
lea rdx, [0x1400c6437]
mov r8d, 2
mov rcx, rax
call fcn.1400048b0
lea rdx, [0x1400c7a71]
mov r8d, 0xc
mov rcx, rax
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006a90
nop
add rsp, 0x168
pop rsi
pop rbp
ret
Function at 0x140058e10
Capabilities:
Check os version

Disassembly:
push rbp
push rsi
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], 0xfffffffffffffffe
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetVersion]
mov ecx, eax
and ecx, 0xfe
cmp ecx, 6
setae cl
and eax, 0xfeff
cmp eax, 6
setne al
test cl, al
jne 0x140058e62
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov al, 1
jmp 0x140058eeb
mov eax, dword [0x14010d648]
mov ecx, dword [0x14010c618]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140058ef5
mov rcx, rsi
xor edx, edx
mov r8d, 0x10000000
call qword [0x14010d640]
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x140058eeb
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
lea rdx, str.bool___cdecl_crashpad::_anonymous_namespace_::CrashpadInitializeCriticalSectionEx_CRITICAL_SECTION___DWORD__DWORD_
lea r8, str.third_party_crashpad_crashpad_util_win_critical_section_with_debug_info.cc
lea rcx, [rbp - 0x50]
mov r9d, 0x21
call fcn.1400069d0
lea rcx, [rbp - 0x48]
lea rdx, [0x1400cdc83]
mov r8d, 0x1b
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006a90
xor eax, eax
add rsp, 0x168
pop rsi
pop rbp
ret
lea rcx, [0x14010d648]
call fcn.140096494
cmp dword [0x14010d648], 0xffffffff
jne 0x140058e83
lea rcx, [0x1400c7db4]
lea rdx, str.::InitializeCriticalSectionEx
mov r8b, 1
call fcn.140058220
mov qword [0x14010d640], rax
lea rcx, [0x14010d648]
call fcn.14009652c
jmp 0x140058e83
Function at 0x14005a7f0
Capabilities:
Get system information on windows

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x170
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe8], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov qword [rcx + 8], rdx
mov eax, dword [0x14010d658]
mov ecx, dword [0x14010c618]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005aa1f
mov rax, qword [0x14010d650]
test rax, rax
je 0x14005a8c0
lea rdx, [rbp + 0xe4]
mov rcx, rdi
call rax
test eax, eax
je 0x14005a873
cmp dword [rbp + 0xe4], 0
setne byte [rsi + 0x81]
je 0x14005a8c7
mov byte [rsi + 0x80], 0
mov dl, 1
jmp 0x14005a8e4
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
lea rdx, str.bool___cdecl_crashpad::_anonymous_namespace_::IsProcessWow64_HANDLE_
lea r8, [0x1400cdcb0]
lea rcx, [rbp - 0x50]
mov r9d, 0x4c
call fcn.1400069d0
lea rcx, [rbp - 0x48]
lea rdx, [0x1400cd57d]
mov r8d, 0xe
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006a90
mov byte [rsi + 0x81], 0
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp word [rbp - 0x50], 9
sete byte [rsi + 0x80]
movzx edx, byte [rsi + 0x81]
lea rax, [rsi + 0x30]
lea r9, [rsi + 0x28]
mov qword [rsp + 0x20], rax
and dl, 1
mov rcx, rdi
mov r8, rsi
call fcn.14005ab60
test al, al
je 0x14005a964
mov rdx, qword [rsi + 0x28]
cmp byte [rsi + 0x80], 1
jne 0x14005a9b5
mov rcx, rdi
mov r8, rsi
call fcn.14005afd0
test al, al
jne 0x14005a9c8
mov dword [rsp + 0x20], 2
lea rdx, str.bool___cdecl_crashpad::ProcessInfo::Initialize_HANDLE_
lea r8, [0x1400cdcb0]
lea rcx, [rbp - 0x50]
mov r9d, 0x228
call fcn.140005c30
lea rcx, [rbp - 0x48]
lea rdx, str.ReadProcessData_failed
mov r8d, 0x16
call fcn.1400048b0
jmp 0x14005a99f
mov dword [rsp + 0x20], 2
lea rdx, str.bool___cdecl_crashpad::ProcessInfo::Initialize_HANDLE_
lea r8, [0x1400cdcb0]
lea rcx, [rbp - 0x50]
mov r9d, 0x21f
call fcn.140005c30
lea rcx, [rbp - 0x48]
lea rdx, str.GetProcessBasicInformation_failed
mov r8d, 0x21
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006650
xor eax, eax
add rsp, 0x170
pop rdi
pop rsi
pop rbp
ret
mov rcx, rdi
mov r8, rsi
call fcn.14005b8b0
test al, al
je 0x14005a927
movzx edx, byte [rsi + 0x80]
mov rcx, rdi
mov r8, rsi
call fcn.140059880
mov ecx, eax
mov al, 1
test cl, cl
jne 0x14005a9aa
mov dword [rsp + 0x20], 2
lea rdx, str.bool___cdecl_crashpad::ProcessInfo::Initialize_HANDLE_
lea r8, [0x1400cdcb0]
lea rcx, [rbp - 0x50]
mov r9d, 0x22d
call fcn.140005c30
lea rcx, [rbp - 0x48]
lea rdx, str.ReadMemoryInfo_failed
mov r8d, 0x15
call fcn.1400048b0
jmp 0x14005a99f
lea rcx, [0x14010d658]
call fcn.140096494
cmp dword [0x14010d658], 0xffffffff
jne 0x14005a83c
lea rcx, [0x1400c7db4]
lea rdx, str.::IsWow64Process
xor r8d, r8d
call fcn.140058220
mov qword [0x14010d650], rax
lea rcx, [0x14010d658]
call fcn.14009652c
jmp 0x14005a83c
Function at 0x14006be60
Capabilities:
Get system information on windows

Disassembly:
push rbp
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x108], 0xfffffffffffffffe
lea rcx, [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rbp + 0xf8]
cmp ecx, 0x100
jb 0x14006bee0
mov dword [rsp + 0x20], 1
lea rdx, str.virtual_uint8_t___cdecl_crashpad::internal::SystemSnapshotWin::CPUCount_void__const
lea r8, str.third_party_crashpad_crashpad_snapshot_win_system_snapshot_win.cc
lea rcx, [rbp - 0x50]
mov r9d, 0x10a
call fcn.140005c30
lea rcx, [rbp - 0x48]
lea rdx, str.dwNumberOfProcessors_exceeds_uint8_t_storage
mov r8d, 0x2c
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006650
mov ecx, dword [rbp + 0xf8]
cmp ecx, 0x100
mov eax, 0xff
cmovb eax, ecx
add rsp, 0x190
pop rbp
ret
Function at 0x14006bf60
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x108], 0xfffffffffffffffe
mov rsi, r8
mov rdi, rdx
lea rcx, [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp + 0xf8]
cmp eax, 0x100
jb 0x14006bfee
mov dword [rsp + 0x20], 1
lea rdx, str.virtual_uint8_t___cdecl_crashpad::internal::SystemSnapshotWin::CPUCount_void__const
lea r8, str.third_party_crashpad_crashpad_snapshot_win_system_snapshot_win.cc
lea rcx, [rbp - 0x50]
mov r9d, 0x10a
call fcn.140005c30
lea rcx, [rbp - 0x48]
lea rdx, str.dwNumberOfProcessors_exceeds_uint8_t_storage
mov r8d, 0x2c
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006650
mov eax, dword [rbp + 0xf8]
cmp eax, 0x100
mov ecx, 0xff
cmovb ecx, eax
movzx r12d, cl
xorps xmm0, xmm0
movaps xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x50]
mov qword [rbp + 0xd8], rax
mov byte [rbp + 0xe0], 0
lea r15d, [r12*8]
lea r14, [r15 + r15*2]
mov rcx, r14
call fcn.140096664
mov rbx, rax
mov qword [rbp - 0x50], rax
lea rax, [r12 + r12*2]
lea rax, [rbx + rax*8]
mov qword [rbp - 0x40], rax
add r14, 0xffffffffffffffe8
movzx eax, r14w
imul eax, eax, 0xaaab
shr eax, 0x11
and eax, 0xfffffff8
lea eax, [rax + rax*2]
mov ecx, r14d
sub ecx, eax
movzx eax, cx
sub r14, rax
lea r8, [r14 + 0x18]
mov rcx, rbx
xor edx, edx
call fcn.1400990c0
lea rax, [rbx + r14]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea eax, [r15 + r15*2]
mov dword [rsp + 0x20], eax
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
mov r9, rbx
call sub.POWRPROF.dll_CallNtPowerInformation
test eax, eax
je 0x14006c0b0
mov qword [rdi], 0
xor eax, eax
mov rcx, qword [rbp - 0x50]
jmp 0x14006c0ed
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
cmp rcx, rax
sete r8b
mov rdx, rcx
add rdx, 0x18
cmp rdx, rax
sete r9b
or r9b, r8b
je 0x14006c118
mov eax, dword [rcx + 8]
imul rax, rax, 0xf4240
mov qword [rdi], rax
mov r8, rcx
mov eax, dword [r8 + 4]
imul rax, rax, 0xf4240
mov qword [rsi], rax
test rcx, rcx
je 0x14006c105
mov qword [rbp - 0x48], rcx
mov rdx, qword [rbp - 0x40]
sub rdx, rcx
call fcn.14009665c
nop
add rsp, 0x190
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov r8, rdx
mov r9, rcx
jmp 0x14006c12c
add r8, 0x18
mov r9, r10
cmp r8, rax
je 0x14006c13e
mov r11d, dword [r9 + 8]
mov r10, r8
cmp r11d, dword [r8 + 8]
jb 0x14006c120
mov r10, r9
jmp 0x14006c120
mov r8d, dword [r10 + 8]
imul r8, r8, 0xf4240
mov qword [rdi], r8
mov r9, rcx
jmp 0x14006c170
add rdx, 0x18
mov r9, r8
cmp rdx, rax
je 0x14006c0e2
mov r10d, dword [r9 + 4]
mov r8, rdx
cmp r10d, dword [rdx + 4]
jb 0x14006c160
mov r8, r9
jmp 0x14006c160
Function at 0x140088a30
Capabilities:
Parse pe header

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x118], 0xfffffffffffffffe
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea r14, [rcx + 0x18]
mov rcx, r14
call fcn.1400890a0
lea r9, [rbp - 0x50]
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
call fcn.140093610
test al, al
je 0x140088ad4
cmp word [rbp - 0x50], 0x5a4d
jne 0x140088b30
mov rcx, r14
call fcn.1400890a0
movsxd r14, dword [rbp - 0x14]
add r14, rax
mov r8d, 0x108
mov rcx, rsi
mov rdx, r14
mov r9, rbx
call fcn.140093610
test al, al
je 0x140088b8c
cmp dword [rbx], 0x4550
jne 0x140088be5
mov al, 1
test rdi, rdi
je 0x140088c47
mov qword [rdi], r14
jmp 0x140088c47
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS64_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x154
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088b20
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
jmp 0x140088c3c
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS64_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x15a
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088b7c
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
jmp 0x140088c3c
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS64_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x162
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.could_not_read_nt_headers_from
mov r8d, 0x1f
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088bd8
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
jmp 0x140088c3c
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS64_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x168
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088c31
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
lea rcx, [rbp - 0x10]
call fcn.140006650
xor eax, eax
add rsp, 0x1a0
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
Function at 0x140088d20
Capabilities:
Parse pe header

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x118], 0xfffffffffffffffe
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea r14, [rcx + 0x18]
mov rcx, r14
call fcn.1400890a0
lea r9, [rbp - 0x50]
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
call fcn.140093610
test al, al
je 0x140088dc4
cmp word [rbp - 0x50], 0x5a4d
jne 0x140088e20
mov rcx, r14
call fcn.1400890a0
movsxd r14, dword [rbp - 0x14]
add r14, rax
mov r8d, 0xf8
mov rcx, rsi
mov rdx, r14
mov r9, rbx
call fcn.140093610
test al, al
je 0x140088e7c
cmp dword [rbx], 0x4550
jne 0x140088ed5
mov al, 1
test rdi, rdi
je 0x140088f37
mov qword [rdi], r14
jmp 0x140088f37
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x154
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088e10
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
jmp 0x140088f2c
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x15a
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088e6c
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
jmp 0x140088f2c
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x162
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.could_not_read_nt_headers_from
mov r8d, 0x1f
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088ec8
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
jmp 0x140088f2c
mov dword [rsp + 0x20], 1
lea rdx, str.bool___cdecl_crashpad::PEImageReader::ReadNtHeaders_NtHeadersType___WinVMAddress___const__NtHeadersType___IMAGE_NT_HEADERS_
lea r8, str.third_party_crashpad_crashpad_snapshot_win_pe_image_reader.cc
lea rcx, [rbp - 0x10]
mov r9d, 0x168
call fcn.140005c30
lea rcx, [rbp - 8]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
call fcn.1400048b0
movsx r8, byte [rsi + 0x17]
test r8, r8
jns 0x140088f21
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1400048b0
lea rcx, [rbp - 0x10]
call fcn.140006650
xor eax, eax
add rsp, 0x1a0
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
Function at 0x140096968
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400969b2
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400969b2
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400969b2
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400969b2
cmp dword [rcx + 0x84], 0xe
jbe 0x1400969b2
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400969b4
xor al, al
add rsp, 0x28
ret

Function at 0x1400ac33c
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x250
mov rax, qword [0x14010b990]
xor rax, rsp
mov qword [rsp + 0x240], rax
lea rdx, [0x1400dd198]
mov rbp, rcx
call fcn.1400b7cc4
xor edi, edi
test rax, rax
je 0x1400ac422
mov ebx, edi
call fcn.1400a8cf8
mov r14d, dword [rax]
call fcn.1400a8cf8
mov r8d, 0x104
lea rcx, [rsp + 0x30]
mov rdx, rbp
mov dword [rax], edi
call fcn.1400bcdb0
mov rsi, rax
test rax, rax
je 0x1400ac3b3
call fcn.1400a8cf8
mov dword [rax], r14d
jmp 0x1400ac3dd
call fcn.1400a8cf8
cmp dword [rax], 0x22
jne 0x1400ac41a
call fcn.1400a8cf8
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
mov dword [rax], r14d
call fcn.1400bcdb0
mov rbx, rax
mov rsi, rax
test rax, rax
je 0x1400ac41a
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], di
jne 0x1400ac3e1
cmp rax, 3
je 0x1400ac3fc
mov rcx, rsi
call fcn.1400ac298
test al, al
je 0x1400ac40d
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 1
jbe 0x1400ac40d
mov dil, 1
mov rcx, rbx
call fcn.1400ad878
mov al, dil
jmp 0x1400ac424
mov rcx, rbx
call fcn.1400ad878
xor al, al
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140096fd0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret

Function at 0x1400af4b0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1400af4d8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x1400af4d8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret

Function at 0x1400b94f8
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov ebx, ecx
call fcn.1400b30a0
mov ecx, ebx
lea r8, [rsp + 0x30]
and ecx, 0x3ff
mov r9d, 2
bts ecx, 0xa
mov edx, 0x20000001
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor edx, edx
test eax, eax
je 0x1400b9599
cmp ebx, dword [rsp + 0x30]
je 0x1400b9592
test esi, esi
je 0x1400b9592
mov r10, qword [rdi + 0x98]
mov r9d, edx
movzx r8d, word [r10]
lea rcx, [r10 + 2]
lea eax, [r8 - 0x41]
cmp ax, 0x19
jbe 0x1400b956d
sub r8w, 0x61
cmp r8w, 0x19
ja 0x1400b957a
movzx r8d, word [rcx]
inc r9d
add rcx, 2
jmp 0x1400b9557
or rax, 0xffffffffffffffff
inc rax
cmp word [r10 + rax*2], dx
jne 0x1400b957e
cmp r9d, eax
setne dl
mov eax, edx
jmp 0x1400b959b
mov eax, 1
jmp 0x1400b959b
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret