joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140017ef8
Capabilities:
Hide graphical window

Disassembly:
push rbx
sub rsp, 0x20
and dword [0x140061228], 0
mov edx, 1
mov rbx, rcx
mov byte [0x140059de9], 1
mov byte [0x140059dea], 1
call qword [sym.imp.USER32.dll_ShowWindow]
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 2]
call fcn.1400011e4
cmp qword [0x140071958], 0
jne 0x140017f43
cmp byte [0x140059dfb], 0
je 0x140017f4c
cmp dword [0x140059dec], 0
jne 0x140017f61
xor r9d, r9d
mov edx, 0x111
mov rcx, rbx
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_SendMessageW]
add rsp, 0x20
pop rbx
ret

Function at 0x140018004
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
mov eax, 0x1070
call fcn.140019920
sub rsp, rax
mov rax, qword [0x14003e858]
xor rax, rsp
mov qword [rsp + 0x1060], rax
xor edi, edi
mov rbx, rcx
cmp byte [0x140063238], dil
je 0x1400180dc
cmp word [0x14006323a], di
je 0x1400180dc
mov r8d, 0x800
lea rdx, [rsp + 0x60]
lea rcx, [0x14006323a]
call fcn.1400167d0
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rdx, str.SoftwareWinRAR_SFX
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], edi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400180dc
mov rcx, rbx
call fcn.14001e7d8
lea r9d, [rdi + 1]
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea ecx, [rax*2 + 2]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x1060]
xor rcx, rsp
call fcn.1400198e0
mov rbx, qword [rsp + 0x1088]
add rsp, 0x1070
pop rdi
ret

Function at 0x140018100
Capabilities:
Set environment variable

Disassembly:
push rbx
mov eax, 0x2030
call fcn.140019920
sub rsp, rax
mov rax, qword [0x14003e858]
xor rax, rsp
mov qword [rsp + 0x2020], rax
mov rbx, rcx
mov rdx, rcx
lea rcx, str.sfxcmd
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov r8d, 0x1000
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140007e24
mov rbx, rax
test rax, rax
je 0x140018174
movzx ecx, word [rax]
jmp 0x14001815b
add rbx, 2
movzx ecx, word [rbx]
call fcn.140007f4c
test al, al
jne 0x140018154
mov rdx, rbx
lea rcx, str.sfxpar
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, qword [rsp + 0x2020]
xor rcx, rsp
call fcn.1400198e0
add rsp, 0x2030
pop rbx
ret
Function at 0x140019170
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
movsxd r8, dword [0x14000003c]
lea rsi, [0x140000000]
add r8, rsi
mov rbx, rdx
mov rdi, rcx
cmp dword [r8 + 0x84], 0xd
jbe 0x1400191e8
mov r10d, dword [r8 + 0xf0]
xor r9d, r9d
test r10d, r10d
je 0x1400191e8
movzx ecx, word [r8 + 0x14]
movzx r11d, word [r8 + 6]
add rcx, 0x18
mov r10d, dword [r10 + rsi + 0xc]
add rcx, r8
test r11d, r11d
je 0x1400191e8
mov eax, dword [rcx + 0xc]
cmp r10d, eax
jb 0x1400191dc
mov edx, dword [rcx + 8]
add eax, edx
cmp r10d, eax
jb 0x1400191fa
inc r9d
add rcx, 0x28
cmp r9d, r11d
jb 0x1400191ca
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
mov dword [rdi], edx
mov eax, dword [rcx + 0x24]
mov dword [rbx], eax
mov eax, dword [rcx + 0xc]
add rax, rsi
jmp 0x1400191ea

Function at 0x14001a548
Capabilities:
Parse pe header

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

Function at 0x140023160
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x140022ec4
Function at 0x140009b20
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push r14
sub rsp, 0x30
and qword [rax + 8], 0
mov r14, r9
xor ebx, ebx
lea r9, [rax + 8]
mov rcx, 0xffffffff80000002
lea r8d, [rbx + 1]
call fcn.14000ad68
mov esi, eax
test eax, eax
jns 0x140009b66
mov ecx, eax
jmp 0x140009c20
and dword [rsp + 0x60], ebx
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea rdx, [0x140023200]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
je 0x140009ba9
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
jne 0x140009bd9
test rbx, rbx
jne 0x140009be4
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x140009bdd
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x140009b6a
mov esi, 0x8007000e
mov ecx, esi
jmp 0x140009c20
mov esi, 0x8000ffff
jmp 0x140009bd9
cmp dword [rsp + 0x58], 0xb
je 0x140009bf2
mov esi, 0x8007000d
jmp 0x140009bd9
xor ebp, ebp
cmp dword [rsp + 0x60], 8
je 0x140009c0b
mov esi, 0x8007000d
mov ecx, esi
mov ebp, esi
call fcn.140008b48
jmp 0x140009c11
mov rax, qword [rbx]
mov qword [r14], rax
mov ecx, ebp
call fcn.140008b64
mov esi, ebp
test ebp, ebp
jns 0x140009c25
mov ecx, ebp
call fcn.140008b48
mov ecx, esi
call fcn.140008b64
test rbx, rbx
je 0x140009c45
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
cmp qword [rsp + 0x50], 0
je 0x140009c58
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, esi
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
Function at 0x14000bdf0
Capabilities:
Create service

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x290
mov rax, qword [0x140033670]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov r8d, 0x104
lea rdx, [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetModuleFileNameW]
test eax, eax
je 0x14000beb5
mov edi, 3
xor edx, edx
mov r8d, edi
xor ecx, ecx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rbx, rax
test rax, rax
je 0x14000beb5
and qword [rsp + 0x60], 0
lea rax, [rsp + 0x70]
and qword [rsp + 0x58], 0
lea r9d, [rdi + 1]
and qword [rsp + 0x50], 0
lea r8, str.Remediates_Windows_Update_Components
and qword [rsp + 0x48], 0
lea rdx, str.Windows_Remediation_Service
and qword [rsp + 0x40], 0
mov rcx, rbx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 0x10
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CreateServiceW]
mov rdi, rax
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
test rdi, rdi
je 0x14000beb5
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.14001c1f0
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x290
pop rdi
ret

Function at 0x14000bed8
Capabilities:
Delete service
Query service status
Stop service

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x140033670]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor eax, eax
xor edx, edx
mov qword [r11 - 0x38], rax
xor ecx, ecx
mov qword [r11 - 0x30], rax
mov esi, 0xe10
mov qword [r11 - 0x28], rax
lea r8d, [rax + 1]
mov dword [rsp + 0x38], eax
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rdi, rax
test rax, rax
je 0x14000bfb3
mov r8d, 0x10024
lea rdx, str.Windows_Remediation_Service
mov rcx, rax
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenServiceW]
mov rbx, rax
test rax, rax
je 0x14000bf9c
lea r8, [rsp + 0x20]
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_ControlService]
test eax, eax
je 0x14000bf93
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x14000bf81
cmp dword [rsp + 0x24], 3
jne 0x14000bf93
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
sub esi, 1
je 0x14000bf93
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_QueryServiceStatus]
test eax, eax
jne 0x14000bf6a
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_DeleteService]
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
test rbx, rbx
je 0x14000bfb3
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14001c1f0
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
Function at 0x14000e988
Capabilities:
Check if file exists
Get common file path
Get file attributes
Get file version info

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x168]
sub rsp, 0x268
mov rax, qword [0x140033670]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov rax, qword [rbp + 0x1d0]
mov r13, rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0x40]
mov r14d, 0x104
mov qword [rsp + 0x38], rax
xor esi, esi
mov edx, r14d
and qword [rsp + 0x20], rsi
mov r12, r9
mov r15, r8
xor edi, edi
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemDirectoryW]
dec eax
cmp eax, 0x102
ja 0x14000eb30
lea r8, str.kernel32.dll
mov edx, r14d
lea rcx, [rsp + 0x40]
call fcn.1400032c0
mov ebx, eax
test eax, eax
js 0x14000eb48
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14000ea5c
mov edx, r14d
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemDirectoryW]
dec eax
cmp eax, 0x102
ja 0x14000eaa1
lea r8, str._ntdll.dll
mov edx, r14d
lea rcx, [rsp + 0x40]
call fcn.1400032c0
mov ebx, eax
test eax, eax
js 0x14000eb48
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov r14d, eax
test eax, eax
je 0x14000eaa1
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rsi, rax
test rax, rax
je 0x14000eaa1
mov r8d, r14d
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14000eaab
mov ebx, 0x8007000e
jmp 0x14000eb48
mov ebx, 0x8000ffff
jmp 0x14000eb48
mov r9, rdi
lea rcx, [rsp + 0x40]
mov r8d, r14d
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x14000eb30
lea r9, [rsp + 0x28]
mov rcx, rdi
lea r8, [rsp + 0x20]
lea rdx, [0x140021ea0]
call qword [sym.imp.api_ms_win_core_version_l1_1_0.dll_VerQueryValueW]
test eax, eax
je 0x14000eb30
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
movzx eax, word [rcx + 0xa]
mov dword [r13], eax
movzx eax, word [rcx + 8]
mov dword [rdx], eax
movzx r8d, word [rcx + 0xe]
mov rax, qword [rsp + 0x38]
mov dword [rax], r8d
cmp r8d, 0x23f0
jae 0x14000eb23
mov eax, 0xcccccccd
mul r8d
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub r8d, eax
jmp 0x14000eb26
xor r8d, r8d
mov dword [r15], r8d
and dword [r12], 0
jmp 0x14000eb35
mov ebx, 0x8000ffff
test rdi, rdi
je 0x14000eb48
mov r8, rdi
xor edx, edx
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, ebx
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.14001c1f0
add rsp, 0x268
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x14000f2cc
Capabilities:
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
xor r11d, r11d
lea r8, [0x140000000]
mov r9, rdx
test rdx, rdx
jne 0x14000f2fd
mov r9, r8
not r9
mov rdx, r9
mov rcx, r8
call fcn.14000f020
test eax, eax
je 0x14000f501
mov edx, 0x40
call fcn.14000f020
test eax, eax
je 0x14000f501
mov eax, 0x5a4d
cmp word [0x140000000], ax
jne 0x14000f501
movsxd rax, dword [0x14000003c]
cmp rax, r9
jae 0x14000f501
lea rcx, [rax + r8]
mov edx, 0x108
call fcn.14000f020
test eax, eax
je 0x14000f501
cmp dword [rcx], 0x4550
jne 0x14000f501
movzx eax, word [rcx + 0x14]
cmp rax, r9
jae 0x14000f501
add rcx, 0x18
mov edx, 0x10b
cmp word [rcx], dx
jne 0x14000f3a6
cmp rax, 0x60
jb 0x14000f501
mov edx, 0xe0
call fcn.14000f020
test eax, eax
je 0x14000f501
mov eax, dword [rcx + 0x5c]
add rcx, 0x70
jmp 0x14000f3d7
mov edx, 0x20b
cmp word [rcx], dx
jne 0x14000f501
cmp rax, 0x70
jb 0x14000f501
mov edx, pe_nt_image_headers64
call fcn.14000f020
test eax, eax
je 0x14000f501
mov eax, dword [rcx + 0x6c]
sub rcx, 0xffffffffffffff80
cmp eax, 2
jbe 0x14000f501
mov eax, dword [rcx]
test rax, rax
je 0x14000f501
mov edx, dword [rcx + 4]
test rdx, rdx
je 0x14000f501
lea rdi, [rax + r8]
test rdi, rdi
je 0x14000f501
mov rcx, rdi
call fcn.14000f020
test eax, eax
je 0x14000f501
mov ebp, 0x10
cmp rdx, rbp
jb 0x14000f501
movzx ebx, word [rdi + 0xe]
test rbx, rbx
je 0x14000f501
movzx ecx, word [rdi + 0xc]
lea r14d, [rbp - 8]
add rcx, 2
mov rsi, r11
lea rcx, [rdi + rcx*8]
test rbx, rbx
je 0x14000f467
mov rdx, r14
call fcn.14000f020
test eax, eax
je 0x14000f501
cmp word [rcx], bp
je 0x14000f467
add rcx, r14
inc rsi
cmp rsi, rbx
jb 0x14000f447
cmp rsi, rbx
je 0x14000f501
mov ebx, dword [rcx + 4]
test ebx, ebx
jns 0x14000f4e9
mov esi, 0x7fffffff
mov rdx, rbp
and rbx, rsi
add rbx, rdi
mov rcx, rbx
call fcn.14000f020
test eax, eax
je 0x14000f501
cmp word [rbx + 0xe], r11w
jne 0x14000f49f
cmp word [rbx + 0xc], r11w
je 0x14000f501
lea rcx, [rbx + 0x10]
mov rdx, r14
call fcn.14000f020
test eax, eax
je 0x14000f501
mov ebx, dword [rcx + 4]
test ebx, ebx
jns 0x14000f4e9
and rbx, rsi
mov rdx, rbp
add rbx, rdi
mov rcx, rbx
call fcn.14000f020
test eax, eax
je 0x14000f501
cmp word [rbx + 0xe], r11w
jne 0x14000f4d9
cmp word [rbx + 0xc], r11w
je 0x14000f501
lea rcx, [rbx + 0x10]
mov rdx, r14
call fcn.14000f020
test eax, eax
je 0x14000f501
mov ecx, dword [rcx + 4]
mov rdx, rbp
add rcx, rdi
call fcn.14000f020
test eax, eax
je 0x14000f501
mov r11d, dword [rcx]
add r11, r8
mov rbx, qword [rsp + 0x30]
mov rax, r11
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x14000fb68
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
and qword [rbp - 0x10], 0
lea rax, [rbp - 0x10]
mov rsi, rcx
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000002
lea rdx, str.SoftwareMicrosoftOneSettingsOffline
mov r9d, 0xf003f
xor r8d, r8d
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
mov rcx, qword [rbp - 0x10]
test eax, eax
sete r15b
test rcx, rcx
je 0x14000fbbe
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rdx, qword [rsi + 0x20]
lea r8, str.RefreshAfter
mov rcx, qword [rsi + 0x70]
xor eax, eax
mov qword [rbp - 8], rax
xor r14d, r14d
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], 8
mov qword [rsp + 0x30], rax
xor edi, edi
lea rax, [rbp - 8]
mov qword [rsp + 0x28], rax
lea r9d, [r14 + 0x48]
and qword [rsp + 0x20], rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegGetValueW]
test eax, eax
je 0x14000fc12
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
cmp edi, 0x80070002
jne 0x14000fc20
xor edi, edi
xor ebx, ebx
jmp 0x14000fc6c
test edi, edi
js 0x14000fc4e
xor eax, eax
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x40], rax
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTimeAsFileTime]
mov eax, dword [rbp + 0x44]
mov dword [rbp + 0x4c], eax
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x48], eax
mov rax, qword [rbp - 8]
cmp qword [rbp + 0x48], rax
seta r14b
xor edi, edi
mov ebx, edi
test edi, edi
jns 0x14000fc62
lea rdx, str.OneSettings_IsTimeToRequery_failed
mov ecx, edi
call fcn.14000821c
cmp r14d, 1
jne 0x14000fcfe
test r15b, r15b
jne 0x14000fcfe
lea rdx, str.OneSettings_requery_is_TRUE
mov ecx, edi
call fcn.140008434
test edi, edi
js 0x14000fd03
cmp qword [rsi + 0x78], 0
je 0x14000fca2
cmp qword [rsi + 0x80], 0
je 0x14000fca2
cmp qword [rsi + 0x88], 0
jne 0x14000fcbc
mov rdx, qword [rsi]
mov rcx, rsi
call fcn.140010398
mov ebx, eax
test eax, eax
jns 0x14000fcbc
lea rdx, str.OneSettings_OpenWebRequest_failed
jmp 0x14000fcd5
mov rdx, qword [rsi]
mov rcx, rsi
call fcn.140010aa8
mov ebx, eax
cmp eax, 1
jbe 0x14000fcde
lea rdx, str.OneSettings_GetCloudSettings_failed
mov ecx, eax
call fcn.14000821c
jmp 0x14000fd03
mov rcx, rsi
call fcn.140011098
mov ebx, eax
test eax, eax
jns 0x14000fd03
lea rdx, str.OneSettings_UpdateNextRefreshTime_failed
mov ecx, eax
call fcn.14000821c
xor ebx, ebx
jmp 0x14000fd03
mov ebx, 1
mov rcx, rsi
call fcn.140011ba8
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400102e8
Capabilities:
Delete registry value

Disassembly:
push rbx
sub rsp, 0x30
mov rdx, qword [rcx + 0x20]
lea rax, [rsp + 0x48]
mov rcx, qword [rcx + 0x70]
xor ebx, ebx
and qword [rsp + 0x48], rbx
mov r9d, 0xf003f
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
je 0x14001032c
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001037e
mov rcx, qword [rsp + 0x48]
lea rdx, str.ETag
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
test eax, 0xfffffffd
je 0x140010353
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001037e
mov rcx, qword [rsp + 0x48]
lea rdx, str.RefreshAfter
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
test eax, 0xfffffffd
je 0x14001037e
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14001038e
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, ebx
add rsp, 0x30
pop rbx
ret
Function at 0x140010398
Capabilities:
Initialize winhttp library
Prepare http request

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
mov eax, 0x1050
call fcn.14001d330
sub rsp, rax
mov rax, qword [0x140033670]
xor rax, rsp
mov qword [rsp + 0x1040], rax
mov rsi, rdx
mov rdi, rcx
xor ebx, ebx
call fcn.140011248
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x1000
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rcx, qword [rdi + 0x18]
xor r9d, r9d
and dword [rsp + 0x20], ebx
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rdi + 0x78], rax
mov r14d, 0x80070000
test rax, rax
jne 0x140010427
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx ecx, ax
mov ebx, 0x80004005
or ecx, r14d
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovs ebx, ecx
test ebx, ebx
js 0x140010525
mov rcx, qword [rdi + 0x78]
mov edx, 0x2710
mov r9d, edx
mov dword [rsp + 0x20], edx
mov r8d, edx
call qword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
jne 0x14001045f
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx ecx, ax
mov ebx, 0x80004005
or ecx, r14d
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovs ebx, ecx
test ebx, ebx
js 0x140010525
mov rcx, qword [rdi + 0x78]
mov r8d, 0x1bb
xor r9d, r9d
mov rdx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov qword [rdi + 0x80], rax
test rax, rax
jne 0x1400104a4
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx ecx, ax
mov ebx, 0x80004005
or ecx, r14d
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovs ebx, ecx
test ebx, ebx
js 0x140010525
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14001054c
lea r8, [rsp + 0x40]
xor ecx, ecx
lea rdx, str.The_following_query_string_will_be_used:__s
mov ebx, eax
call fcn.140008434
test ebx, ebx
js 0x140010525
mov rcx, qword [rdi + 0x80]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x30], 0x800000
lea rdx, [0x140024248]
and qword [rsp + 0x28], 0
xor r9d, r9d
and qword [rsp + 0x20], 0
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov qword [rdi + 0x88], rax
test rax, rax
jne 0x140010525
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx ecx, ax
mov ebx, 0x80004005
or ecx, r14d
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovs ebx, ecx
mov eax, ebx
mov rcx, qword [rsp + 0x1040]
xor rcx, rsp
call fcn.14001c1f0
mov rbx, qword [rsp + 0x1080]
add rsp, 0x1050
pop r14
pop rdi
pop rsi
ret
Function at 0x14001093c
Capabilities:
Receive http response

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r14
sub rsp, 0x48
mov qword [rax - 0x38], 0xfffffffffffffffe
xor ebx, ebx
and dword [rax + 0x18], ebx
lea edi, [rbx + 0xa]
mov eax, edi
dec edi
mov dword [rsp + 0x20], edi
test eax, eax
jle 0x140010a65
mov r14, qword [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov rcx, qword [r14 + 0x88]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
jne 0x1400109b1
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov ebx, 0x80004005
test ecx, ecx
cmovs ebx, ecx
jmp 0x140010a65
mov r8d, dword [rsp + 0x80]
mov ecx, ebx
test r8d, r8d
je 0x140010a59
lea rdx, str.You_are_reading__d_bytes
call fcn.140008434
mov ecx, dword [rsp + 0x80]
inc ecx
lea rdx, [0x140034196]
call fcn.14001d26c
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
jne 0x1400109f9
mov ebx, 0x8007000e
jmp 0x140010a65
lea r9, [rsp + 0x80]
mov r8d, dword [rsp + 0x80]
mov rdx, rsi
mov rcx, qword [r14 + 0x88]
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x14001098e
mov eax, dword [rsp + 0x80]
mov byte [rax + rsi], 0
mov rdx, rsi
mov rcx, qword [rsp + 0x78]
call fcn.140008e74
nop
jmp 0x140010a4c
mov rcx, rsi
call fcn.14001c214
jmp 0x140010960
lea rdx, str.You_have_completed_reading_as_dataSize_is_0
call fcn.140008434
test edi, edi
jne 0x140010a89
cmp dword [rsp + 0x80], edi
jbe 0x140010a89
mov ebx, 0x8000ffff
lea r8d, [rdi + 0xa]
lea rdx, str.You_exceeded_the_maximum_number_of_reads_of__d._Something_is_probably_wrong_creating_a_read_loop_or_data_in_OneSettings_too_large
mov ecx, ebx
call fcn.140008434
test ebx, ebx
je 0x140010a9b
lea rdx, str.An_error_occurrred_during_the_read_of_OneSettings_data
mov ecx, ebx
call fcn.140008434
mov eax, ebx
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbx
ret