joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401cde14
Capabilities:
Create service

Disassembly:
push rbx
push rdi
sub rsp, 0x428
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x470]
mov rdi, rcx
mov ecx, dword [rsp + 0x460]
mov rbx, rdx
mov r10d, dword [rsp + 0x468]
mov r11, qword [rsp + 0x478]
cmp qword [rax + 0x10], 0
jne 0x1401cde5f
xor eax, eax
jmp 0x1401cde69
cmp qword [rax + 0x18], 8
jb 0x1401cde69
mov rax, qword [rax]
cmp qword [r9 + 0x18], 8
jb 0x1401cde73
mov r9, qword [r9]
cmp qword [r8 + 0x18], 8
jb 0x1401cde7d
mov r8, qword [r8]
cmp qword [rdx + 0x18], 8
jb 0x1401cde87
mov rdx, qword [rdx]
and qword [rsp + 0x60], 0
and qword [rsp + 0x58], 0
mov qword [rsp + 0x50], r11
and qword [rsp + 0x48], 0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r9
mov r9d, 0x20000000
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, qword [rdi]
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov qword [rdi + 8], rax
test rax, rax
je 0x1401cdeeb
mov rcx, qword [rsp + 0x410]
xor rcx, rsp
call fcn.140135130
add rsp, 0x428
pop rdi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [rsp + 0x70]
mov ecx, 2
lea rdx, str.OService::Install___CreateService_failed__d
mov dword [rsp + 0x70], eax
call fcn.1401cd628
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.failed_to_create_service__s
mov qword [rsp + 0x20], rbx
mov r8d, eax
lea rcx, [rsp + 0x80]
mov edx, 0xf
call fcn.1401cd1c4
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x80]
call fcn.1401377ec
int3

Function at 0x1401cdfc0
Capabilities:
Query service status

Disassembly:
sub rsp, 0x3e8
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rsp + 0x3d0], rax
mov rcx, qword [rcx + 8]
lea rax, [rsp + 0x30]
and dword [rsp + 0x30], 0
mov r8, rdx
xor edx, edx
mov qword [rsp + 0x20], rax
mov r9d, 0x24
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x1401ce019
mov rcx, qword [rsp + 0x3d0]
xor rcx, rsp
call fcn.140135130
add rsp, 0x3e8
ret
lea r8, str.Failed_to_query_service_Status
mov edx, 0x74
lea rcx, [rsp + 0x40]
call fcn.140126064
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x40]
call fcn.1401377ec
int3

Function at 0x1401ce064
Capabilities:
Modify service

Disassembly:
sub rsp, 0x28
cmp qword [rdx + 0x18], 8
jb 0x1401ce072
mov rdx, qword [rdx]
mov rcx, qword [rcx + 8]
lea r8, [rsp + 0x30]
mov qword [rsp + 0x30], rdx
mov edx, 1
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
cmp eax, 1
sete al
add rsp, 0x28
ret
Function at 0x1401ce14c
Capabilities:
Modify service

Disassembly:
push rbp
push rbx
mov rbp, rsp
sub rsp, 0x78
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov eax, dword [rbp + 0x38]
xor ebx, ebx
mov rcx, qword [rcx + 8]
xorps xmm0, xmm0
mov dword [rbp - 0x20], eax
lea rax, [rbp - 0x30]
mov dword [rbp - 0x30], r8d
lea r8, [rbp - 0x58]
mov dword [rbp - 0x58], edx
lea edx, [rbx + 2]
mov dword [rbp - 0x2c], ebx
mov dword [rbp - 0x28], r9d
mov dword [rbp - 0x24], ebx
mov dword [rbp - 0x1c], ebx
movdqu xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x40], 3
mov qword [rbp - 0x38], rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
cmp eax, 1
sete al
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.140135130
add rsp, 0x78
pop rbx
pop rbp
ret

Function at 0x1401ce1c0
Capabilities:
Start service

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
xor r8d, r8d
mov rcx, qword [rcx + 8]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401ce20b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov ecx, 2
cmp eax, 0x420
jne 0x1401ce217
lea rdx, str.OService::StartService___Service_instance_already_running
call fcn.1401cd680
cmp byte [rdi + 0x28], 0
je 0x1401ce266
mov rbx, qword [rdi + 0x18]
jmp 0x1401ce23d
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
lea rdx, str.OService::StartService___Failed_to_Start_Service_:_ret___d_:_errCode___d
call fcn.1401cd838
xor al, al
jmp 0x1401ce268
add rbx, 0xffffffffffffffd0
mov rcx, rbx
call fcn.1401ce1c0
cmp rbx, qword [rdi + 0x10]
jne 0x1401ce231
mov rsi, qword [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
jmp 0x1401ce259
mov rcx, rbx
call fcn.1401cdcb8
add rbx, 0x30
cmp rbx, rsi
jne 0x1401ce24d
mov rax, qword [rdi + 0x10]
mov qword [rdi + 0x18], rax
mov al, 1
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
Function at 0x1401ce2b0
Capabilities:
Stop service

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14, rdx
mov r15d, r8d
lea rdx, [rbp - 0x58]
mov rsi, rcx
call fcn.1401cdfc0
mov eax, dword [rbp - 0x54]
xor edi, edi
mov byte [r14], dil
cmp eax, 1
je 0x1401ce3cf
mov ebx, dword [rbp - 0x40]
cmp byte [rsi + 0x28], dil
je 0x1401ce30e
mov edx, r15d
mov rcx, rsi
call fcn.1401ce3f8
mov eax, dword [rbp - 0x54]
mov byte [r14], 1
cmp eax, 3
je 0x1401ce361
mov rcx, qword [rsi + 8]
lea r8, [rbp - 0x30]
mov edx, 1
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x1401ce35b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x60], eax
cmp eax, 0x426
je 0x1401ce357
lea r8, [rbp - 0x60]
mov ecx, 2
lea rdx, str.OService::StopServiceRecursive___Failed_to_control_service_:_errCode___d
call fcn.1401cd7e0
xor al, al
jmp 0x1401ce3d2
mov al, 1
jmp 0x1401ce3d2
mov ebx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x54]
cmp eax, 1
je 0x1401ce3cf
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, r15d
cmp eax, 0x7fffffff
jb 0x1401ce3b0
cmp ebx, 0x2710
jbe 0x1401ce38a
mov eax, 0xcccccccd
mul ebx
shr edx, 3
jmp 0x1401ce38f
mov edx, 0x3e8
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x58]
mov rcx, rsi
call fcn.1401cdfc0
mov eax, dword [rbp - 0x54]
mov ebx, dword [rbp - 0x40]
cmp eax, 1
jne 0x1401ce366
jmp 0x1401ce3b3
mov eax, dword [rbp - 0x54]
cmp eax, 1
je 0x1401ce3cf
lea rdx, str.OService::StopServiceRecursive___Timed_out_waiting_for_service_to_stop
mov ecx, 2
call fcn.1401cd788
mov eax, dword [rbp - 0x54]
cmp eax, 1
sete al
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140135130
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401ceef4
Capabilities:
Initialize winhttp library

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x400
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rsp + 0x3f0], rax
mov r14, r9
mov rbp, r8
mov rsi, rdx
mov rbx, rcx
mov qword [rsp + 0x38], rcx
lea rax, vtable.RefCounted.0
mov qword [rcx], rax
xor r15d, r15d
mov dword [rcx + 8], r15d
lea rax, [0x140285d60]
mov qword [rcx], rax
mov word [rcx + 0x10], r15w
add rcx, 0x18
xor r8d, r8d
xor edx, edx
call fcn.14018d27c
nop
mov qword [rbx + 0x60], r15
lea rax, [rbx + 0x68]
lea edx, [r15 + 7]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x10], r15
cmp rdx, 8
jb 0x1401cef81
mov rax, qword [rax]
mov word [rax], r15w
lea rdi, [rbx + 0x88]
mov qword [rdi + 0x18], rdx
mov qword [rdi + 0x10], r15
cmp rdx, 8
jb 0x1401cef9f
mov rax, qword [rdi]
jmp 0x1401cefa2
mov rax, rdi
mov word [rax], r15w
lea rcx, [rbx + 0xa8]
mov qword [rcx + 0x18], rdx
mov qword [rcx + 0x10], r15
cmp rdx, 8
jb 0x1401cefc0
mov rax, qword [rcx]
jmp 0x1401cefc3
mov rax, rcx
mov word [rax], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbp
call fcn.14000b5b8
nop
lea rcx, [rbx + 0xc8]
call fcn.1401d51bc
nop
mov qword [rbx + 0x100], r15
mov qword [rbx + 0x108], r15
mov rax, qword [rsp + 0x458]
mov qword [rbx + 0x118], rax
mov rax, qword [rsp + 0x450]
mov qword [rbx + 0x120], rax
mov dword [rbx + 0x128], 0x57
mov qword [rbx + 0x110], r14
cmp qword [rsi + 0x18], 8
jb 0x1401cf02b
mov rsi, qword [rsi]
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rbx + 0x100], rax
test rax, rax
jne 0x1401cf07e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, str.Failed_to_Open_Win_Http_session
mov edx, 0x79
lea rcx, [rsp + 0x60]
call fcn.14000bde4
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x60]
call fcn.1401377ec
int3
mov r8, rbp
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1401cf2e8
mov rsi, rax
cmp rdi, rax
je 0x1401cf0af
xor r8d, r8d
mov dl, 1
mov rcx, rdi
call fcn.14000b190
mov rdx, rsi
mov rcx, rdi
call fcn.14000ae7c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x40]
call fcn.14000b190
nop
mov rax, rbx
mov rcx, qword [rsp + 0x3f0]
xor rcx, rsp
call fcn.140135130
mov rbx, qword [rsp + 0x448]
add rsp, 0x400
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401cf9a0
Capabilities:
Prepare http request

Disassembly:
push rbx
sub rsp, 0x3f0
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rsp + 0x3e0], rax
cmp qword [r8 + 0x10], 0
mov rax, r8
mov rbx, rdx
jne 0x1401cf9cb
xor eax, eax
jmp 0x1401cf9d5
cmp qword [r8 + 0x18], 8
jb 0x1401cf9d5
mov rax, qword [r8]
lea r8, [rcx + 0x88]
cmp qword [r8 + 0x18], 8
jb 0x1401cf9e6
mov r8, qword [r8]
and dword [rsp + 0x30], 0
xor r9d, r9d
and qword [rsp + 0x28], 0
mov rdx, rax
mov rcx, qword [rcx + 0x108]
and qword [rsp + 0x20], 0
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
cmp qword [rbx], 0
jne 0x1401cfa65
mov rcx, rbx
mov qword [rbx], rax
call fcn.1401d0cc4
test rax, rax
je 0x1401cfa8d
mov rcx, rbx
mov dword [rsp + 0x40], 1
call fcn.1401d0cc4
mov r9d, 4
lea r8, [rsp + 0x40]
mov rcx, rax
lea edx, [r9 + 0x49]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x1401cfabe
mov rcx, qword [rsp + 0x3e0]
xor rcx, rsp
call fcn.140135130
add rsp, 0x3f0
pop rbx
ret
lea r8, str.OHINTERNET_handle_already_set
mov edx, 0x26
lea rcx, [rsp + 0x50]
call fcn.1401ce96c
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x50]
call fcn.1401377ec
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.Failed_to_open_get_request_for_given_file
mov edx, 0x7c
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1401bf1ec
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x50]
call fcn.1401377ec
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.Failed_to_set_the_auto_logon_option
mov edx, 0x8b
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1400e5310
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x50]
call fcn.1401377ec
int3
Function at 0x1401d00b4
Capabilities:
Read http header

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x358]
sub rsp, 0x430
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rbp + 0x320], rax
mov edi, r9d
mov r14, r8
mov rbx, rdx
mov dword [rsp + 0x38], r9d
xor r15d, r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x34], r15d
mov qword [rsp + 0x28], r15
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x1401d019f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1401d019f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x380], r15b
je 0x1401d0176
mov dword [rsp + 0x30], eax
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
lea rdx, str.Header__d_not_available_in_the_request:_LastError:_0x_x
lea ecx, [r15 + 2]
call fcn.1401ced80
lea edi, [r15 + 7]
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x10], r15
mov word [rbx], r15w
jmp 0x1401d02ab
mov r8d, eax
lea r9, str.Failed_to_read_the_header_buf_size_from_request_headers
mov edx, 0x83
lea rcx, [rbp - 0x70]
call fcn.1401c3638
lea rdx, [0x140294a58]
lea rcx, [rbp - 0x70]
call fcn.1401377ec
int3
mov word [rsp + 0x30], r15w
mov edx, dword [rsp + 0x34]
shr rdx, 1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.14009c5b0
nop
mov qword [rsp + 0x28], r15
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov rsi, qword [rsp + 0x48]
mov r9, rsi
xor r8d, r8d
mov edx, edi
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x1401d0222
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, str.Failed_to_read_the_header_id_from_request_headers
mov edx, 0x83
lea rcx, [rbp - 0x70]
call fcn.1401bf57c
lea rdx, [0x140294a58]
lea rcx, [rbp - 0x70]
call fcn.1401377ec
int3
mov edi, 7
mov qword [rbp - 0x80], rdi
mov qword [rsp + 0x78], r15
mov word [rsp + 0x68], r15w
cmp word [rsi], r15w
jne 0x1401d0241
mov r8, r15
jmp 0x1401d024f
or r8, 0xffffffffffffffff
inc r8
cmp word [rsi + r8*2], r15w
jne 0x1401d0245
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.14000b6f8
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x10], r15
cmp rdi, 8
jb 0x1401d026f
mov rax, qword [rbx]
jmp 0x1401d0272
mov rax, rbx
mov word [rax], r15w
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14000ae7c
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x68]
call fcn.14000b190
nop
mov r8, qword [rsp + 0x58]
sub r8, rsi
sar r8, 1
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.14005e1d8
mov rax, rbx
mov rcx, qword [rbp + 0x320]
xor rcx, rsp
call fcn.140135130
mov rbx, qword [rsp + 0x460]
add rsp, 0x430
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401d03c0
Capabilities:
Receive http response

Disassembly:
push rbx
sub rsp, 0x3d0
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rsp + 0x3c0], rax
mov ebx, r9d
mov r10, r8
mov rcx, rdx
lea r9, [rsp + 0x20]
mov r8d, ebx
mov rdx, r10
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x1401d0419
cmp dword [rsp + 0x20], ebx
jne 0x1401d044a
mov al, 1
mov rcx, qword [rsp + 0x3c0]
xor rcx, rsp
call fcn.140135130
add rsp, 0x3d0
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.Failed_to_read_available_request_data
mov edx, 0x80
mov r8d, eax
lea rcx, [rsp + 0x30]
call fcn.1400085e0
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x30]
call fcn.1401377ec
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.Failed_to_read_all_of_available_data
mov edx, 0x81
mov r8d, eax
lea rcx, [rsp + 0x30]
call fcn.1401bf0e4
lea rdx, [0x140294a58]
lea rcx, [rsp + 0x30]
call fcn.1401377ec
int3
Function at 0x1401e79d8
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r15
lea rbp, [rax - 0x348]
sub rsp, 0x420
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140334860]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov r15, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rcx + 0x30]
xor r12d, r12d
test rcx, rcx
jne 0x1401e7a47
lea r8, str.ORegistryKey.GetValue_failure:_Cannot_get_String_value._The_registry_key_is_closed_or_not_set
lea edx, [rcx + 0x3a]
lea rcx, [rbp - 0x80]
call fcn.1401e4924
lea rdx, [0x140294a58]
lea rcx, [rbp - 0x80]
call fcn.1401377ec
int3
mov dword [rsp + 0x34], 7
mov dword [rsp + 0x30], 1
cmp qword [rdx + 0x18], 8
jb 0x1401e7a61
mov rdx, qword [rdx]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x34]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8d, eax
cmp eax, 2
je 0x1401e7c10
cmp dword [rsp + 0x34], 7
jne 0x1401e7c10
test eax, eax
je 0x1401e7acd
lea rax, [rdi + 0x10]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
lea r9, str.ORegistryKey.GetValue_failure:_Cannot_get_registry__s_value__s
mov edx, 0xf
lea rcx, [rbp - 0x80]
call fcn.140179730
lea rdx, [0x140294a58]
lea rcx, [rbp - 0x80]
call fcn.1401377ec
int3
mov eax, dword [rsp + 0x30]
add eax, 2
mov dword [rsp + 0x30], eax
mov edx, eax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x38]
call fcn.1400639c8
nop
mov rsi, qword [rsp + 0x40]
sub rsi, qword [rsp + 0x38]
mov rax, rsi
neg rax
sbb rcx, rcx
and rcx, qword [rsp + 0x38]
cmp qword [rbx + 0x18], 8
jb 0x1401e7b17
mov rdx, qword [rbx]
jmp 0x1401e7b1a
mov rdx, rbx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x34]
xor r8d, r8d
mov rcx, qword [rdi + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8d, eax
test eax, eax
je 0x1401e7b76
lea rax, [rdi + 0x10]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
lea r9, str.ORegistryKey.GetValue_failure:_Cannot_get_registry__s_value__s
mov edx, 0xf
lea rcx, [rbp - 0x80]
call fcn.140179730
lea rdx, [0x140294a58]
lea rcx, [rbp - 0x80]
call fcn.1401377ec
int3
mov rbx, r12
mov rax, rsi
neg rax
sbb rcx, rcx
and rcx, qword [rsp + 0x38]
lea rdx, [rcx + rbx*2]
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r12
mov word [rsp + 0x58], r12w
cmp word [rdx], r12w
jne 0x1401e7baa
mov r8, r12
jmp 0x1401e7bb8
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r12w
jne 0x1401e7bae
lea rcx, [rsp + 0x58]
call fcn.14000b6f8
nop
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.14019b298
mov rax, qword [rsp + 0x68]
inc rbx
add rbx, rax
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x58]
call fcn.14000b190
mov rcx, rsi
neg rcx
sbb rdx, rdx
and rdx, qword [rsp + 0x38]
cmp byte [rdx + rbx*2], r12b
jne 0x1401e7b79
lea rcx, [rsp + 0x38]
call fcn.140029430
mov al, 1
jmp 0x1401e7c12
xor al, al
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.140135130
mov rbx, qword [rsp + 0x468]
add rsp, 0x420
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140002030
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x270
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1400a6410]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rbx, rdx
mov rsi, rcx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x50]
call fcn.14002a010
xor edi, edi
lea rdx, str.Entering__GetDrsFolder__function....._n
mov rcx, qword [0x1400a7228]
call fcn.1400040a0
mov rcx, qword [0x1400a7228]
call fcn.140004230
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rdi + 0x23]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x14000216d
lea rcx, [rsp + 0x30]
call fcn.140026d40
nop
lea rdx, str._SHGetFolderPath__fn_successfully_retrieved_the__Common_App_data__path__n
mov rcx, qword [0x1400a7228]
call fcn.1400040a0
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140025810
mov rcx, qword [0x1400a7228]
cmp eax, 1
jbe 0x140002102
mov r8d, eax
lea rdx, str.WARNING:__obtainDrsPath__fn_failed_to_retrieve_the__Drs__path__err:_d__n
call fcn.1400040a0
jmp 0x140002160
lea rdx, str._obtainDrsPath__fn_successfully_retrieved_the__Drs__path__n
call fcn.1400040a0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140026ef0
lea rdx, [0x140088fc8]
mov rcx, rbx
call fcn.1400274b0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140027190
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
jne 0x140002149
lea edi, [rax + 1]
jmp 0x140002160
mov r8, qword [rbx]
lea rdx, str.WARNING:__s_Path_is_not_absolute___n
mov rcx, qword [0x1400a7228]
call fcn.1400040a0
nop
lea rcx, [rsp + 0x30]
call fcn.1400275a0
nop
jmp 0x140002189
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.WARNING:__SHGetFolderPath__fn_failed_to_retrieve__Common_App_data__path__error___u__n
mov rcx, qword [0x1400a7228]
call fcn.1400040a0
mov rcx, qword [0x1400a7228]
call fcn.140004270
mov r8d, edi
lea rdx, str.Exiting__GetDrsFolder__function.Return__d_n
mov rcx, qword [0x1400a7228]
call fcn.1400040a0
mov eax, edi
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.140027a80
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x1400040a0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rdi
mov eax, 0x2860
call fcn.140027ac0
sub rsp, rax
mov rax, qword [0x1400a6410]
xor rax, rsp
mov qword [rsp + 0x2840], rax
cmp dword [rcx + 0x18], 0xffffffff
mov rdi, rcx
je 0x140004213
mov rcx, qword [rcx + 8]
mov edx, 0xffffffff
mov qword [rsp + 0x2858], rbx
mov qword [rsp + 0x2850], rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rbx, [rsp + 0x2880]
call fcn.140004c20
mov r9, qword [rsp + 0x2878]
lea rdx, [rsp + 0x840]
mov qword [rsp + 0x28], rbx
mov r8d, 0x7fffffff
xor ebx, ebx
mov rcx, qword [rax]
mov qword [rsp + 0x20], rbx
call fcn.14005fdf0
lea rcx, [rsp + 0x840]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rdi + 0x9c]
lea rdx, [0x14008ab6c]
call fcn.140048254
mov rsi, rax
test rax, rax
je 0x1400041f9
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], 0x400
lea r9, str.hh:mm:ss_tt
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
xor edx, edx
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetTimeFormatW]
test eax, eax
je 0x1400041b8
mov eax, dword [rdi + 0x18]
lea r9, [rdi + 0x1c]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], eax
lea rdx, str._s____s__d___
mov rcx, rsi
call fcn.140004d70
mov rax, qword [rdi]
cmp dword [rax + 4], ebx
jle 0x1400041d9
mov rdx, rsi
lea rcx, [0x14008abb8]
call fcn.140047f5c
mov rax, qword [rdi]
inc ebx
cmp ebx, dword [rax + 4]
jl 0x1400041c0
mov rdx, rsi
lea rcx, [rsp + 0x840]
call fcn.140047f5c
mov rcx, rsi
call fcn.140060578
mov rcx, rsi
call fcn.14005ff00
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rsi, qword [rsp + 0x2850]
mov rbx, qword [rsp + 0x2858]
mov rcx, qword [rsp + 0x2840]
xor rcx, rsp
call fcn.140027a80
add rsp, 0x2860
pop rdi
ret
Function at 0x140004320
Capabilities:
Check if file exists
Check mutex on windows
Get file attributes
Read file via mapping

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x460
mov rax, qword [0x1400a6410]
xor rax, rsp
mov qword [rsp + 0x450], rax
mov rbx, rdx
mov rdi, rcx
xor edx, edx
lea rcx, [rsp + 0x240]
mov r8d, 0x208
call fcn.14002a010
mov r8d, 0x104
lea rdx, [rsp + 0x240]
mov rcx, rdi
call fcn.1400047e0
test eax, eax
je 0x140004525
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x208
call fcn.14002a010
lea r8, [rsp + 0x240]
mov edx, 0x104
lea rcx, [rsp + 0x30]
call fcn.14003451c
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea r8, [rdi + 0x2a4]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rdi + 8], rax
test rax, rax
je 0x140004525
mov edx, 0xffffffff
mov qword [rsp + 0x480], rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor r9d, r9d
lea rax, [rdi + 0x4ac]
xor edx, edx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 8
lea r8d, [r9 + 4]
lea rcx, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x14000442f
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
mov qword [rdi + 8], rsi
jmp 0x14000451d
mov qword [rsp + 0x478], rbp
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rdi + 0x10]
cmp eax, 0xb7
sete bpl
xor esi, esi
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea edx, [rsi + 6]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rdi], rax
test rax, rax
jne 0x140004493
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rdi + 8]
mov qword [rdi + 0x10], rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 8], rsi
jmp 0x140004515
test bpl, bpl
jne 0x1400044a0
mov dword [rax], esi
mov rax, qword [rdi]
mov dword [rax + 4], esi
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400044c3
mov r8d, 0x104
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140004550
lea rcx, [rdi + 0x9c]
mov edx, 0x104
lea r8, [rsp + 0x240]
call fcn.14003451c
mov rcx, rdi
sub rcx, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbx]
mov word [rcx + rbx + 0x1c], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x1400044f0
mov rcx, qword [rdi]
mov eax, dword [rcx]
mov dword [rdi + 0x18], eax
inc dword [rcx]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rbp, qword [rsp + 0x478]
mov rsi, qword [rsp + 0x480]
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.140027a80
mov rbx, qword [rsp + 0x488]
add rsp, 0x460
pop rdi
ret