joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140015658
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x50
mov rdi, rcx
mov ecx, dword [rcx + 0x90]
mov ebx, 1
mov eax, ecx
mov sil, bl
and eax, 0xc
cmp al, 0xc
jne 0x1400156c6
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x30], rcx
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [rsp + 0x40], 0xfffffffe
movsxd rcx, eax
mov qword [rsp + 0x38], rcx
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov rcx, qword [rdi + 8]
movsxd rbx, eax
call qword [sym.imp.USER32.dll_GetParent]
mov r8, rbx
lea r9, [rsp + 0x30]
mov edx, 0x4e
jmp 0x1400156f0
shr ecx, 2
test bl, cl
je 0x1400156fb
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov rcx, qword [rdi + 8]
mov ebx, eax
call qword [sym.imp.USER32.dll_GetParent]
mov r9, qword [rdi + 8]
movzx r8d, bx
mov edx, VarUI4FromDisp
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14001573e
mov r8, qword [rdi + 0x50]
lea rdx, str.open
xor r9d, r9d
xor ecx, ecx
mov dword [rsp + 0x28], ebx
and qword [rsp + 0x20], 0
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp rax, 0x20
seta sil
test sil, sil
je 0x14001573e
mov rcx, qword [rdi + 8]
or byte [rdi + 0x94], 2
mov r8d, ebx
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rbx, qword [rsp + 0x60]
mov al, sil
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
Function at 0x140017afc
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor ebx, ebx
mov rdi, r8
mov r15d, edx
lea rbp, [rcx - 0x40]
test rcx, rcx
jne 0x140017b2b
mov ebp, ebx
mov rcx, qword [rbp + 8]
mov esi, 1
cmp dword [rsp + 0x70], ebx
je 0x140017bf4
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov r13, rax
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov rcx, rdi
or r12d, 0xffffffff
movsxd r14, eax
mov edx, r14d
call fcn.140017184
test rax, rax
je 0x140017baf
mov rax, qword [rdi]
mov dword [rax - 8], r14d
mov rax, qword [rdi]
mov word [rax + r14*2], bx
cmp qword [rdi], rbx
je 0x140017baf
mov rdx, qword [rdi]
lea r8d, [r14 + 1]
mov rcx, r13
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, rdi
mov r12d, eax
call fcn.140017204
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov rax, qword [rdi]
mov dword [rax - 8], ecx
mov rax, qword [rdi]
mov word [rax + rcx*2], bx
cmp r12d, r14d
jge 0x140017bb8
mov esi, ebx
jmp 0x140017c03
mov rax, qword [rdi]
cmp dword [rax - 8], 0x1000
jle 0x140017c2c
or ecx, 0xffffffff
call qword [sym.imp.USER32.dll_MessageBeep]
add rbp, 0x40
lea rcx, [rbp - 0x40]
jne 0x140017bda
mov rcx, rbx
mov rcx, qword [rcx + 8]
mov edx, r15d
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetFocus]
mov esi, ebx
jmp 0x140017c2c
mov r8, qword [r8]
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov esi, eax
test eax, eax
jne 0x140017c2c
or ecx, 0xffffffff
call qword [sym.imp.USER32.dll_MessageBeep]
add rbp, 0x40
je 0x140017c16
lea rbx, [rbp - 0x40]
mov rcx, qword [rbx + 8]
mov edx, r15d
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetFocus]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov eax, esi
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14001873c
Capabilities:
Send data
Send http request

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x50
and qword [r11 - 0x10], 0
mov rbx, rcx
lea rax, [0x1400516b0]
cmp dword [rbx + 0x65ad0], 0x1bb
mov qword [r11 - 0x18], rax
mov ecx, 0x4c00000
mov eax, 0x4400000
mov r8, rdx
lea r9, str.HTTP_1.0
cmove eax, ecx
and qword [r11 - 0x20], 0
mov rcx, qword [rbx + 0x65ab0]
mov dword [rsp + 0x30], eax
lea rax, [r11 - 0x18]
lea rdx, [0x1400516d0]
mov qword [r11 - 0x30], rax
lea rax, [0x140050478]
mov qword [r11 - 0x38], rax
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov qword [rbx + 0x65ab8], rax
test rax, rax
jne 0x1400187c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x65ac0], eax
xor eax, eax
jmp 0x140018814
lea rcx, str.Accept:___r_n
call fcn.14002733c
mov rcx, qword [rbx + 0x65ab8]
lea rdx, str.Accept:___r_n
mov r8, rax
mov r9d, 0x80000000
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
je 0x1400187b4
mov rcx, qword [rbx + 0x65ab8]
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x1400187b4
mov eax, 1
add rsp, 0x50
pop rbx
ret
Function at 0x14001881c
Capabilities:
Send data
Send http request

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
mov eax, 0x1460
call fcn.140035a30
sub rsp, rax
mov rax, qword [0x14005f660]
xor rax, rsp
mov qword [rsp + 0x1450], rax
mov rdi, rcx
lea rax, [0x1400516b0]
mov rbx, rdx
xor esi, esi
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x7fe
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x50], si
call fcn.140027620
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140019140
cmp dword [rdi + 0x65ad0], 0x1bb
mov qword [rsp + 0x38], rsi
mov eax, 0x4400040
mov ecx, 0x4c00040
lea r9, str.HTTP_1.0
cmove eax, ecx
mov rcx, qword [rdi + 0x65ab0]
lea rdx, str.POST
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x40]
mov r8, rbx
mov qword [rsp + 0x28], rax
lea rax, [0x140050478]
mov qword [rsp + 0x20], rax
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov qword [rdi + 0x65ab8], rax
test rax, rax
jne 0x1400188f6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi + 0x65ac0], eax
xor eax, eax
jmp 0x1400189c0
lea rcx, str.Accept:___r_n
call fcn.14002733c
mov rcx, qword [rdi + 0x65ab8]
lea rdx, str.Accept:___r_n
mov r8, rax
mov r9d, 0x80000000
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
je 0x1400188e3
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
lea r8, [rsp + 0x50]
or r9d, 0xffffffff
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
cmp eax, 1
jle 0x140018984
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x850]
lea r8, [rsp + 0x50]
or r9d, 0xffffffff
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rcx, str.Content_Type:_application_x_www_form_urlencoded_r_n
call fcn.14002733c
mov rcx, qword [rdi + 0x65ab8]
lea r9, [rsp + 0x850]
lea rdx, str.Content_Type:_application_x_www_form_urlencoded_r_n
mov r8, rax
mov dword [rsp + 0x20], ebx
call qword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x1400188e3
mov eax, 1
mov rcx, qword [rsp + 0x1450]
xor rcx, rsp
call fcn.1400268f0
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x1400189e8
Capabilities:
Send data
Send http request

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x7b0]
sub rsp, 0x8b0
mov rax, qword [0x14005f660]
xor rax, rsp
mov qword [rbp + 0x7a0], rax
mov rbx, rdx
lea rax, [0x1400516b0]
xor r14d, r14d
lea rdx, [rsp + 0x48]
mov rdi, rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x48], r14
call fcn.140019298
cmp dword [rdi + 0x65ad0], 0x1bb
mov esi, eax
mov qword [rsp + 0x38], r14
mov eax, 0x4c00040
mov ecx, 0x4400040
lea r9, str.HTTP_1.0
cmove ecx, eax
lea rax, [rsp + 0x50]
lea rdx, str.POST
mov dword [rsp + 0x30], ecx
mov rcx, qword [rdi + 0x65ab0]
mov qword [rsp + 0x28], rax
lea rax, [0x140050478]
mov r8, rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov qword [rdi + 0x65ab8], rax
test rax, rax
jne 0x140018ab4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi + 0x65ac0], eax
xor eax, eax
jmp 0x140018c19
lea rcx, str.Accept:___r_n
call fcn.14002733c
mov rcx, qword [rdi + 0x65ab8]
lea rdx, str.Accept:___r_n
mov r8, rax
mov r9d, 0x80000000
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
je 0x140018aa1
lea rcx, str.Content_Type:_multipart_form_data__boundary__MULTI_PARTS_FORM_DATA_BOUNDARY_r_n
call fcn.14002733c
mov rcx, qword [rdi + 0x65ab8]
lea rdx, str.Content_Type:_multipart_form_data__boundary__MULTI_PARTS_FORM_DATA_BOUNDARY_r_n
mov r8, rax
mov r9d, 0x10000000
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
je 0x140018aa1
lea rcx, [rbp - 0x5e]
xor edx, edx
mov r8d, 0x7fe
mov word [rbp - 0x60], r14w
call fcn.140027620
mov ebx, 0x400
lea rcx, [rbp - 0x60]
mov r8d, ebx
xor edx, edx
call fcn.140027620
lea r8, str.Content_Length:__d_r_n
lea rcx, [rbp - 0x60]
mov r9d, esi
mov edx, ebx
call fcn.1400280c0
lea rcx, [rbp - 0x60]
call fcn.14002733c
mov rcx, qword [rdi + 0x65ab8]
lea rdx, [rbp - 0x60]
mov r8, rax
mov r9d, 0x10000000
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
je 0x140018aa1
xor edx, edx
lea rcx, [rsp + 0x68]
lea r8d, [rdx + 0x30]
call fcn.140027620
mov rcx, qword [rdi + 0x65ab8]
mov ebx, 8
lea rdx, [rsp + 0x60]
mov r9d, ebx
xor r8d, r8d
mov dword [rsp + 0x60], gethostname
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x20], r14
call qword [sym.imp.WININET.dll_HttpSendRequestExW]
test eax, eax
je 0x140018aa1
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x65ab8]
lea r9, [rsp + 0x40]
mov r8d, esi
mov dword [rsp + 0x40], r14d
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x140018aa1
mov rcx, qword [rdi + 0x65ab8]
xor r9d, r9d
mov r8d, ebx
xor edx, edx
call qword [sym.imp.WININET.dll_HttpEndRequestW]
test eax, eax
jne 0x140018c0a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi + 0x65ac0], eax
mov rcx, qword [rsp + 0x48]
call fcn.140027b94
mov eax, 1
mov rcx, qword [rbp + 0x7a0]
xor rcx, rsp
call fcn.1400268f0
lea r11, [rsp + 0x8b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x140018edc
Capabilities:
Read data from internet
Receive data

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x65ab8], 0
mov rdi, rdx
mov rbx, rcx
jne 0x140018f06
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x65ac0], eax
xor eax, eax
jmp 0x140018f3d
xor edx, edx
mov r8d, 0x400
mov rcx, rdi
call fcn.140027620
mov rcx, qword [rbx + 0x65ab8]
lea r9, [0x140063da0]
mov r8d, 0x400
mov rdx, rdi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140018ef6
mov eax, dword [0x140063da0]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140019610
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov rcx, rdx
mov rdi, rdx
mov dword [rsp + 0x40], 0x400
call fcn.14002733c
mov rbx, rax
test eax, eax
je 0x140019659
mov ecx, ebx
lea rdx, [0x14004f758]
mov r8d, 1
lea rcx, [rdi + rcx*2]
call fcn.14002a078
test eax, eax
je 0x140019659
dec ebx
jne 0x140019639
mov eax, ebx
mov r9d, 1
xor r8d, r8d
lea rdx, [rdi + rax*2]
lea rax, [rsp + 0x48]
mov rcx, 0xffffffff80000000
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400196e5
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x40]
lea rbx, [0x1400635a0]
mov qword [rsp + 0x28], rax
lea rdx, str.Content_Type
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x1400196d8
lea rcx, str.application_octet_stream
call fcn.14002733c
lea r8, str.application_octet_stream
mov edx, 0x400
mov r9, rax
mov rcx, rbx
call fcn.140027a10
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14001970f
lea rcx, str.application_octet_stream
call fcn.14002733c
lea rbx, [0x1400635a0]
lea r8, str.application_octet_stream
mov rcx, rbx
mov edx, 0x400
mov r9, rax
call fcn.140027a10
mov rax, rbx
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x14001a46c
Capabilities:
Check if file exists

Disassembly:
push rbx
sub rsp, 0x20
call fcn.14001a45c
test eax, eax
je 0x14001a4bb
lea rdx, [rsp + 0x38]
call fcn.14001a4c4
mov rcx, qword [rax]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rdx, qword [rsp + 0x38]
mov ebx, eax
lea rax, [0x140060bf0]
add rdx, 0xfffffffffffffff4
cmp rdx, rax
je 0x14001a4b9
lock add dword [rdx], 0xffffffff
jg 0x14001a4b9
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
call fcn.140027ee0
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x14001b6e0
Capabilities:
Hide graphical window

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov esi, edx
mov rdi, rcx
test r8b, r8b
jne 0x14001b70a
mov byte [rcx + 0xa0], 1
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14001b819
mov rax, qword [0x140060c00]
mov qword [rsp + 0x40], rax
mov edx, 0xbb8
lea rcx, [rsp + 0x40]
call fcn.140017278
mov rbx, qword [rsp + 0x40]
test esi, esi
jne 0x14001b764
cmp byte [rdi + 0xa0], sil
je 0x14001b756
mov rdx, rbx
mov rcx, qword [rdi + 0x48]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov edx, 5
mov rcx, qword [rdi + 0x48]
jmp 0x14001b7f7
cmp esi, 1
jne 0x14001b798
cmp byte [rdi + 0xa0], 0
je 0x14001b77f
mov rdx, rbx
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, 5
mov edx, esi
mov rcx, qword [rdi + 0x48]
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, esi
mov rcx, qword [rdi + 0x50]
jmp 0x14001b7f7
cmp esi, 2
jne 0x14001b7fe
cmp byte [rdi + 0xa0], 0
je 0x14001b7b3
mov rdx, rbx
mov rcx, qword [rdi + 0x58]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, 5
mov edx, esi
mov rcx, qword [rdi + 0x48]
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, esi
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, esi
mov rcx, qword [rdi + 0x58]
call qword [sym.imp.USER32.dll_ShowWindow]
cmp byte [rdi + 0xa0], 0
jne 0x14001b7fe
mov edx, esi
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_ShowWindow]
nop
lea rcx, [rbx - 0xc]
lea rax, [0x140060bf0]
cmp rcx, rax
je 0x14001b819
lock add dword [rcx], 0xffffffff
jg 0x14001b819
call fcn.140027ee0
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x14001bd10
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x3a8]
sub rsp, 0x480
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x14005f660]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor r14d, r14d
mov word [rsp + 0x50], r14w
lea rdx, [rsp + 0x50]
mov r15d, 0x104
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test rdi, rdi
je 0x14001bdf6
lea rcx, [rsp + 0x50]
call fcn.14002733c
cmp word [rsp + rax*2 + 0x4e], 0x5c
je 0x14001bda3
cmp word [rsp + rax*2 + 0x4e], 0x2f
je 0x14001bda3
lea r8, [0x140052044]
mov edx, r15d
lea rcx, [rsp + 0x50]
call fcn.140029b00
mov r8, rdi
mov rdx, r15
lea rcx, [rsp + 0x50]
call fcn.140029b00
lea r8, [0x14004f758]
mov rdx, r15
lea rcx, [rsp + 0x50]
call fcn.140029b00
mov r8, rbx
mov rdx, r15
lea rcx, [rsp + 0x50]
call fcn.140029b00
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r8, [rsp + 0x50]
mov edx, eax
mov rcx, rsi
call fcn.14000d398
jmp 0x14001bedb
lea rcx, [rsp + 0x38]
call qword [sym.imp.ole32.dll_CoCreateGuid]
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x38]
call qword [sym.imp.RPCRT4.dll_UuidToStringW]
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.14001738c
nop
lea rcx, [rsp + 0x28]
call qword [sym.imp.RPCRT4.dll_RpcStringFreeW]
lea rcx, [rsp + 0x20]
call fcn.14001b9a4
lea rcx, [0x14004f758]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r8, [0x14004f758]
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140016b14
test rbx, rbx
jne 0x14001be60
mov eax, r14d
jmp 0x14001be69
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140016b14
lea r8, [rsp + 0x50]
mov rdx, r15
lea rcx, [rbp + 0x160]
call fcn.140029a94
mov rbx, qword [rsp + 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x160]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r8, [rbp + 0x160]
mov edx, eax
mov rcx, rsi
call fcn.14000d398
nop
lea rcx, [rbx - 0xc]
lea rax, [0x140060bf0]
cmp rcx, rax
je 0x14001bedb
lock add dword [rcx], 0xffffffff
jg 0x14001bedb
call fcn.140027ee0
mov eax, 1
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.1400268f0
mov rbx, qword [rsp + 0x4c8]
add rsp, 0x480
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x14001bf08
Capabilities:
Create thread
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov dword [rsp + 0x18], r8d
push rdi
sub rsp, 0x50
mov ecx, 0xa8
mov rdi, rdx
call fcn.140027078
test rax, rax
je 0x14001bf3b
mov rcx, rax
call fcn.14001b380
mov rbx, rax
jmp 0x14001bf3d
xor ebx, ebx
lea rcx, [rsp + 0x30]
call fcn.14001b36c
mov qword [rsp + 0x30], rbx
mov rax, qword [rbx + 0x98]
and dword [rsp + 0x70], 0
mov qword [rsp + 0x48], rax
lea rax, [fcn.1400121b4]
mov qword [rsp + 0x38], rax
mov al, byte [rdi + 0x82]
lea r9, [rsp + 0x30]
neg al
lea rax, [rsp + 0x70]
lea r8, [0x14001b82c]
sbb ecx, ecx
mov qword [rsp + 0x28], rax
xor edx, edx
and ecx, 0x7fffffc
mov qword [rsp + 0x40], rdi
add ecx, 4
mov dword [rsp + 0x20], ecx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
test rax, rax
jne 0x14001bfbd
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov rcx, rdi
mov qword [rbx + 0x90], rdi
call qword [sym.imp.KERNEL32.dll_ResumeThread]
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea rdi, [rbx + 0x10]
mov rcx, rdi
xor r8d, r8d
xor edx, edx
mov rsi, rax
call fcn.140016834
test eax, eax
jne 0x14001c001
lea ecx, [rax + 0xe]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001c060
test rdi, rdi
je 0x14001c06a
mov qword [rdi], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [0x140063e18]
mov dword [rdi + 8], eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x140063e40]
mov qword [rdi + 0x10], rax
lea rcx, [0x140063e18]
mov qword [0x140063e40], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x140062080]
and qword [rsp + 0x20], 0
lea r9, [0x140014ff4]
mov r8, rsi
mov edx, 0x3e9
call qword [sym.imp.USER32.dll_DialogBoxParamW]
mov eax, 1
jmp 0x14001bfad
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc0000005
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
Function at 0x14001c080
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, rcx
mov rcx, r8
mov r14, r8
mov r15, rdx
xor ebx, ebx
call fcn.14001a798
lea rax, [rbp - 0x10]
lea rdx, str.SoftwareBugSplat
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rbp - 0x10], rbx
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x18], rbx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test eax, eax
jne 0x14001c1b2
test rdi, rdi
je 0x14001c11b
mov rcx, rdi
call fcn.14002733c
test rax, rax
je 0x14001c11b
mov rcx, qword [rbp - 0x10]
lea rax, [rbp - 0x18]
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
jmp 0x14001c123
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x18], rax
test esi, esi
jne 0x14001c1b2
mov esi, 0x1388
mov dword [rbp - 0x20], 1
mov ecx, esi
call fcn.1400220b0
mov rcx, qword [rbp - 0x18]
lea r9, [rbp - 0x20]
mov rdi, rax
lea rax, [rbp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov rdx, r15
mov dword [rbp + 0x38], esi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001c18c
test rdi, rdi
je 0x14001c17a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
mov r8, rdi
mov edx, ebx
mov rcx, r14
call fcn.14000d398
mov ebx, 1
mov rcx, qword [rbp - 0x10]
cmp qword [rbp - 0x18], rcx
je 0x14001c1a4
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, rdi
call fcn.140027ee0
lea r11, [rsp + 0x50]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x14001c1d0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
xor ebx, ebx
mov r15, rdx
lea rax, [rbp - 0x10]
mov r14, r8
mov rdi, rcx
mov dword [r8], ebx
lea rdx, str.SoftwareBugSplat
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x18], rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test eax, eax
jne 0x14001c2be
test rdi, rdi
je 0x14001c262
mov rcx, rdi
call fcn.14002733c
test rax, rax
je 0x14001c262
mov rcx, qword [rbp - 0x10]
lea rax, [rbp - 0x18]
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rbp - 0x18]
mov esi, eax
jmp 0x14001c26a
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x18], rcx
test esi, esi
jne 0x14001c2be
lea rax, [rbp + 0x48]
lea r9, [rbp - 0x20]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov rdx, r15
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x40], ebx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001c2a0
mov eax, dword [rbp + 0x40]
lea ebx, [rsi + 1]
mov dword [r14], eax
mov rcx, qword [rbp - 0x10]
cmp qword [rbp - 0x18], rcx
je 0x14001c2b8
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret