joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18000ec6c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov r13, qword [rbp + 0x68]
mov r12d, r9d
mov r15d, r8d
mov r14, rdx
mov rsi, rcx
mov edi, 1
call fcn.18000e920
mov rbx, rax
test rax, rax
je 0x18000ed02
lea rdx, [rbp - 0x28]
mov rcx, rax
mov word [rbp - 0x21], 0x654b
mov dword [rbp - 0x1f], 0x41784579
mov dword [rbp - 0x26], 0x65704f67
mov word [rbp - 0x28], 0x6552
mov byte [rbp - 0x1b], 0
mov byte [rbp - 0x22], 0x6e
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18000ecf9
mov r9d, r12d
mov r8d, r15d
mov rdx, r14
mov rcx, rsi
mov qword [rsp + 0x20], r13
call rax
mov edi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.180010f80
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret

Function at 0x18000ed24
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x70]
mov r13, qword [rbp + 0x68]
mov r12, r9
mov r15, r8
mov r14, rdx
mov rsi, rcx
mov qword [rbp - 0x38], rax
mov edi, 1
call fcn.18000e920
mov rbx, rax
test rax, rax
je 0x18000edd0
lea rdx, [rbp - 0x30]
mov rcx, rax
mov word [rbp - 0x2b], 0x7265
mov dword [rbp - 0x2f], 0x75516765
mov dword [rbp - 0x23], 0x417845
mov dword [rbp - 0x28], 0x756c6156
mov byte [rbp - 0x30], 0x52
mov byte [rbp - 0x24], 0x65
mov byte [rbp - 0x29], 0x79
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18000edc7
mov rcx, qword [rbp - 0x38]
mov r9, r12
mov r8, r15
mov qword [rsp + 0x28], rcx
mov rcx, rsi
mov rdx, r14
mov qword [rsp + 0x20], r13
call rax
mov edi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.180010f80
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret

Function at 0x18000f3b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp - 8], rax
xor ebx, ebx
call fcn.18000e9c0
test rax, rax
je 0x18000f40c
lea rdx, [rbp - 0x20]
mov rcx, rax
mov dword [rbp - 0x1d], 0x6957676e
mov dword [rbp - 0x15], 0x6f546f54
mov word [rbp - 0x11], 0x70
mov dword [rbp - 0x19], 0x776f646e
mov word [rbp - 0x20], 0x7242
mov byte [rbp - 0x1e], 0x69
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rax, rbx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180010f80
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret
Function at 0x18000f428
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor ebx, ebx
call fcn.18000e9c0
test rax, rax
je 0x18000f481
lea rdx, [rbp - 0x20]
mov rcx, rax
mov dword [rbp - 0x15], 0x776f646e
mov dword [rbp - 0x19], 0x69576576
mov dword [rbp - 0x1d], 0x69746341
mov byte [rbp - 0x11], bl
mov word [rbp - 0x20], 0x6553
mov byte [rbp - 0x1e], 0x74
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rax, rbx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180010f80
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret

Function at 0x18000f49c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp - 8], rax
xor ebx, ebx
call fcn.18000e9c0
test rax, rax
je 0x18000f4fd
lea rdx, [rbp - 0x20]
mov rcx, rax
mov dword [rbp - 0x10], 0x776f64
mov dword [rbp - 0x1b], 0x72676572
mov word [rbp - 0x17], 0x756f
mov dword [rbp - 0x14], 0x6e695764
mov dword [rbp - 0x1f], 0x6f467465
mov byte [rbp - 0x20], 0x53
mov byte [rbp - 0x15], 0x6e
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rax, rbx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180010f80
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret

Function at 0x18000f518
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor ebx, ebx
call fcn.18000e9c0
test rax, rax
je 0x18000f573
lea rdx, [rbp - 0x20]
mov rcx, rax
mov dword [rbp - 0x18], 0x736f5077
mov word [rbp - 0x1d], 0x6957
mov word [rbp - 0x20], 0x6553
mov word [rbp - 0x1a], 0x6f64
mov byte [rbp - 0x1e], 0x74
mov byte [rbp - 0x14], bl
mov byte [rbp - 0x1b], 0x6e
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rax, rbx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180010f80
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret
Function at 0x18000f80c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp + 0x40], rax
cmp edx, 1
jne 0x18000f8e9
lea rdx, [rsp + 0x30]
mov r8d, 0x104
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [rsp + 0x30]
call fcn.180012790
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x26], 0x75732074
mov dword [rsp + 0x2c], 0x74726f
mov dword [rsp + 0x21], 0x6174736e
mov word [rsp + 0x2a], 0x7070
mov byte [rsp + 0x20], 0x69
mov byte [rsp + 0x25], 0x6e
call fcn.180012508
test rax, rax
jne 0x18000f91d
lea rdx, [sym.gphelper.dll_HookSetWindowPos]
lea rcx, [0x1800569c0]
call fcn.180010628
test eax, eax
je 0x18000f91d
lea rdx, [sym.gphelper.dll_HookSetForegroundWindow]
lea rcx, [0x1800569b8]
call fcn.180010628
test eax, eax
je 0x18000f91d
lea rdx, [sym.gphelper.dll_HookSetActiveWindow]
lea rcx, [0x1800569d0]
call fcn.180010628
test eax, eax
je 0x18000f91d
lea rdx, [sym.gphelper.dll_HookBringWindowToTop]
lea rcx, [0x1800569c8]
call fcn.180010628
jmp 0x18000f91d
test edx, edx
jne 0x18000f91d
lea rcx, [0x1800569c0]
call fcn.1800108e0
lea rcx, [0x1800569b8]
call fcn.1800108e0
lea rcx, [0x1800569d0]
call fcn.1800108e0
lea rcx, [0x1800569c8]
call fcn.1800108e0
mov eax, 1
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.180010f80
add rsp, 0x150
pop rbp
ret
Function at 0x1800103b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r12, r9
mov r15, r8
mov r14d, edx
mov rsi, rcx
xor ebx, ebx
call fcn.18000e9c0
mov rdi, rax
test rax, rax
je 0x18000ea9d
lea rdx, [rbp - 0x20]
mov rcx, rax
mov dword [rbp - 0x1d], 0x78654e6c
mov word [rbp - 0x17], 0x6f6f
mov word [rbp - 0x1f], 0x6c61
mov word [rbp - 0x14], 0x7845
mov word [rbp - 0x19], 0x4874
mov byte [rbp - 0x12], bl
mov byte [rbp - 0x20], 0x43
mov byte [rbp - 0x15], 0x6b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18000ea94
mov r9, r12
mov r8, r15
mov edx, r14d
mov rcx, rsi
call rax
mov rbx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, rbx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180010f80
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, r8
mov r8, rdx
mov edx, ecx
xor ecx, ecx
jmp 0x18000ea0c
Function at 0x1800108e0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x30
mov rsi, rcx
xor edi, edi
call fcn.1800105dc
lea r12, [0x180056a40]
xor r8d, r8d
mov rdx, r12
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001091a
lea rax, [rbx + 0x38]
cmp rax, qword [rsi]
je 0x180010929
inc r8d
add rdx, 8
cmp r8d, 0x40
jb 0x180010909
xor ebx, ebx
test rbx, rbx
je 0x1800109e7
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
call fcn.180010be0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8d, dword [rbx + 8]
mov rdx, qword [rbx]
and dword [rsp + 0x58], edi
mov rbp, rax
lea rax, [rsp + 0x58]
mov r9d, 0x40
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x1800109e2
mov r8, qword [rbx]
xor edx, edx
cmp dword [rbx + 8], edx
jbe 0x180010987
mov al, byte [rdx + rbx + 0x58]
mov byte [rdx + r8], al
inc edx
cmp edx, dword [rbx + 8]
jb 0x180010978
mov r8d, dword [rbx + 8]
mov rdx, qword [rbx]
mov rcx, rbp
call fcn.18000eabc
mov r8d, dword [rbx + 8]
mov r9d, dword [rsp + 0x58]
mov rdx, qword [rbx]
lea rax, [rsp + 0x58]
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rax, qword [rbx]
mov qword [rsi], rax
mov edi, 1
mov rcx, r12
xor eax, eax
cmp qword [rcx], rbx
je 0x1800109d7
inc eax
add rcx, 8
cmp eax, 0x40
jb 0x1800109c5
jmp 0x1800109e2
and qword [r12 + rax*8], 0
dec dword [0x1800569e4]
call fcn.180010a0c
lea rcx, [0x180056a10]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov eax, edi
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret

Function at 0x180010a0c
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
call fcn.18000eb54
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov esi, eax
call fcn.18000eb54
mov edx, 0xf
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor edi, edi
cmp dword [0x1800569f0], edi
jbe 0x180010a74
mov rcx, qword [0x1800569e8]
mov rcx, qword [rcx + rdi*8]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [0x1800569e8]
mov rcx, qword [rcx + rdi*8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [0x1800569f0]
jb case.default.0x180010aa8
mov rcx, qword [0x1800569e8]
call fcn.180013430
and qword [0x1800569e8], 0
and dword [0x1800569f0], 0
call fcn.18000eb54
mov edx, esi
mov rcx, rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_SetThreadPriority]
Function at 0x180010af0
Capabilities:
Resume thread
Suspend thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x500
mov rax, qword [0x1800553b0]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
mov ebp, r8d
mov rsi, rdx
mov r8d, ecx
mov ecx, 0x1fffff
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rbx, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x180010bb4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rcx, rbx
cmp eax, 0xffffffff
je 0x180010bac
mov dword [rsp + 0x50], 0x100001
xor edi, edi
jmp 0x180010b98
cmp qword [rsp + 0x118], rsi
jb 0x180010bb4
lea rax, [rsi + rbp]
cmp qword [rsp + 0x118], rax
jae 0x180010bb4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ResumeThread]
cmp edi, 3
jge 0x180010ba9
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SuspendThread]
inc edi
mov rcx, rbx
lea rdx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
jne 0x180010b59
jmp 0x180010bb4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
mov rax, rbx
mov rcx, qword [rsp + 0x4f0]
xor rcx, rsp
call fcn.180010f80
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x180010d94
Capabilities:
Get system information on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r14
sub rsp, 0x80
xor edi, edi
cmp dword [0x1800569e4], 0x40
jae 0x180010ec4
lea rbx, [rcx + rdx]
add rcx, r8
mov rbp, 0xfffffffffff80000
lea rax, [rcx + 0x7ff80000]
cmp rcx, 0xffffffff80000000
lea r8d, [rdi + 0x2c]
cmovb rbp, rax
and dword [rsp + 0x50], edi
lea rcx, [r11 - 0x34]
xor edx, edx
call fcn.180011920
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, 0x80000000
lea rsi, [rbx - 0x7fff0000]
cmp rbx, rax
lea r14d, [rdi + 1]
cmovb rsi, r14
cmp rsi, rbp
jae 0x180010ec4
lea rdx, [rsp + 0x20]
mov r8d, 0x30
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180010e94
cmp dword [rsp + 0x40], 0x10000
jne 0x180010e82
mov rax, qword [rsp + 0x38]
cmp rax, 0x78
jb 0x180010e87
mov edx, dword [rsp + 0x78]
mov ecx, edx
cmp rax, rdx
jb 0x180010e87
lea eax, [rdx - 1]
xor edx, edx
mov r8d, 0x3000
add rax, rsi
div rcx
mov edx, 0x78
lea r9d, [rdx - 0x58]
imul rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
jne 0x180010e99
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x20]
add rsi, rax
cmp rsi, rbp
jb 0x180010e1d
test rdi, rdi
je 0x180010ec4
lea rdx, [0x180056a40]
xor eax, eax
mov rcx, rdx
cmp qword [rcx], 0
je 0x180010eb9
add eax, r14d
add rcx, 8
cmp eax, 0x40
jb 0x180010ea5
jmp 0x180010ec4
add dword [0x1800569e4], r14d
mov qword [rdx + rax*8], rdi
lea r11, [rsp + 0x80]
mov rax, rdi
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x140001008
Capabilities:
Accept command line arguments
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
xor edx, edx
mov cl, 1
call sub.jli.dll_JLI_InitArgProcessing
lea rcx, str._JAVA_LAUNCHER_DEBUG
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x140001072
lea rcx, str.Windows_original_main_args:_n
call fcn.14000114c
xor ebx, ebx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argc]
cmp dword [rax], ebx
jle 0x140001072
xor edi, edi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argv]
mov edx, ebx
lea rcx, str.wwwd_args__d____s_n
mov r8, qword [rax]
mov r8, qword [r8 + rdi]
call fcn.14000114c
inc ebx
lea rdi, [rdi + 8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argc]
cmp ebx, dword [rax]
jl 0x140001047
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rcx, rax
call sub.jli.dll_JLI_CmdToArgs
call sub.jli.dll_JLI_GetStdArgc
movsxd rdi, eax
lea ecx, [rdi + 1]
movsxd rcx, ecx
shl rcx, 3
call sub.jli.dll_JLI_MemAlloc
mov rbx, rax
call sub.jli.dll_JLI_GetStdArgs
xor r9d, r9d
test edi, edi
jle 0x1400010be
xor edx, edx
mov r9d, edi
mov rcx, qword [rax]
lea rax, [rax + 0x10]
mov qword [rbx + rdx*8], rcx
inc rdx
cmp rdx, rdi
jl 0x1400010ab
mov rcx, qword [str.openjdk]
movsxd rax, r9d
and qword [rbx + rax*8], 0
test rcx, rcx
jne 0x1400010d5
mov rcx, qword [rbx]
mov rax, qword [section..data]
test rax, rax
jne 0x1400010e4
mov rax, qword [rbx]
and dword [rsp + 0x68], 0
lea r9, str._J_ms8m
mov byte [rsp + 0x60], 0
mov r8d, 3
mov byte [rsp + 0x58], 0
mov rdx, rbx
mov byte [rsp + 0x50], 1
mov qword [rsp + 0x48], rcx
mov ecx, edi
mov qword [rsp + 0x40], rax
lea rax, [0x1400022f4]
mov qword [rsp + 0x38], rax
lea rax, [0x1400022f8]
mov qword [rsp + 0x30], rax
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
call sub.jli.dll_JLI_Launch
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
Function at 0x14000100f
Capabilities:
Query or enumerate registry value

Disassembly:
jmp 0x14001ad90
push rbx
sub rsp, 0x40
mov qword [rsp + 0x58], rsi
xor ebx, ebx
mov qword [rsp + 0x38], rdi
mov rsi, rcx
mov qword [rsp + 0x30], r14
lea rcx, str.Enter_IntelligentCoolingGetRegKeyDwordValue___n
mov r14, r8
mov qword [rsp + 0x68], rbx
mov rdi, rdx
mov dword [rsp + 0x60], 4
call fcn.140003224
test r14, r14
jne 0x14001addf
lea rcx, str.IntelligentCoolingGetRegKeyDwordValue__:_pdwValue_is_NULL_n
call fcn.140003224
jmp 0x14001ae9a
lea rax, [rsp + 0x68]
mov qword [rsp + 0x50], rbp
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebp, eax
test eax, eax
je 0x14001ae31
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, ebp
lea rcx, str.Error_IntelligentCoolingGetRegKeyDwordValue_RegCreateKeyEx_error___d__d__n
mov r8d, eax
call fcn.140003224
mov ecx, 0xe1100002
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001ae95
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8, rdi
mov rdx, rsi
mov ebp, eax
test eax, eax
je 0x14001ae81
xor r9d, r9d
lea rcx, str.Error_IntelligentCoolingGetRegKeyDwordValue___already_have_the_key_but_open_fail:__s__s__Error_Code__d___n
call fcn.140003224
cmp ebp, 2
jne 0x14001ae95
mov ecx, 0xe1100003
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001ae95
mov r9d, dword [r14]
lea rcx, str.IntelligentCoolingGetRegKeyDwordValue___Read_the_value:__s__s:__x_n
call fcn.140003224
mov ebx, 1
mov rbp, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
test rcx, rcx
je 0x14001aeb9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, str.Exit_IntelligentCoolingGetRegKeyDwordValue___n
call fcn.140003224
mov eax, ebx
add rsp, 0x40
pop rbx
ret
Function at 0x14000103c
Capabilities:
Query or enumerate registry value

Disassembly:
jmp 0x140022670
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x7a0]
sub rsp, 0x8a0
mov rax, qword [0x1400d3008]
xor rax, rsp
mov qword [rbp + 0x790], rax
xor eax, eax
mov rbx, rcx
lea rcx, [rbp + 0x370]
mov qword [rsp + 0x38], rax
xor edx, edx
mov dword [rsp + 0x30], eax
mov r8d, 0x208
mov dword [rsp + 0x40], eax
call fcn.140002eeb
xor edx, edx
lea rcx, [rbp + 0x580]
mov r8d, 0x208
call fcn.140002eeb
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x208
call fcn.140002eeb
xor edx, edx
lea rcx, [rbp + 0x160]
mov r8d, 0x208
call fcn.140002eeb
cmp dword [0x1400d415c], 0
je 0x14002276f
lea rcx, [rbp + 0x160]
call fcn.140003a3f
lea r8, [rbp + 0x160]
lea rdx, str._lsControl_PanelPowerCfg
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rax, [rsp + 0x38]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
mov rcx, 0xffffffff80000003
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400227aa
xor al, al
mov rcx, qword [rbp + 0x790]
xor rcx, rsp
call fcn.140001ec4
mov rbx, qword [rsp + 0x8b8]
add rsp, 0x8a0
pop rbp
ret
lea rdx, str.Control_PanelPowerCfg
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rax, [rsp + 0x38]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002274d
lea rdx, str.CurrentPowerPolicy
lea rcx, [rbp + 0x370]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x40]
lea rax, [rbp + 0x580]
mov dword [rsp + 0x30], 0x104
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x370]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002274d
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x580]
call fcn.140003bde
mov dword [rbx], eax
mov al, 1
jmp 0x14002274f
Function at 0x14000107d
Capabilities:
Parse pe header

Disassembly:
jmp 0x14005ee08
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov ebx, ecx
test r8d, r8d
jne 0x14005ebd3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14005ebd3
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14005ebd3
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14005ebd3
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14005ebd3
cmp dword [rcx + 0x84], 0xe
jbe 0x14005ebd3
cmp dword [rcx + 0xf8], 0
je 0x14005ebd3
mov ecx, ebx
call fcn.14005ed64
lea rax, [rbp + 0x18]
mov byte [rbp + 0x28], 0
mov qword [rbp - 0x20], rax
lea r9, [rbp - 0x2c]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x20]
lea rax, [rbp + 0x28]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x28]
mov eax, 2
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
call fcn.140001b09
cmp dword [rbp + 0x20], 0
je 0x14005ec20
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.14005ec58
int3
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 1]
jmp 0x14005eb6c

Function at 0x1400010be
Capabilities:
Set registry value

Disassembly:
jmp 0x1400262a0
mov dword [rsp + 0x10], edx
push rbx
sub rsp, 0x30
mov rbx, rcx
lea rcx, str.Enter_UpdateCurrentModeRegValue___n
call fcn.140003224
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], 4
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.CurrentMode
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor ebx, ebx
lea rcx, str.Exit_UpdateCurrentModeRegValue___n
test eax, eax
sete bl
call fcn.140003224
mov eax, ebx
add rsp, 0x30
pop rbx
ret

Function at 0x14000114a
Capabilities:
Get thread local storage value

Disassembly:
jmp 0x14006dd2c
push rbx
sub rsp, 0x20
mov ebx, ecx
lea r9, [0x1400be718]
mov ecx, 5
lea r8, [0x1400be710]
lea rdx, str.FlsGetValue
call fcn.14006d324
mov ecx, ebx
test rax, rax
je 0x14006dd66
add rsp, 0x20
pop rbx
jmp qword [case.0x140027caa.0]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_TlsGetValue]
Function at 0x140001190
Capabilities:
Persist via windows service
Query or enumerate registry value
Set registry value

Disassembly:
jmp 0x14000f050
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x60
xor ebx, ebx
mov dword [rax + 0x18], 4
mov rdi, rcx
mov qword [rax - 0x18], rbx
lea rcx, str.Enter_SetIntelligentCoolingCreateSpcialCoolingTimeReg___n
mov dword [rax + 0x20], ebx
mov dword [rax + 0x10], ebx
call fcn.140003224
cmp dword [0x1400d4158], ebx
jne 0x14000f097
lea rcx, str.SetIntelligentCoolingCreateSpcialCoolingTimeReg___does_not_support_system_n
call fcn.140003224
jmp 0x14000f190
lea rax, [rsp + 0x88]
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rdx, str.SYSTEMCurrentControlSetServicesIBMPMSVCICTParameters
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x14000f0ee
lea rcx, str.Error_SetIntelligentCoolingCreateSpcialCoolingTimeReg_RegCreateKeyEx_error____n
call fcn.140003224
jmp 0x14000f190
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rdx, str.SPCT
lea rax, [rsp + 0x78]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000f133
mov edx, dword [rsp + 0x78]
lea rcx, str.SetIntelligentCoolingCreateSpcialCoolingTimeReg___already_have_than_read_the_value_read_value:__x_n
call fcn.140003224
jmp 0x14000f185
mov eax, dword [rsp + 0x80]
lea rdx, str.SPCT
mov rcx, qword [rsp + 0x50]
mov r9d, 4
mov dword [rsp + 0x28], eax
xor r8d, r8d
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x14000f179
mov edx, dword [rsp + 0x78]
lea rcx, str.SetIntelligentCoolingCreateSpcialCoolingTimeReg___Set_Key_value_read_value:__x_n
call fcn.140003224
jmp 0x14000f185
lea rcx, str.Error_SetIntelligentCoolingCreateSpcialCoolingTimeReg___Connot_set_value:_n
call fcn.140003224
mov eax, dword [rsp + 0x78]
mov ebx, 1
mov dword [rdi], eax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14000f1a0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, str.Exit_SetIntelligentCoolingCreateSpcialCoolingTimeReg___n
call fcn.140003224
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret