joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140004b10
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x740
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x730], rax
mov qword [rsp + 0x60], rcx
mov r15, rdx
mov qword [rsp + 0x50], rdx
lea rcx, [0x140060300]
mov r9d, 0x12
xor r8d, r8d
xor edx, edx
call qword [0x140055738]
xor r13b, r13b
mov r14d, 4
mov rdi, rax
mov qword [rsp + 0x48], rax
xor eax, eax
xor r12d, r12d
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x68], 0x20
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
mov esi, r12d

Function at 0x1400052d0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x470
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x460], rax
xor esi, esi
mov rbx, rcx
mov rdi, rdx
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x206
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x30], esi
mov word [rsp + 0x50], si
call fcn.14003ea70
lea rcx, [rsp + 0x262]
xor edx, edx
mov r8d, 0x1fe
mov word [rsp + 0x260], si
call fcn.14003ea70
lea r8, str.Software_
lea rax, [rsp + 0x50]
mov r11d, 0x104
sub r8, rax
lea rcx, [rsp + 0x50]
mov rdx, r11
nop word [rax + rax]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140005385
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140005385
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140005360
jmp 0x14000538a
test rdx, rdx
jne 0x14000538e
sub rcx, 2
mov word [rcx], si
lea rax, [rsp + 0x50]
mov rcx, r11
nop dword [rax]
cmp word [rax], si
je 0x1400053b1
add rax, 2
sub rcx, 1
jne 0x1400053a0
jmp 0x1400053fd
test rcx, rcx
je 0x1400053fd
mov rdx, r11
sub rdx, rcx
sub r11, rdx
lea rax, [rsp + rdx*2 + 0x50]
je 0x1400053f6
lea rcx, [r11 + rdx + 0x7ffffefb]
sub rdi, rax
test rcx, rcx
je 0x1400053f1
movzx edx, word [rdi + rax]
test dx, dx
je 0x1400053f1
mov word [rax], dx
add rax, 2
dec rcx
sub r11, 1
jne 0x1400053d1
jmp 0x1400053f6
test r11, r11
jne 0x1400053fa
sub rax, 2
mov word [rax], si
lea rax, [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400054a0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x260]
lea rdx, str.Language
mov edi, pe_nt_image_headers64
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], edi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400054a0
lea rcx, [rsp + 0x260]
sub rcx, rbx
nop
lea rax, [rdi + 0x7ffffefe]
test rax, rax
je 0x140005494
movzx eax, word [rcx + rbx]
test ax, ax
je 0x140005494
mov word [rbx], ax
add rbx, 2
sub rdi, 1
jne 0x140005470
jmp 0x140005499
test rdi, rdi
jne 0x14000549d
sub rbx, 2
mov word [rbx], si
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.14003d6d0
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1400054d0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x370
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x360], rax
mov rdi, rcx
mov rbx, rdx
lea rcx, [rsp + 0x152]
xor esi, esi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x150], si
call fcn.14003ea70
lea rdx, [rsp + 0x150]
mov rcx, rbx
call fcn.140005e70
test eax, eax
jne 0x140005546
lea rdx, [rsp + 0x150]
mov rcx, rbx
call fcn.140004b10
lea rcx, str.GetPrinterDeviceName_get_hDevice
jmp 0x14000554d
lea rcx, str.GetPrinterDeviceName_IPP_get_hDevice
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rsp + 0x51]
xor edx, edx
mov r8d, 0xff
mov byte [rsp + 0x40], 1
mov byte [rsp + 0x41], sil
mov byte [rsp + 0x42], sil
mov byte [rsp + 0x50], sil
call fcn.14003ea70
xor r9d, r9d
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x150]
lea r8d, [r9 + 3]
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
lea r8, [rsp + 0x40]
mov r9d, 3
mov edx, 0x22003c
mov rcx, rbx
mov dword [rsp + 0x28], 0xff
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rdx, [rsp + 0x50]
mov rcx, rdi
mov r8d, 0xac
call fcn.14003f7f0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.14003d6d0
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x140005630
Capabilities:
Delete file
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
sub rsp, 0x20
mov rdi, r9
mov rsi, r8
mov rbp, rdx
mov r12, rcx
mov ebx, 5
nop dword [rax + rax]
mov r9, rdi
mov r8, rsi
mov rdx, rbp
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
jne 0x1400056a4
sub ebx, 1
jne 0x140005660
mov edx, 0x80
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r9, rdi
mov r8, rsi
mov rdx, rbp
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r12
ret
Function at 0x140005be0
Capabilities:
Print debug messages
Read .ini file

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rdi
sub rsp, 0x498
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov rbx, rcx
lea rcx, [rsp + 0x62]
xor edi, edi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x60], di
call fcn.14003ea70
lea rcx, [rsp + 0x272]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x270], di
call fcn.14003ea70
lea r9, [rsp + 0x4b8]
lea rcx, [rsp + 0x270]
mov r8, rbx
mov edx, 0x207
call fcn.14003dc68
lea r9, [0x14007b3e0]
lea rdx, str.OpenDebug
lea rcx, str.Option
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x140005e50
xor ecx, ecx
call fcn.14003e154
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
call fcn.14003e4e4
lea r8, str._TIME___d__d__d__d:_d:_d
mov ecx, dword [rax]
mov edx, dword [rax + 0x10]
mov r9d, dword [rax + 0x14]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 4]
inc edx
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 8]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea rcx, [rsp + 0x60]
mov edx, 0x208
add r9d, 0x76c
call fcn.140004960
mov r11d, 0x104
lea rax, [rsp + 0x60]
mov rcx, r11
cmp word [rax], di
je 0x140005d05
add rax, 2
sub rcx, 1
jne 0x140005cf4
jmp 0x140005d5f
test rcx, rcx
je 0x140005d5f
mov rdx, r11
sub rdx, rcx
mov rcx, r11
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x60]
je 0x140005d58
lea r9, str.__SM_MSG_
lea rdx, [rcx + rdx + 0x7ffffefb]
sub r9, rax
nop
test rdx, rdx
je 0x140005d53
movzx r8d, word [r9 + rax]
test r8w, r8w
je 0x140005d53
mov word [rax], r8w
add rax, 2
dec rdx
sub rcx, 1
jne 0x140005d30
jmp 0x140005d58
test rcx, rcx
jne 0x140005d5c
sub rax, 2
mov word [rax], di
mov rcx, r11
lea rax, [rsp + 0x60]
cmp word [rax], di
je 0x140005d78
add rax, 2
sub rcx, 1
jne 0x140005d67
jmp 0x140005dd2
test rcx, rcx
je 0x140005dd2
mov rdx, r11
sub rdx, rcx
mov rcx, r11
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x60]
je 0x140005dcb
lea r9, [rsp + 0x270]
lea rdx, [rcx + rdx + 0x7ffffefb]
sub r9, rax
test rdx, rdx
je 0x140005dc6
movzx r8d, word [r9 + rax]
test r8w, r8w
je 0x140005dc6
mov word [rax], r8w
add rax, 2
dec rdx
sub rcx, 1
jne 0x140005da3
jmp 0x140005dcb
test rcx, rcx
jne 0x140005dcf
sub rax, 2
mov word [rax], di
mov rcx, r11
lea rax, [rsp + 0x60]
nop word [rax + rax]
cmp word [rax], di
je 0x140005df1
add rax, 2
sub rcx, 1
jne 0x140005de0
jmp 0x140005e45
test rcx, rcx
je 0x140005e45
mov rdx, r11
sub rdx, rcx
sub r11, rdx
lea rax, [rsp + rdx*2 + 0x60]
je 0x140005e3e
lea r8, [0x1400605e0]
lea rcx, [r11 + rdx + 0x7ffffefb]
sub r8, rax
test rcx, rcx
je 0x140005e39
movzx edx, word [r8 + rax]
test dx, dx
je 0x140005e39
mov word [rax], dx
add rax, 2
dec rcx
sub r11, 1
jne 0x140005e18
jmp 0x140005e3e
test r11, r11
jne 0x140005e42
sub rax, 2
mov word [rax], di
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.14003d6d0
add rsp, 0x498
pop rdi
pop rbx
ret
Function at 0x1400064e0
Capabilities:
Read .ini file

Disassembly:
push r12
mov eax, 0x1260
call fcn.140050c50
sub rsp, rax
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x1250], rax
lea rcx, [rsp + 0x852]
xor r12d, r12d
xor edx, edx
mov r8d, 0x1fe
mov word [rsp + 0x850], r12w
call fcn.14003ea70
lea rcx, [rsp + 0xa52]
xor edx, edx
mov r8d, 0x7fe
mov word [rsp + 0xa50], r12w
call fcn.14003ea70
lea rcx, [rsp + 0x850]
call fcn.140006230
test eax, eax
je 0x140006797
lea r9, [rsp + 0x850]
lea rdx, [rsp + 0xa50]
lea rcx, str.Printer
mov r8d, 0x400
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
je 0x140006797
or rcx, 0xffffffffffffffff
mov qword [rsp + 0x1280], rsi
mov qword [rsp + 0x1288], rdi
xor eax, eax
lea rdi, [rsp + 0xa50]
lea rsi, [rsp + 0xa50]
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x140006780
mov qword [rsp + 0x1270], rbx
mov qword [rsp + 0x1278], rbp
nop word [rax + rax]
lea rdx, [0x140060718]
mov rcx, rsi
call fcn.14003e0b4
mov rbp, rax
test rax, rax
je 0x140006746
movzx eax, r12w
lea rdi, [rsp + 0x20]
mov ecx, 0x104
rep stosw word [rdi], ax
movzx eax, r12w
lea rdi, [rsp + 0x228]
mov ecx, 0x104
mov rdx, rsi
rep stosw word [rdi], ax
movzx eax, r12w
lea rdi, [rsp + 0x430]
mov ecx, 0x104
rep stosw word [rdi], ax
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
mov rdi, rsi
not rcx
lea rbx, [rcx - 1]
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
not rcx
dec rcx
sub rcx, rbx
lea r8, [rcx + rcx]
lea rcx, [rsp + 0x20]
call fcn.14003f7f0
lea rcx, [rsp + 0x642]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x640], r12w
call fcn.14003ea70
lea r8, [rbx + rbx - 4]
lea rdx, [rbp + 4]
lea rcx, [rsp + 0x640]
call fcn.14003f7f0
lea rdx, [0x140060718]
lea rcx, [rsp + 0x640]
call fcn.14003e0b4
mov rbp, rax
test rax, rax
je 0x140006707
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
lea rdi, [rsp + 0x640]
lea rdx, [rsp + 0x640]
not rcx
lea rbx, [rcx - 1]
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
not rcx
dec rcx
sub rcx, rbx
lea r8, [rcx + rcx]
lea rcx, [rsp + 0x228]
call fcn.14003f7f0
lea r8, [rbx + rbx - 4]
lea rdx, [rbp + 4]
lea rcx, [rsp + 0x430]
call fcn.14003f7f0
jmp 0x140006735
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x640]
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x640]
not rcx
lea r8, [rcx + rcx - 2]
lea rcx, [rsp + 0x228]
call fcn.14003f7f0
lea rdx, [rsp + 0x20]
lea rcx, [0x1400b5a10]
call fcn.1400088a0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rsi, [rsi + rcx*2]
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
jne 0x1400065d0
mov rbp, qword [rsp + 0x1278]
mov rbx, qword [rsp + 0x1270]
mov rdi, qword [rsp + 0x1288]
mov rsi, qword [rsp + 0x1280]
mov eax, 1
jmp 0x14000679a
mov eax, r12d
mov rcx, qword [rsp + 0x1250]
xor rcx, rsp
call fcn.14003d6d0
add rsp, 0x1260
pop r12
ret
Function at 0x1400067c0
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xac0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0xab0], rax
mov rbp, r8
mov r13, rdx
mov rbx, rcx
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
mov rcx, qword [rsp + 0xab0]
xor rcx, rsp
call fcn.14003d6d0
lea r11, [rsp + 0xac0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x140006e20
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xa60
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0xa50], rax
mov rsi, rcx
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
mov rbp, rdx
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x140007038
mov qword [rsp + 0xa90], r12
xor r12d, r12d
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x1fe
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
mov word [rsp + 0x50], r12w
call fcn.14003ea70
lea rax, [rsp + 0x40]
lea rdx, str.SYSTEMCurrentControlSetEnumIPBusEnumRootUMB
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x30], pe_nt_image_headers64
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x34], r12d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140006ec8
xor eax, eax
jmp 0x140007030
lea rcx, [rsp + 0x252]
xor edx, edx
mov r8d, 0x7fe
mov qword [rsp + 0xa80], rbx
mov word [rsp + 0x250], r12w
call fcn.14003ea70
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x250]
mov r9d, 0x400
xor edx, edx
mov ebx, r12d
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
jne 0x140007018
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
lea rdx, [rsp + 0x250]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
inc ebx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140006fb2
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
lea rdx, str.FriendlyName
xor r8d, r8d
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x30], pe_nt_image_headers64
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140006fa7
lea rax, [rsp + 0x50]
mov rdi, rsi
sub rdi, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
jne 0x140006fa3
add rax, 2
test ecx, ecx
jne 0x140006f90
test edx, edx
je 0x140006fd7
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x250]
mov r9d, 0x400
mov edx, ebx
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
je 0x140006f14
jmp 0x140007018
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rdx, str.LocationInformation
xor r8d, r8d
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x30], pe_nt_image_headers64
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0xa80]
mov eax, 1
mov r12, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0xa50]
xor rcx, rsp
call fcn.14003d6d0
add rsp, 0xa60
pop rdi
pop rsi
pop rbp
ret
Function at 0x140008550
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x670
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x660], rax
mov rbx, rcx
mov rsi, r8
mov rdi, rdx
lea rcx, [rsp + 0x32]
xor ebp, ebp
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x30], bp
call fcn.14003ea70
lea rcx, [rsp + 0x242]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x240], bp
call fcn.14003ea70
lea rcx, [rsp + 0x452]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x450], bp
call fcn.14003ea70
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [rsp + 0x30]
mov r8d, 0x104
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [rbp + 0x5c]
lea rcx, [rsp + 0x30]
call fcn.14003e11c
lea rcx, [rsp + 0x240]
mov word [rax + 2], bp
call fcn.140008340
lea r11, str.smConfig.ini
lea rax, [rsp + 0x240]
mov qword [rsp + 0x28], r11
lea r9, [rsp + 0x30]
lea r8, str._s_s_s
lea rcx, [rsp + 0x30]
mov edx, 0x208
mov qword [rsp + 0x20], rax
call fcn.140004960
lea r11, [rsp + 0x30]
mov qword [rsp + 0x28], r11
lea r9, [rsp + 0x450]
lea r8, [0x140060dbc]
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x20], 0x208
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x450]
mov r11d, 0x82
sub rcx, rsi
nop dword [rax]
lea rax, [r11 + 0x7fffff7c]
test rax, rax
je 0x1400086a8
movzx eax, word [rcx + rsi]
test ax, ax
je 0x1400086a8
mov word [rsi], ax
add rsi, 2
sub r11, 1
jne 0x140008680
mov word [rsi - 2], bp
jmp 0x1400086b6
test r11, r11
jne 0x1400086b3
mov word [rsi - 2], bp
jmp 0x1400086b6
mov word [rsi], bp
mov rcx, qword [rsp + 0x660]
xor rcx, rsp
call fcn.14003d6d0
mov rbx, qword [rsp + 0x6a8]
add rsp, 0x670
pop rdi
pop rsi
pop rbp
ret
Function at 0x14000b2a0
Capabilities:
Check os version

Disassembly:
sub rsp, 0x158
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8d, 0x114
call fcn.14003ea70
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x24], 5
ja 0x14000b2ff
xor eax, eax
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14003d6d0
add rsp, 0x158
ret
lea rcx, str.user32.dll
mov qword [rsp + 0x150], rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
test rax, rax
je 0x14000b331
lea rdx, str.ChangeWindowMessageFilter
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14000b335
xor eax, eax
jmp 0x14000b35e
mov edx, 1
mov ecx, 0x402
mov qword [rsp + 0x160], rbx
call rax
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
mov rbx, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14003d6d0
add rsp, 0x158
ret
Function at 0x14000cbb0
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdx, qword [rcx + 0x28d8]
mov rbx, rcx
test rdx, rdx
je 0x14000cbde
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_KillTimer]
mov qword [rbx + 0x28d8], 0
mov rcx, qword [rbx + 0x28d0]
mov rax, qword [rcx]
call qword [rax + 0xd0]
mov rdi, qword [rbx + 0x28e0]
test rdi, rdi
je 0x14000cc14
mov rcx, qword [rdi + 0xe8]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11 + 0x2b0]
mov rdi, qword [rbx + 0x28e8]
test rdi, rdi
je 0x14000cc40
mov rcx, qword [rdi + 0xe8]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11 + 0x2b0]
nop word [rax + rax]
lea rcx, str.ShowDlg
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x14000cc6b
xor r9d, r9d
mov edx, 0x406
mov rcx, rax
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x14000cc40
lea rcx, [0x14007b800]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [0x14007b3e0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r11, qword [rbx]
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [r11 + 0x2b8]
Function at 0x14000eba0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x150
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rsi, rcx
xor ebx, ebx
mov dword [rsp + 0x20], 0x11c
mov dword [rcx], ebx
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov edi, eax
test eax, eax
jne 0x14000ec03
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x14000ec03
lea eax, [rbx + 2]
jmp 0x14000ed1d
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x14000ed14
sub eax, 1
je 0x14000ecef
cmp eax, 1
jne 0x14000ed19
mov eax, dword [rsp + 0x24]
cmp eax, 4
ja 0x14000ec34
mov ebx, 5
jmp 0x14000ed19
cmp eax, 5
jne 0x14000ec9e
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x14000ec97
sub eax, 1
je 0x14000ec8d
cmp eax, 1
jne 0x14000ed19
test edi, edi
je 0x14000ec83
cmp byte [rsp + 0x13a], al
jne 0x14000ec64
lea ebx, [rax + 0xd]
jmp 0x14000ed19
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, 8
mov ecx, 0xc
test eax, eax
cmovne ebx, ecx
jmp 0x14000ed19
mov ebx, 8
jmp 0x14000ed19
mov ebx, 7
jmp 0x14000ed19
mov ebx, 6
jmp 0x14000ed19
cmp eax, 6
jne 0x14000ed19
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x14000ecdb
sub eax, 1
je 0x14000ecc4
cmp eax, 1
jne 0x14000ed19
cmp byte [rsp + 0x13a], al
setne bl
add ebx, 0xf
jmp 0x14000ed19
cmp byte [rsp + 0x13a], 1
mov ebx, 0xd
mov eax, 0xb
cmove ebx, eax
jmp 0x14000ed19
test edi, edi
je 0x14000ed19
cmp byte [rsp + 0x13a], 1
setne bl
add ebx, 9
jmp 0x14000ed19
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x14000ed0d
cmp eax, 0xa
je 0x14000ed06
cmp eax, 0x5a
jne 0x14000ed19
lea ebx, [rax - 0x56]
jmp 0x14000ed19
mov ebx, 3
jmp 0x14000ed19
mov ebx, 2
jmp 0x14000ed19
mov ebx, 1
mov dword [rsi], ebx
xor eax, eax
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14003d6d0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x14000ee20
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x150
mov rax, qword [0x140074c00]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rbx, rcx
xor edx, edx
mov r8d, 0x3d0
add rcx, 0xb0
call fcn.14003ea70
xor edi, edi
mov dword [rbx + 0x484], 1
mov dword [rbx + 0x480], edi
mov dword [rbx + 0x4f8], edi
mov dword [rbx + 0x48c], edi
mov qword [rbx + 0x4c8], rdi
mov qword [rbx + 0x4f0], rdi
mov qword [rbx + 0x498], rdi
mov dword [rbx + 0x500], edi
mov dword [rbx + 0x488], 1
mov dword [rbx + 0x4fc], 1
call qword [sym.imp.USER32.dll_CreateMenu]
lea rcx, [rbx + 0x508]
mov rdx, rax
call fcn.140026398
lea rcx, [rsp + 0x24]
xor edx, edx
mov r8d, 0x110
mov dword [rsp + 0x20], 0x114
call fcn.14003ea70
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x30], 2
jne 0x14000eef7
cmp dword [rsp + 0x24], 5
jb 0x14000eef7
mov dword [rbx + 0x490], 1
jmp 0x14000eefd
mov dword [rbx + 0x490], edi
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14003d6d0
mov rbx, qword [rsp + 0x168]
add rsp, 0x150
pop rdi
ret