joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140026d34
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r14
sub rsp, 0x30
mov rdi, r8
mov rsi, rdx
mov r14, rcx
and dword [rax - 0x18], 0
and qword [rax + 0x20], 0
xor ebx, ebx
mov eax, dword [0x1402c63e4]
test eax, eax
je 0x140026d7e
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402c63e4]
test eax, eax
jne 0x140026d87
call fcn.14001e558
test eax, eax
je 0x140026da3
lea rdx, [rsp + 0x58]
mov rcx, qword [0x1402be010]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x140026dab
xor eax, eax
jmp 0x140026df2
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.USER32.dll_GetClassInfoExW]
mov edi, eax
mov dword [rsp + 0x20], eax
xor ebx, ebx
test eax, eax
sete bl
test ebx, ebx
je 0x140026dd5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140026dd7
xor esi, esi
mov rdx, qword [rsp + 0x58]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140026df0
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret

Function at 0x140026e08
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x30
mov r14, rcx
xor edi, edi
mov dword [rax - 0x18], edi
mov rbx, qword [0x1402c97d8]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x1402c63e4]
test eax, eax
je 0x140026e53
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402c63e4]
test eax, eax
jne 0x140026e5c
call fcn.14001e558
test eax, eax
je 0x140026e78
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402be010]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140026e80
xor eax, eax
jmp 0x140026edd
test rbx, rbx
jne 0x140026ea0
lea rcx, [0x1402071a0]
call fcn.14001e220
mov rbx, rax
test rax, rax
je 0x140026eab
mov qword [0x1402c97d8], rax
mov rcx, r14
call rbx
mov edi, eax
mov dword [rsp + 0x20], eax
xor ebx, ebx
test edi, edi
sete bl
test ebx, ebx
je 0x140026ec0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140026ec2
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140026edb
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x140026fb8
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x30
mov rdi, rcx
xor r14d, r14d
mov word [rax - 0x18], r14w
mov qword [rax + 0x10], r14
mov ebx, r14d
mov eax, dword [0x1402c63e4]
test eax, eax
je 0x140027000
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402c63e4]
test eax, eax
jne 0x140027009
call fcn.14001e558
test eax, eax
je 0x140027025
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402be010]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x14002702f
movzx eax, r14w
jmp 0x140027077
mov rcx, rdi
call qword [sym.imp.USER32.dll_RegisterClassW]
movzx ebx, ax
mov word [rsp + 0x20], ax
mov edi, r14d
test bx, bx
sete dil
test edi, edi
je 0x140027058
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14002705b
mov esi, r14d
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test edi, edi
je 0x140027074
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
movzx eax, bx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret

Function at 0x140027540
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
movsxd rdi, edx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140027582
cmp qword [rbx + 0x18], 0
jne 0x1400275c0
mov edx, dword [rbx + 0xc]
cmp edx, dword [rbx + 0x30]
jae 0x1400275cb
mov rcx, qword [rcx + 8]
neg edi
sbb r8d, r8d
and r8d, 8
bts r8d, 0xa
call qword [sym.imp.USER32.dll_CheckMenuItem]
jmp 0x1400275c0
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400275d1
mov rcx, qword [rcx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageW]
bt rax, 0xd
jae 0x1400275c0
mov rcx, qword [rbx + 0x20]
mov r8, rdi
xor r9d, r9d
mov edx, 0xf1
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
call fcn.140070980
int3
call fcn.140070980
int3
Function at 0x140029a2c
Capabilities:
Get graphical window text

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
movsxd rsi, r8d
mov rbx, rdx
mov rdi, rcx
cmp qword [rcx + 0xd0], 0
jne 0x140029a6a
mov r8d, esi
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x140029b22
call fcn.14005f388
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140029a89
mov ecx, 0x80004005
call fcn.140012790
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rcx, qword [rdi + 0xd0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0x118]
mov rdx, rsi
or rdi, 0xffffffffffffffff
mov r9, rdi
mov r8, qword [rsp + 0x40]
mov rcx, rbx
call fcn.1401d56f0
test eax, eax
je 0x140029af1
cmp eax, 0xc
je 0x140029aeb
cmp eax, 0x16
je 0x140029ae5
cmp eax, 0x22
je 0x140029ae5
cmp eax, 0x50
je 0x140029af1
call fcn.140070980
int3
call fcn.140070980
int3
call fcn.1400709a4
int3
test rbx, rbx
je 0x140029b01
mov rcx, rbx
call fcn.1401d56d4
mov rbx, rax
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
add ecx, edi
test ecx, ecx
jg 0x140029b20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, ebx
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x140040678
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
xor ebx, ebx
mov rdi, r8
mov rsi, rdx
mov r15, rcx
test r8, r8
jne 0x1400406a9
call fcn.14004c910
mov rdi, qword [rax + 0x18]
lea r8, [0x14020b398]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbp, rax
test rax, rax
jne 0x1400406c8
xor eax, eax
jmp 0x140040714
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rsi, rax
test rax, rax
je 0x1400406c4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r14, rax
test rax, rax
je 0x140040709
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdx, r14
mov rcx, r15
mov r8d, eax
call fcn.140040730
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret

Function at 0x140043790
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x30
mov r14, rcx
xor edi, edi
mov dword [rax - 0x18], edi
mov rbx, qword [0x1402ca8e0]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x1402c63e4]
test eax, eax
je 0x1400437db
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402c63e4]
test eax, eax
jne 0x1400437e4
call fcn.14001e558
test eax, eax
je 0x140043800
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402be010]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140043808
xor eax, eax
jmp 0x140043865
test rbx, rbx
jne 0x140043828
lea rcx, str.ImageList_GetImageCount
call fcn.14001e220
mov rbx, rax
test rax, rax
je 0x140043833
mov qword [0x1402ca8e0], rax
mov rcx, r14
call rbx
mov edi, eax
mov dword [rsp + 0x20], eax
xor ebx, ebx
test edi, edi
sete bl
test ebx, ebx
je 0x140043848
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14004384a
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140043863
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x140045ee8
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x30
xor ebx, ebx
mov r15, rdx
mov qword [rax + 8], rbx
mov rdi, rcx
mov rax, qword [rcx]
call qword [rax + 0x370]
mov edx, dword [0x1402be7bc]
lea r8, [rsp + 0x50]
or ecx, 0xffffffff
and al, 0x80
mov rax, qword [rdi]
cmovne edx, ecx
mov rcx, rdi
call qword [rax + 0x568]
mov rdx, qword [rsp + 0x50]
lea rcx, str.CDockablePane
mov ebp, eax
call fcn.1400438b8
mov rsi, rax
cmp rax, rdi
je 0x140045fe8
lea ecx, [rbx + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140045fe8
test rsi, rsi
je 0x140045f8d
mov r8, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [r8 + 0x450]
mov rdx, rax
lea rcx, str.CMultiPaneFrameWnd
call fcn.1400438b8
mov r14, rax
jmp 0x140045f90
mov r14, rbx
cmp ebp, 2
jne 0x140046003
test r14, r14
je 0x140045fcd
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x380]
test al, 0x40
je 0x140045fe8
cmp qword [rsp + 0x50], rbx
je 0x140045fcd
mov rax, qword [r14]
mov rdx, rdi
mov rcx, r14
call qword [rax + 0x498]
test eax, eax
mov rax, rdi
sete bl
mov dword [r15], ebx
jmp 0x140045fea
mov rax, qword [rdi]
mov r9d, 5
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [rax + 0x3f0]
mov dword [r15], eax
xor eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
cmp ebp, 3
jne 0x140045fe8
test rsi, rsi
je 0x140045fe8
mov rax, qword [rsi]
mov rdx, rdi
mov rcx, rsi
call qword [rax + 0x308]
test eax, eax
je 0x140045fe8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x318]
test eax, eax
je 0x140045fe8
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x480]
mov rax, qword [rdi]
lea r9d, [rbp - 2]
lea r8d, [rbp + 2]
mov qword [rsp + 0x20], rbx
mov rdx, rsi
mov rcx, rdi
call qword [rax + 0x698]
test rax, rax
setne bl
mov dword [r15], ebx
jmp 0x140045fea
Function at 0x14004886c
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x58]
mov rsi, rcx
mov edx, dword [0x1402d02f8]
mov rdi, r8
mov ecx, 4
mov rdx, qword [rax + rdx*8]
mov eax, dword [rcx + rdx]
cmp dword [0x1402ca990], eax
jle 0x1400488f3
lea rcx, [0x1402ca990]
call fcn.1401ceb34
cmp dword [0x1402ca990], 0xffffffff
jne 0x1400488f3
call fcn.14005f388
mov rcx, rax
test rax, rax
je 0x1400489c2
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
lea rcx, [0x140202204]
mov qword [0x1402ca988], rax
call fcn.1401ce974
lea rcx, [0x1402ca990]
call fcn.1401cead4
test rdi, rdi
je 0x1400489cd
mov rax, qword [rsi + 0x4b8]
test rax, rax
je 0x1400489b0
cmp qword [rax + 0x40], 0
je 0x1400489b0
test rax, rax
je 0x140048920
mov rax, qword [rax + 0x40]
cmp qword [rdi], rax
jne 0x1400489b0
mov rax, qword [rdi + 8]
sub rax, 1
je 0x140048977
sub rax, 1
je 0x140048946
cmp rax, 1
jne 0x1400489b0
mov ebx, 0x428e
jmp 0x14004897c
mov ecx, 0x11
mov ebx, 0x3ea1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x14004897c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x680]
test eax, eax
je 0x14004897c
mov ebx, 0x3ea4
jmp 0x14004897c
mov ebx, 0x3ea0
mov ecx, ebx
call fcn.14007e510
test rax, rax
je 0x1400489d3
mov r8d, ebx
lea rcx, [0x1402ca988]
mov rdx, rax
call fcn.140013130
test eax, eax
je 0x1400489d3
mov rax, qword [0x1402ca988]
mov qword [rdi + 0x18], rax
mov eax, 1
jmp 0x1400489b2
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov ecx, 0x80004005
call fcn.140012790
int3
call fcn.140070980
int3
call fcn.140070980
int3

Function at 0x14004b6bc
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x30
mov r14, rcx
xor edi, edi
mov dword [rax - 0x18], edi
mov rbx, qword [0x1402ca9a0]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x1402c63e4]
test eax, eax
je 0x14004b707
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402c63e4]
test eax, eax
jne 0x14004b710
call fcn.14001e558
test eax, eax
je 0x14004b72c
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402be010]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x14004b734
xor eax, eax
jmp 0x14004b791
test rbx, rbx
jne 0x14004b754
lea rcx, str.ImageList_Destroy
call fcn.14001e220
mov rbx, rax
test rax, rax
je 0x14004b75f
mov qword [0x1402ca9a0], rax
mov rcx, r14
call rbx
mov edi, eax
mov dword [rsp + 0x20], eax
xor ebx, ebx
test edi, edi
sete bl
test ebx, ebx
je 0x14004b774
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14004b776
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14004b78f
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x14004b7a8
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x50
mov r14d, r9d
mov r15d, r8d
mov r12, rdx
mov r13, rcx
xor esi, esi
mov qword [rax - 0x20], rsi
mov rbx, qword [0x1402ca9a8]
and qword [rax - 0x28], rsi
xor edi, edi
mov eax, dword [0x1402c63e4]
test eax, eax
je 0x14004b805
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402c63e4]
test eax, eax
jne 0x14004b80e
call fcn.14001e558
test eax, eax
je 0x14004b82a
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1402be010]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne edi, ecx
test edi, edi
jne 0x14004b835
xor eax, eax
jmp 0x14004b8c0
test rbx, rbx
jne 0x14004b855
lea rcx, str.ImageList_LoadImageW
call fcn.14001e220
mov rbx, rax
test rax, rax
je 0x14004b88c
mov qword [0x1402ca9a8], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
mov r9d, r14d
mov r8d, r15d
mov rdx, r12
mov rcx, r13
call rbx
mov rsi, rax
mov qword [rsp + 0x48], rax
xor ebx, ebx
test rsi, rsi
sete bl
test ebx, ebx
je 0x14004b8a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14004b8a4
xor edi, edi
mov rdx, qword [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14004b8bd
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rsi
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
Function at 0x140074850
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
cmp dword [rdx + 8], 0x100
mov rbp, rdx
mov rbx, rcx
jne 0x140074938
xor edx, edx
call fcn.14002e478
xor r15d, r15d
mov rcx, rbx
test rax, rax
je 0x14007489a
mov rdx, rbp
call fcn.1400514b8
jmp 0x140074943
call fcn.14002e470
mov esi, eax
cmp dword [rbx + 0x1394], r15d
je 0x1400748b0
sub esi, dword [rbx + 0x1388]
mov r14d, dword [rbx + 0x1138]
test r14d, r14d
js 0x140074938
cmp r14d, esi
jge 0x140074938
mov edi, dword [rbp + 0x10]
cmp edi, 9
jne 0x1400748de
lea ecx, [rdi + 7]
call qword [sym.imp.USER32.dll_GetKeyState]
and al, 0x80
neg al
sbb edi, edi
and edi, 0xfffffffe
add edi, 0x27
mov rcx, rbx
call fcn.140029650
bt eax, 0x16
jae 0x140074900
mov eax, 0x25
cmp edi, eax
jne 0x1400748fa
lea edi, [rax + 2]
jmp 0x140074900
cmp edi, 0x27
cmove edi, eax
sub edi, 0xd
je 0x1400749fd
sub edi, 0xe
je 0x1400749d9
sub edi, 0xa
je 0x1400749cb
sub edi, 2
je 0x140074979
mov rcx, rbx
cmp edi, 1
je 0x14007495c
mov rax, qword [rbx]
mov edx, dword [rbp + 0x10]
call qword [rax + 0x728]
test eax, eax
jne 0x140074972
mov rdx, rbp
mov rcx, rbx
call fcn.14003446c
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
mov edx, dword [rbx + 0x1138]
call fcn.14002e338
mov rdx, rax
mov rcx, rbx
call fcn.14002d94c
mov eax, 1
jmp 0x140074943
inc dword [rbx + 0x1138]
mov eax, dword [rbx + 0x1138]
cmp eax, esi
cmovge eax, r15d
mov dword [rbx + 0x1138], eax
mov edx, r14d
mov rcx, rbx
call fcn.14002ecc8
mov edx, dword [rbx + 0x1138]
mov rcx, rbx
call fcn.14002ecc8
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [rbx]
mov rcx, rbx
mov edx, dword [rbx + 0x1138]
call qword [rax + 0x4b8]
jmp 0x140074938
sub dword [rbx + 0x1138], 1
jns 0x140074991
lea eax, [rsi - 1]
jmp 0x14007498b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x6c0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x6c8]
mov dword [0x1402cb4f0], r15d
jmp 0x140074938
mov edx, dword [rbx + 0x1138]
mov rcx, rbx
call fcn.14002e338
mov rdx, rax
mov rcx, rbx
call fcn.14002d94c
test eax, eax
jne 0x140074972
mov edx, dword [rbx + 0x1138]
mov rcx, rbx
call fcn.14002e338
mov rdx, rax
mov rcx, rbx
call fcn.140034680
jmp 0x140074972
Function at 0x1400c43b0
Capabilities:
Check os version

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x160
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1402bf900]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x28], rcx
call fcn.140052494
nop
lea rax, vtable.CWinApp.0
mov qword [rbx], rax
xor esi, esi
test rdi, rdi
je 0x1400c4411
mov rcx, rdi
call fcn.1401d73f4
mov qword [rbx + 0xa0], rax
jmp 0x1400c4418
mov qword [rbx + 0xa0], rsi
call fcn.14004c910
mov rdi, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c4432
call fcn.140070980
int3
lea rcx, [rax + 0xc0]
lea rdx, [0x14001a550]
call fcn.1400f0b88
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c4457
call fcn.140070980
int3
mov qword [rax + 8], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rbx + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbx + 0x60], eax
mov qword [rdi + 8], rbx
mov qword [rbx + 0x88], rsi
mov qword [rbx + 0x100], rsi
mov qword [rbx + 0xd0], rsi
mov qword [rbx + 0xd8], rsi
mov qword [rbx + 0xb0], rsi
mov qword [rbx + 0xc8], rsi
mov qword [rbx + 0xa8], rsi
mov qword [rbx + 0x118], rsi
mov qword [rbx + 0xb8], rsi
mov qword [rbx + 0x130], rsi
mov qword [rbx + 0x90], rsi
mov qword [rbx + 0x128], rsi
mov qword [rbx + 0x120], rsi
mov dword [rbx + 0x108], esi
mov qword [rbx + 0x110], rsi
mov qword [rbx + 0xe8], rsi
mov qword [rbx + 0xf0], rsi
mov qword [rbx + 0x140], rsi
mov dword [rbx + 0xc0], esi
mov dword [rbx + 0xe0], esi
mov qword [rbx + 0x138], 0x200
mov dword [rbx + 0x14c], esi
mov dword [rbx + 0x150], 0x493e0
mov edi, 1
mov dword [rbx + 0x154], edi
mov dword [rsp + 0x30], 0x114
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x34], 6
jne 0x1400c4546
cmp dword [rsp + 0x38], edi
jae 0x1400c454a
cmp dword [rsp + 0x34], 6
mov eax, esi
jbe 0x1400c454c
mov eax, edi
mov dword [rbx + 0x158], eax
mov dword [rbx + 0x15c], esi
mov qword [rbx + 0x168], rsi
mov qword [rbx + 0x170], rsi
mov dword [rbx + 0x160], edi
mov rax, rbx
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1401cedb0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x1400c642c
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rsi, r9
mov r14, r8
and qword [r9], 0
mov rbx, qword [rbp + 0x40]
and dword [rbx], 0
cmp qword [rcx + 0xb0], 0
je 0x1400c650b
xor r8d, r8d
call fcn.1400c68cc
mov rdi, rax
test rax, rax
je 0x1400c65e6
mov qword [rbp - 0x18], rax
and dword [rbp - 0x10], 0
and qword [rbp - 8], 0
and dword [rbp + 0x20], 0
and dword [rbp + 0x40], 0
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
and qword [rsp + 0x20], 0
lea r9, [rbp + 0x20]
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [rbp + 0x40]
mov dword [rbx], ecx
test eax, eax
jne 0x1400c64ef
call fcn.140015c98
mov qword [rsi], rax
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x20]
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400c64ef
lea ebx, [rax + 1]
jmp 0x1400c64fd
mov rcx, qword [rsi]
call fcn.140015c90
and qword [rsi], 0
xor ebx, ebx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400c65e4
mov rax, qword [rcx]
and qword [rsp + 0x20], 0
mov r9, r8
mov r8, rdx
lea rdx, [rbp + 0x38]
call qword [rax + 0x108]
nop
mov rax, qword [rbp + 0x38]
movsxd rcx, dword [rax - 0x10]
test ecx, ecx
jne 0x1400c6538
xor ebx, ebx
jmp 0x1400c65ca
mov rdi, rcx
shr ecx, 1
mov dword [rbx], ecx
call fcn.140015c98
mov qword [rsi], rax
xor edx, edx
lea ebx, [rdx + 1]
test rdi, rdi
jle 0x1400c65c6
xor r9d, r9d
mov r10d, ebx
test r10, r10
js 0x1400c65bb
mov rax, qword [rbp + 0x38]
lea ecx, [rdx + 1]
cmp ecx, dword [rax - 0x10]
jg 0x1400c65bb
movzx r8d, word [r9 + rax + 2]
test edx, edx
js 0x1400c65b0
cmp edx, dword [rax - 0x10]
jg 0x1400c65b0
sub r8b, bl
shl r8b, 4
sub r8b, 0x41
add r8b, byte [r9 + rax]
mov eax, edx
test edx, edx
jns 0x1400c658f
lea eax, [rbx + rdx]
sar eax, 1
movsxd rcx, eax
mov rax, qword [rsi]
mov byte [rcx + rax], r8b
add edx, 2
add r10, 2
add r9, 4
movsxd rax, edx
cmp rax, rdi
jl 0x1400c6557
jmp 0x1400c65c6
mov ecx, 0x80070057
call fcn.140012790
int3
mov ecx, 0x80070057
call fcn.140012790
int3
mov rax, qword [rbp + 0x38]
lea rdx, [rax - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400c65e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, ebx
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret