joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140219650
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x1a0
mov rsi, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x198], rax
cmp byte [rcx + 0x17], 0
jns 0x140219678
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1402196a9
test eax, 0x410
sete sil
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.140186020
mov eax, esi
add rsp, 0x1a0
pop rbx
pop rdi
pop rsi
ret
mov ecx, 2
call fcn.1400ece10
test al, al
jne 0x1402196bb
xor esi, esi
jmp 0x14021968c
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_filesystem_win.cc
lea rcx, [rsp + 0x58]
mov r8d, 0x75
mov r9d, 2
call fcn.1401f99b0
lea rcx, [rsp + 0x68]
lea rdx, str.GetFileAttributes
mov r8d, 0x12
call fcn.1401c1300
mov rdi, rax
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x14021970b
and r8d, 0x7f
jmp 0x140219712
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov rdx, rsi
call fcn.140180c80
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
call fcn.140148c90
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x140219742
and r8d, 0x7f
jmp 0x14021974c
mov r8, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.1401c1300
cmp byte [rsp + 0x57], 0
jns 0x140219768
mov rcx, qword [rsp + 0x40]
call fcn.1401833ec
lea rcx, [rsp + 0x58]
call fcn.1401f9a30
jmp 0x1402196b7
Function at 0x140219780
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x1a0
mov rsi, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x198], rax
cmp byte [rcx + 0x17], 0
jns 0x1402197a8
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1402197bf
and eax, 0x410
cmp eax, 0x410
je 0x140219805
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x1402197cb
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dil, 1
test eax, eax
jne 0x1402197e8
mov ecx, 2
call fcn.1400ece10
test al, al
jne 0x140219827
xor edi, edi
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.140186020
mov eax, edi
add rsp, 0x1a0
pop rbx
pop rdi
pop rsi
ret
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.140186020
mov rcx, rsi
add rsp, 0x1a0
pop rbx
pop rdi
pop rsi
jmp fcn.1402198f0
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_filesystem_win.cc
lea rcx, [rsp + 0x58]
mov r8d, 0x95
mov r9d, 2
call fcn.1401f99b0
lea rcx, [rsp + 0x68]
lea rdx, str.DeleteFile
mov r8d, 0xb
call fcn.1401c1300
mov rdi, rax
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x140219877
and r8d, 0x7f
jmp 0x14021987e
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov rdx, rsi
call fcn.140180c80
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
call fcn.140148c90
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x1402198ae
and r8d, 0x7f
jmp 0x1402198b8
mov r8, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.1401c1300
cmp byte [rsp + 0x57], 0
jns 0x1402198d4
mov rcx, qword [rsp + 0x40]
call fcn.1401833ec
lea rcx, [rsp + 0x58]
call fcn.1401f9a30
jmp 0x1402197e6
Function at 0x1402198f0
Capabilities:
Delete directory

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x198
mov rdi, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x190], rax
cmp byte [rcx + 0x17], 0
jns 0x14021991a
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov esi, eax
test eax, eax
jne 0x140219934
mov ecx, 2
call fcn.1400ece10
test al, al
jne 0x140219958
test esi, esi
setne bl
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.140186020
mov eax, ebx
add rsp, 0x198
pop rbx
pop rdi
pop rsi
pop r14
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_filesystem_win.cc
lea rcx, [rsp + 0x50]
mov r8d, 0x30
mov r9d, 2
call fcn.1401f99b0
lea rcx, [rsp + 0x60]
lea rdx, str.RemoveDirectory
mov r8d, 0x10
call fcn.1401c1300
mov rbx, rax
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
js 0x1402199a8
and r8d, 0x7f
jmp 0x1402199af
mov r8, qword [rdi + 8]
mov rdi, qword [rdi]
lea r14, [rsp + 0x28]
mov rcx, r14
mov rdx, rdi
call fcn.140180c80
lea rdi, [rsp + 0x38]
mov rcx, rdi
mov rdx, r14
call fcn.140148c90
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
js 0x1402199df
and r8d, 0x7f
jmp 0x1402199e9
mov r8, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401c1300
cmp byte [rsp + 0x4f], 0
jns 0x140219a05
mov rcx, qword [rsp + 0x38]
call fcn.1401833ec
lea rcx, [rsp + 0x50]
call fcn.1401f9a30
jmp 0x140219934
Function at 0x14021e5c0
Capabilities:
Get system information on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x180
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x178], rax
mov qword [rcx + 8], rdx
mov eax, dword [0x1402b9268]
mov ecx, dword [0x1402ab5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14021e829
mov rax, qword [0x1402b9260]
test rax, rax
je 0x14021e6a7
lea rdx, [rsp + 0x174]
mov dword [rdx], 0xaaaaaaaa
mov rcx, rdi
call qword [0x1402c9008]
test eax, eax
je 0x14021e655
cmp dword [rsp + 0x174], 0
setne byte [rsi + 0x81]
je 0x14021e6ae
mov byte [rsi + 0x80], 0
mov dl, 1
jmp 0x14021e6e3
cmp dword [0x1402b65e0], 2
jg 0x14021e6a7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutilwinprocess_info.cc
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov r8d, 0x4b
mov r9d, 2
call fcn.1401f99b0
lea rcx, [rsp + 0x40]
lea rdx, [0x140283180]
mov r8d, 0xe
call fcn.1401c1300
mov rcx, rbx
call fcn.1401f9a30
mov byte [rsi + 0x81], 0
movaps xmm0, xmmword [0x14026cc70]
lea rbx, [rsp + 0x30]
movaps xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp word [rbx], 9
sete byte [rsi + 0x80]
cmp byte [rsi + 0x81], 0
setne dl
lea rax, [rsi + 0x30]
lea r9, [rsi + 0x28]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov r8, rsi
call fcn.14021e870
test al, al
jne 0x14021e766
cmp dword [0x1402b65e0], 2
jg 0x14021e747
lea rdx, str....._third_partycrashpadcrashpadutilwinprocess_info.cc
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x21e
mov r9d, 2
call fcn.140007440
lea rcx, [rsp + 0x40]
lea rdx, str.GetProcessBasicInformation_failed
mov r8d, 0x21
call fcn.1401c1300
mov rcx, rsi
call fcn.140007530
xor esi, esi
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.140186020
mov eax, esi
add rsp, 0x180
pop rbx
pop rdi
pop rsi
ret
cmp byte [rsi + 0x80], 0
mov rdx, qword [rsi + 0x28]
mov rcx, rdi
mov r8, rsi
je 0x14021e780
call fcn.14021ea90
jmp 0x14021e785
call fcn.14021f0e0
test al, al
jne 0x14021e7c9
cmp dword [0x1402b65e0], 2
jg 0x14021e747
lea rdx, str....._third_partycrashpadcrashpadutilwinprocess_info.cc
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x227
mov r9d, 2
call fcn.140007440
lea rcx, [rsp + 0x40]
lea rdx, str.ReadProcessData_failed
mov r8d, 0x16
jmp 0x14021e73a
mov dl, byte [rsi + 0x80]
mov rcx, rdi
mov r8, rsi
call fcn.1400d0a70
mov sil, 1
test al, al
jne 0x14021e749
cmp dword [0x1402b65e0], 2
jg 0x14021e747
lea rdx, str....._third_partycrashpadcrashpadutilwinprocess_info.cc
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x22c
mov r9d, 2
call fcn.140007440
lea rcx, [rsp + 0x40]
lea rdx, str.ReadMemoryInfo_failed
mov r8d, 0x15
jmp 0x14021e73a
lea rcx, [0x1402b9268]
call fcn.140183590
cmp dword [0x1402b9268], 0xffffffff
jne 0x14021e60b
lea rcx, [0x140277570]
lea rdx, str.::IsWow64Process
xor r8d, r8d
call fcn.1400d0950
mov qword [0x1402b9260], rax
lea rcx, [0x1402b9268]
call fcn.1401835f8
jmp 0x14021e60b
Function at 0x14022a7a0
Capabilities:
Query or enumerate registry value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, r8
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov eax, 0xaaaaaaaa
lea rdi, [rsp + 0x44]
mov dword [rdi], eax
lea r8, [rsp + 0x40]
mov dword [r8], eax
lea rax, [rsp + 0x3c]
mov dword [rax], 4
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
xor r8d, r8d
mov r9, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [rdi]
xor ecx, 4
or ecx, eax
sete bl
jne 0x14022a800
mov eax, dword [rsp + 0x40]
mov dword [rsi], eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140186020
mov eax, ebx
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
Function at 0x140237c70
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1b0
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
movaps xmm0, xmmword [0x14026cc70]
lea r15, [rsp + 0x160]
movaps xmmword [r15 + 0x30], xmm0
movaps xmmword [r15 + 0x20], xmm0
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
lea r14, [rcx + 0x18]
mov rcx, r14
call fcn.1401c74a0
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
mov r9, r15
call fcn.1402403e0
test al, al
je 0x140237dc5
movzx eax, word [rsp + 0x160]
cmp eax, 0x5a4d
jne 0x140237d3d
mov rcx, r14
call fcn.1401c74a0
movsxd r14, dword [rsp + 0x19c]
add r14, rax
mov r8d, 0x108
mov rcx, rsi
mov rdx, r14
mov r9, rbx
call fcn.1402403e0
test al, al
je 0x140237d86
cmp dword [rbx], 0x4550
jne 0x140237df6
mov sil, 1
test rdi, rdi
je 0x140237dd5
mov qword [rdi], r14
jmp 0x140237dd5
mov ecx, 1
call fcn.1400ece10
test al, al
je 0x140237dd3
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x15a
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
jmp 0x140237e6a
mov ecx, 1
call fcn.1400ece10
test al, al
je 0x140237dd3
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x162
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_nt_headers_from
jmp 0x140237e64
mov ecx, 1
call fcn.1400ece10
test al, al
jne 0x140237e38
xor esi, esi
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.140186020
mov eax, esi
add rsp, 0x1b0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, 1
call fcn.1400ece10
test al, al
je 0x140237dd3
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x168
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
jmp 0x140237e6a
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x154
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
call fcn.1401c1300
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x140237e7f
and r8d, 0x7f
jmp 0x140237e86
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1401c1300
mov rcx, rdi
call fcn.140007530
jmp 0x140237dd3
Function at 0x140237ea0
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1b0
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
movaps xmm0, xmmword [0x14026cc70]
lea r15, [rsp + 0x160]
movaps xmmword [r15 + 0x30], xmm0
movaps xmmword [r15 + 0x20], xmm0
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
lea r14, [rcx + 0x18]
mov rcx, r14
call fcn.1401c74a0
mov r8d, 0x40
mov rcx, rsi
mov rdx, rax
mov r9, r15
call fcn.1402403e0
test al, al
je 0x140237ff5
movzx eax, word [rsp + 0x160]
cmp eax, 0x5a4d
jne 0x140237f6d
mov rcx, r14
call fcn.1401c74a0
movsxd r14, dword [rsp + 0x19c]
add r14, rax
mov r8d, 0xf8
mov rcx, rsi
mov rdx, r14
mov r9, rbx
call fcn.1402403e0
test al, al
je 0x140237fb6
cmp dword [rbx], 0x4550
jne 0x140238026
mov sil, 1
test rdi, rdi
je 0x140238005
mov qword [rdi], r14
jmp 0x140238005
mov ecx, 1
call fcn.1400ece10
test al, al
je 0x140238003
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x15a
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_e_magic_in_dos_header_of
mov r8d, 0x21
jmp 0x14023809a
mov ecx, 1
call fcn.1400ece10
test al, al
je 0x140238003
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x162
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_nt_headers_from
jmp 0x140238094
mov ecx, 1
call fcn.1400ece10
test al, al
jne 0x140238068
xor esi, esi
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.140186020
mov eax, esi
add rsp, 0x1b0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, 1
call fcn.1400ece10
test al, al
je 0x140238003
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x168
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.invalid_signature_in_nt_headers_of
mov r8d, 0x23
jmp 0x14023809a
lea rdx, str....._third_partycrashpadcrashpad_snapshotwinpe_image_reader.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x154
mov r9d, 1
call fcn.140007440
lea rcx, [rsp + 0x38]
lea rdx, str.could_not_read_dos_header_from
mov r8d, 0x1f
call fcn.1401c1300
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
js 0x1402380af
and r8d, 0x7f
jmp 0x1402380b6
mov r8, qword [rsi + 8]
mov rsi, qword [rsi]
mov rcx, rax
mov rdx, rsi
call fcn.1401c1300
mov rcx, rdi
call fcn.140007530
jmp 0x140238003
Function at 0x1400051c0
Capabilities:
Log keystrokes via application hook

Disassembly:
push rsi
sub rsp, 0x20
lea rdx, [0x140005040]
mov ecx, 0xd
xor r8d, r8d
xor r9d, r9d
call sub.user32.dll_SetWindowsHookExA
mov rsi, rax
mov byte [0x14006e140], 1
mov qword [0x14006e148], rax
nop dword [rax]
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.user32.dll_GetMessageA
test eax, eax
jle 0x140005213
xor ecx, ecx
call sub.user32.dll_TranslateMessage
xor ecx, ecx
call sub.user32.dll_DispatchMessageA
jmp 0x1400051f0
mov rcx, rsi
add rsp, 0x20
pop rsi
jmp 0x14004adb4
jmp qword [sym.imp.user32.dll_UnhookWindowsHookEx]

Function at 0x140012460
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
nop word [rax + rax]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x140012470
test al, 1
je 0x14001248f
test al, 2
jne 0x1400124a9
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140051d48]
mov edx, 0x23
call fcn.14004ec80
ud2
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140051d08]
mov edx, 0x25
call fcn.14004ec80
ud2

Function at 0x140029ce0
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x58
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [rsp + 0x40]
add rsp, 0x58
ret
Function at 0x1400316e0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x478
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3f0], 0xfffffffffffffffe
mov qword [rbp + 0x3e0], rcx
mov qword [rbp + 0x3c8], 2
xorps xmm0, xmm0
movups xmmword [rbp + 0x3d0], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor edi, edi
xor ebx, ebx
xor r12d, r12d
cmp r8, 0x201
jae 0x140031770
jmp 0x14003175f
jae 0x140031830
cmp r8, 0x201
jae 0x140031770
mov esi, 0x200
lea r13, [rbp - 0x58]
mov r15, r8
jmp 0x1400317c8
sub r8, r12
sub rbx, r12
cmp rbx, r8
jae 0x14003179f
lea rcx, [rbp + 0x3c8]
mov rdx, r12
call fcn.14004e210
mov rax, qword [rbp + 0x3c8]
mov qword [rbp + 0x3e8], rax
mov rdi, qword [rbp + 0x3d0]
mov eax, 0xffffffff
cmp rdi, rax
mov r12d, 0xffffffff
cmovb r12, rdi
mov qword [rbp + 0x3d8], r12
mov rbx, rdi
mov rsi, r12
mov r13, qword [rbp + 0x3e8]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov ecx, r15d
mov rdx, r13
call qword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
mov r14d, eax
test eax, eax
jne 0x1400317f1
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x140031898
mov r8d, r14d
cmp r15, r8
jne 0x140031750
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400318bb
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x14003175f
jmp 0x140031770
cmp rsi, r8
jb 0x1400318d5
lea rcx, [rbp + 0x3a8]
mov rdx, r13
call fcn.140033e90
movups xmm0, xmmword [rbp + 0x3a8]
movups xmm1, xmmword [rbp + 0x3b8]
mov rsi, qword [rbp + 0x3e0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
test rdi, rdi
je 0x140031881
add rdi, rdi
mov r8d, 2
mov rcx, qword [rbp + 0x3e8]
mov rdx, rdi
call fcn.14000aa70
mov rax, rsi
add rsp, 0x478
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3e0]
mov qword [rsi], rax
mov byte [rsi + 0x18], 2
test rdi, rdi
jne 0x140031869
jmp 0x140031881
lea rcx, str.internal_error:_entered_unreachable_code_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_src_vecmod.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14004ec80
jmp 0x1400318ea
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.14004f140
ud2
Function at 0x140034890
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
movzx ebp, byte [rdx + 0x38]
xor ebx, ebx
cmp bpl, 1
setne dl
mov eax, 0
sbb eax, eax
mov rsi, rcx
or al, dl
movzx ecx, al
cmp cl, 0xff
je 0x1400348c0
test ecx, ecx
jne 0x140034910
movzx ebx, byte [rdi + 0x3a]
cmp al, 0xff
je 0x1400348cc
test ecx, ecx
jne 0x140034910
mov rcx, rdi
call fcn.140034770
movzx eax, al
test bpl, bpl
jne 0x140034917
lea rdx, [rdi + 0x10]
xor ecx, ecx
cmp byte [rdi + 0x10], 6
cmove rdx, rcx
je case.0x140034903.2
movzx r8d, byte [rdx]
mov ecx, 6
lea r9, [0x140034a88]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov rcx, qword [rdx + 0x10]
add rcx, 4
jmp case.0x140034903.2
xor eax, eax
test bpl, bpl
je 0x1400348dc
xor ecx, ecx
add rax, rcx
movzx r10d, bl
lea rcx, [rax + r10]
mov rdx, qword [rdi + 8]
cmp rdx, rcx
jb 0x140034a69
mov r11, qword [rdi]
lea r8, [r11 + rcx]
cmp rdx, rcx
jne 0x14003494a
movzx r9d, byte [rdi + 0x10]
xor r10d, r10d
jmp 0x1400349c9
movzx r9d, byte [rdi + 0x10]
add rax, r10
sub rax, rdx
inc rax
lea rdi, [rdx + r11]
dec rdi
xor r10d, r10d
cmp r9b, 3
jae 0x140034990
nop dword [rax + rax]
cmp byte [rdi], 0x5c
je 0x1400349ab
inc rax
dec rdi
cmp rax, 1
jne 0x140034970
jmp 0x1400349c9
movzx ebx, byte [rdi]
cmp ebx, 0x2f
je 0x1400349ab
cmp ebx, 0x5c
je 0x1400349ab
inc rax
dec rdi
cmp rax, 1
jne 0x140034990
jmp 0x1400349c9
neg rax
add rcx, rax
inc rcx
cmp rdx, rcx
jb 0x140034a77
add r11, rcx
mov r10d, 1
mov r8, r11
sub rdx, rcx
je 0x1400349f3
mov al, 9
cmp rdx, 2
je 0x1400349f7
cmp rdx, 1
jne 0x140034a07
cmp byte [r8], 0x2e
jne 0x140034a07
xor eax, eax
cmp r9b, 3
setae al
lea eax, [rax + rax*2]
add eax, 7
jmp 0x140034a07
mov al, 0xa
jmp 0x140034a07
cmp byte [r8], 0x2e
jne 0x140034a07
cmp byte [r8 + 1], 0x2e
sete al
xor al, 9
add r10, rdx
mov qword [rsi], r10
mov byte [rsi + 8], al
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], rdx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 8
jmp case.0x140034903.2
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 2
jmp case.0x140034903.2
mov ecx, 2
jmp case.0x140034903.2
lea r8, str.library_std_srcpath.rs
call fcn.14004f0c0
ud2
lea r8, str.library_std_srcpath.rs
call fcn.14004f0c0
ud2
Function at 0x140039e60
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rsp + 0xe0]
movups xmm0, xmmword [0x140057b08]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
test rcx, rcx
je 0x140039ea4
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x80], rdx
test rcx, rcx
mov qword [rsp + 0x78], rcx
lea rdx, [rsp + 0x80]
cmove rdx, rcx
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtWriteFile]
cmp eax, 0x103
jne 0x140039f0a
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x140039f41
test eax, eax
js 0x140039f1b
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140039f34
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0xa8
pop rdi
pop rsi
ret
mov byte [rsp + 0x5c], 0
mov dword [rsp + 0x58], 0
lea rax, [0x140057b70]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.140033b20
mov rcx, rax
call fcn.14002f240
mov ecx, 7
int 0x29
ud2

Function at 0x14003a8b0
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
js 0x14003a8e8
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rsp, 0x38
ret
call fcn.14003a900
nop
add rsp, 0x38
ret

Function at 0x14003a900
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov edx, 0x10
call qword [sym.imp.advapi32.dll_SystemFunction036]
test al, al
je 0x14003a943
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [0x140032760]
mov qword [rbp - 0x28], rax
lea rax, str.fallback_RNG_broken:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.14004ebe0
ud2