joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14009ec50
Capabilities:
Find taskbar

Disassembly:
push rdi
sub rsp, 0x70
mov rdi, rcx
mov rcx, qword [rcx + 0x68]
test rcx, rcx
je 0x14009ed52
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rcx, [rdi + 0x17a0]
call qword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x14009ed52
mov ecx, 0x4f
mov qword [rsp + 0x80], rbx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor edx, edx
lea r8, [rsp + 0x40]
lea ecx, [rdx + 0x30]
xor r9d, r9d
mov ebx, eax
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ecx, dword [rsp + 0x4c]
mov r9d, dword [rsp + 0x44]
sub ecx, r9d
cmp ebx, ecx
mov rbx, qword [rsp + 0x80]
jne 0x14009ed14
lea rcx, str.Shell_TrayWnd
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x14009ed0f
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [rsp + 0x54]
mov r9d, dword [rsp + 0x44]
test ecx, ecx
jns 0x14009ed05
mov eax, dword [rsp + 0x5c]
sub eax, ecx
add r9d, eax
mov dword [rsp + 0x44], r9d
jmp 0x14009ed14
sub ecx, dword [rsp + 0x5c]
add dword [rsp + 0x4c], ecx
jmp 0x14009ed14
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x48]
mov rcx, qword [rdi + 0x68]
xor eax, eax
mov dword [rsp + 0x30], 1
xor edx, edx
add r8d, 0xffffff06
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
test r9d, r9d
jne 0x14009ed4c
mov r9d, dword [rsp + 0x64]
sub r9d, dword [rsp + 0x6c]
add r9d, dword [rsp + 0x4c]
call qword [sym.imp.USER32.dll_SetWindowPos]
add rsp, 0x70
pop rdi
ret
Function at 0x1400a7d20
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
sub rsp, 0x230
mov rbx, rcx
xor ecx, ecx
mov rsi, rdx
call fcn.1400dd550
cmp eax, 0xb
jl 0x1400a7e4b
mov qword [rsp + 0x240], rbp
lea rcx, [rsp + 0x22]
xor ebp, ebp
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], bp
call fcn.1400e5ee0
lea rdx, [rsp + 0x20]
mov r8d, 0x104
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp word [rsp + 0x20], bp
je 0x1400a7e47
lea rdx, str.Charm_Bar
lea rcx, [rsp + 0x20]
call fcn.1400eb7fc
test eax, eax
jne 0x1400a7e47
mov qword [rsp + 0x248], rdi
cmp qword [rbx + 0x3f8], rbp
je 0x1400a7e1f
mov rcx, qword [rbx + 0x408]
test rcx, rcx
je 0x1400a7e08
mov dword [rsp + 0x250], ebp
mov r8, qword [rcx]
lea rdx, [rsp + 0x250]
call qword [r8 + 0x130]
cmp dword [rsp + 0x250], ebp
je 0x1400a7e1f
mov rcx, qword [rbx + 0x410]
test rcx, rcx
je 0x1400a7df4
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x410], rbp
mov rcx, qword [rbx + 0x408]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x408], rbp
mov rcx, qword [rbx + 0x3f8]
lea r8, [rbx + 0x408]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rax, qword [rbx + 0x408]
mov rdi, qword [rsp + 0x248]
mov rbp, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x258]
add rsp, 0x230
pop rsi
ret
xor eax, eax
jmp 0x1400a7e2e
xor eax, eax
mov rbx, qword [rsp + 0x258]
add rsp, 0x230
pop rsi
ret
Function at 0x1400ad830
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rdi, rcx
mov rcx, qword [rdx]
mov r14, r8
mov rsi, rdx
test rcx, rcx
jne 0x1400ad857
xor eax, eax
jmp 0x1400ad86b
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
mov edx, 0x10000301
call qword [rax + 0x18]
mov eax, dword [rsp + 0x58]
mov rbx, qword [0x140271ff8]
test rbx, rbx
je 0x1400ad899
movsxd rbp, eax
nop word [rax + rax]
mov rcx, qword [rbx]
mov rdx, rbp
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
jne 0x1400ad8bb
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1400ad880
xor eax, eax
lea rbp, [rax + 0x50]
mov rcx, rbp
call fcn.140032620
test al, al
je 0x1400ad9f6
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400ad8c0
xor eax, eax
jmp 0x1400ad8d4
mov rax, qword [rbx]
jmp 0x1400ad89b
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov edx, 0x10000312
call qword [rax + 0x18]
mov eax, dword [rsp + 0x68]
shr eax, 0x16
test al, 1
jne 0x1400ad9ec
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400ad8eb
xor eax, eax
jmp 0x1400ad8ff
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov edx, 0x10000314
call qword [rax + 0x18]
mov eax, dword [rsp + 0x68]
test al, 1
jne 0x1400ad9ec
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400ad913
xor eax, eax
jmp 0x1400ad927
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov edx, 0x10000314
call qword [rax + 0x18]
mov eax, dword [rsp + 0x68]
shr eax, 1
test al, 1
jne 0x1400ad9ec
mov rcx, r14
call fcn.140095ec0
test al, al
jne 0x1400ad9f6
mov rcx, rsi
call fcn.140095ec0
test al, al
je 0x1400ad9f6
inc dword [rdi + 0xac]
cmp dword [rdi + 0xac], 1
jne 0x1400ad971
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0xb0], eax
jmp 0x1400ad9f6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 0x5dc
cmp eax, dword [rdi + 0xb0]
jae 0x1400ad98c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x1400ad99c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0xac], 1
cmp dword [rdi + 0xac], 3
mov dword [rdi + 0xb0], eax
jne 0x1400ad9f6
lea rcx, str.SynTPLpr
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
mov rbx, rax
test rax, rax
je 0x1400ad9ec
mov rcx, rbp
call fcn.140032830
lea rcx, [0x1402707e0]
mov r8d, 0x4e4
mov rdx, rbx
movzx r9d, al
mov qword [rsp + 0x20], 0
call fcn.140083ea0
mov dword [rdi + 0xac], 0
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x1400b1560
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rax - 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rdi, r9
movzx esi, r8w
mov r12d, edx
mov r15, rcx
xor ebp, ebp
mov r13d, ebp
mov dword [rsp + 0x20], ebp
call fcn.140004f70
mov rcx, rax
mov r9d, ebp
test rax, rax
setne r9b
test r9d, r9d
jne 0x1400b15bf
mov ecx, 0x80004005
call fcn.140004f20
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rbx
lea rdx, [0x1401246c4]
test rdx, 0xffffffffffff0000
jne 0x1400b1603
movzx r14d, dx
xor edx, edx
mov ecx, r14d
call fcn.14000b7c0
test rax, rax
je 0x1400b1615
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.14000bc50
jmp 0x1400b1610
xor r8d, r8d
lea rcx, [rsp + 0x28]
call fcn.14000be50
mov rbx, qword [rsp + 0x28]
test si, si
jne 0x1400b1622
call fcn.1400b1d40
movzx esi, ax
test rdi, rdi
jne 0x1400b1632
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
movzx ecx, r12w
shr cx, 4
inc cx
movzx r8d, cx
movzx r9d, si
mov edx, 6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
test rax, rax
je 0x1400b178f
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rdi, rax
test rax, rax
je 0x1400b178f
movzx eax, r12w
and eax, 0x8000000f
jge 0x1400b1686
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
jle 0x1400b16a0
mov edx, eax
nop dword [rax]
movzx eax, word [rdi]
lea rdi, [rdi + rax*2]
add rdi, 2
dec rdx
jne 0x1400b1690
movzx ebx, word [rdi]
lea ecx, [rbx + 1]
mov eax, 2
mul rcx
mov rsi, 0xffffffffffffffff
cmovo rax, rsi
mov rcx, rax
call fcn.1400e4e34
mov r14, rax
mov r8d, ebx
lea rdx, [rdi + 2]
mov rcx, rax
call fcn.1400e7e38
mov word [r14 + rbx*2], bp
cmp dword [rsp + 0xd0], 0
je 0x1400b1745
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbp
mov word [rsp + 0x38], bp
cmp word [r14], 0
jne 0x1400b1701
mov r8, rbp
jmp 0x1400b170f
mov r8, rsi
inc r8
cmp word [r14 + r8*2], 0
jne 0x1400b1704
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.140007750
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.1400e00a0
mov rdx, rax
mov r13d, 2
mov dword [rsp + 0x20], r13d
cmp qword [rax + 0x18], 8
jb 0x1400b1748
mov rdx, qword [rax]
jmp 0x1400b1748
mov rdx, r14
test rdx, rdx
je 0x1400b175c
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400b1750
mov ebp, eax
mov r8d, ebp
lea rcx, [rsp + 0x28]
call fcn.14000be50
nop
test r13b, 2
je 0x1400b1782
cmp qword [rsp + 0x70], 8
jb 0x1400b1782
mov rcx, qword [rsp + 0x58]
call fcn.1400e5d14
mov rcx, r14
call fcn.1400e8398
mov rbx, qword [rsp + 0x28]
lea rcx, [rbx - 0x18]
call fcn.14000b870
add rax, 0x18
mov qword [r15], rax
lock add dword [rbx - 8], 0xffffffff
jg 0x1400b17b4
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, r15
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1400b5da0
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push r14
sub rsp, 0x30
mov r14, rdx
lea rdx, [rsp + 0x68]
mov rsi, r8
mov rcx, r14
xor ebx, ebx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov ebp, eax
test eax, eax
je 0x1400b5e5d
mov ecx, ebp
mov qword [rsp + 0x50], rdi
call fcn.1400ee914
mov rdi, rax
test rax, rax
je 0x1400b5e48
mov r9, rax
mov r8d, ebp
xor edx, edx
mov rcx, r14
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b5e40
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, [0x140124f70]
mov rcx, rdi
mov qword [rsp + 0x28], rbx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b5e40
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1400b5e40
movzx eax, word [rcx + 0xa]
mov ebx, 1
mov dword [rsi], eax
movzx eax, word [rcx + 8]
mov dword [rsi + 4], eax
movzx eax, word [rcx + 0xe]
mov dword [rsi + 8], eax
movzx eax, word [rcx + 0xc]
mov dword [rsi + 0xc], eax
mov rcx, rdi
call fcn.1400eba90
mov eax, ebx
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
mov eax, ebx
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret

Function at 0x1400b5ed0
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
xor ebp, ebp
mov rcx, rdx
lea rdx, [rsp + 0x58]
mov rsi, r8
mov qword [rsp + 0x28], rbp
mov edi, ebp
mov dword [rsp + 0x58], ebp
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x58]
test r8d, r8d
jne 0x1400b5f19
xor eax, eax
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
xor edx, edx
mov ecx, 0x410
mov qword [rsp + 0x40], rbx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x1400b5f77
lea r9, [rsp + 0x20]
lea rdx, [rsp + 0x28]
mov r8d, 8
mov rcx, rax
call sub.PSAPI.DLL_EnumProcessModules
test eax, eax
je 0x1400b5f6e
mov rdx, qword [rsp + 0x28]
mov r9d, 0x104
mov r8, rsi
mov rcx, rbx
call sub.PSAPI.DLL_GetModuleFileNameExW
mov edi, eax
test eax, eax
jne 0x1400b5f6e
mov word [rsi], bp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov eax, edi
add rsp, 0x30
pop rdi
ret
Function at 0x1400b9d70
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov ebp, r9d
mov r15d, r8d
mov edi, edx
mov r14d, ecx
xor esi, esi
call qword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [rsi + 0x4d]
mov rbx, rax
mov qword [rsp + 0x60], rax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rsi + 0x4f]
mov dword [rsp + 0x7c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rsi + 0x4c]
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x84], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rsi + 0x4e]
mov dword [rsp + 0x78], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea r8, [rsp + 0x78]
add eax, dword [rsp + 0x78]
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x80], eax
lea eax, [rdi + rbp]
mov dword [rsp + 0x8c], edi
mov dword [rsp + 0x94], eax
lea eax, [r14 + r15]
mov dword [rsp + 0x88], r14d
mov dword [rsp + 0x90], eax
call qword [sym.imp.USER32.dll_IntersectRect]
mov ebp, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x74]
sub ebp, dword [rsp + 0x68]
mov rcx, rbx
sub r14d, dword [rsp + 0x6c]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov r12, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r8d, r14d
mov edx, ebp
mov rcx, r12
mov r15, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r13, rax
test rax, rax
je 0x1400b9f76
mov r9d, dword [rsp + 0x100]
cmp r9d, 1
jle 0x1400b9efb
mov eax, dword [rsp + 0xf0]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, dword [rsp + 0xf8]
add ecx, dword [rsp + 0xe0]
cdq
sub eax, edx
sar eax, 1
lea r8d, [rdi + rax]
mov eax, dword [rsp + 0x68]
sub eax, ecx
cdq
idiv r9d
lea edi, [rcx + rax]
mov eax, dword [rsp + 0x6c]
mov rcx, r15
sub eax, r8d
cdq
idiv r9d
mov rdx, r13
lea ebx, [r8 + rax]
call qword [sym.imp.GDI32.dll_SelectObject]
call fcn.1400b9b80
mov r8d, eax
mov eax, r14d
cdq
mov dword [rsp + 0x50], r8d
idiv dword [rsp + 0x100]
mov ecx, eax
mov eax, ebp
cdq
mov dword [rsp + 0x48], ecx
idiv dword [rsp + 0x100]
mov dword [rsp + 0x40], eax
jmp 0x1400b9f21
mov edi, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x6c]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
call fcn.1400b9b80
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], edi
mov r9d, ebp
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r14d
call qword [sym.imp.GDI32.dll_StretchBlt]
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, r13
mov ecx, 2
call qword [sym.imp.USER32.dll_SetClipboardData]
mov ecx, 1
test rax, rax
cmovne esi, ecx
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rbx, qword [rsp + 0x60]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rbx, qword [rsp + 0xe8]
mov eax, esi
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400c08a0
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rdi, rcx
cmp qword [rcx + 0x78], 0
je 0x1400c0a9b
cmp byte [rcx + 0x82], 0
je 0x1400c0a9b
mov rax, qword [rcx]
mov ebx, 0xffff
mov edx, ebx
call qword [rax + 0x18]
cmp bx, ax
jne 0x1400c08f2
xor al, al
jmp 0x1400c0a9d
mov edx, 0xf
mov qword [rbp - 0x10], rdx
mov byte [rbp - 0x28], 0
xor ecx, ecx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x18], 8
lea rax, [rbp - 0x28]
cmp rdx, 0x10
cmovae rax, rcx
mov byte [rax + 8], cl
xor r14d, r14d
mov r9, qword [rbp - 0x10]
lea rdx, [rbp - 0x28]
cmp r9, 0x10
cmovae rdx, qword [rbp - 0x28]
lea r8, [rbp - 0x28]
cmovae r8, qword [rbp - 0x28]
mov rcx, qword [rdi + 0x78]
mov r10, qword [rcx]
mov r9, qword [rbp - 0x18]
add r9, rdx
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 0x84]
call qword [r10 + 0x40]
test eax, eax
je 0x1400c0969
dec eax
jne 0x1400c0a5e
jmp 0x1400c0970
mov byte [rdi + 0x82], r14b
lea rax, [rbp - 0x28]
mov r10, qword [rbp - 0x28]
mov r9, qword [rbp - 0x10]
cmp r9, 0x10
cmovae rax, r10
mov rbx, qword [rbp + 0x20]
sub rbx, rax
je 0x1400c09ba
lea rcx, [rbp - 0x28]
cmp r9, 0x10
cmovae rcx, r10
mov r9, qword [rdi + 0x90]
mov r8, rbx
mov edx, 1
call fcn.1400ec300
mov r9, qword [rbp - 0x10]
cmp rbx, rax
jne 0x1400c0a67
cmp byte [rdi + 0x82], r14b
je 0x1400c0a85
test rbx, rbx
jne 0x1400c0923
or rax, 0xffffffffffffffff
mov r8, qword [rbp - 0x18]
sub rax, r8
cmp rax, 8
jbe 0x1400c0a78
lea rbx, [r8 + 8]
cmp rbx, 0xfffffffffffffffe
ja 0x1400c0a6b
cmp r9, rbx
jae 0x1400c0a06
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14000c1e0
mov r9, qword [rbp - 0x10]
jmp 0x1400c0a24
test rbx, rbx
jne 0x1400c0a2d
mov qword [rbp - 0x18], r14
lea rax, [rbp - 0x28]
cmp r9, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax], r14b
jmp 0x1400c091f
test rbx, rbx
je 0x1400c0923
lea rcx, [rbp - 0x28]
cmp r9, 0x10
cmovae rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
xor edx, edx
mov qword [rax + rcx], rdx
mov qword [rbp - 0x18], rbx
lea rax, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rbx + rax], dl
jmp 0x1400c091f
mov r9, qword [rbp - 0x10]
sub eax, 2
je 0x1400c0a85
xor bl, bl
jmp 0x1400c0a87
lea rcx, str.string_too_long
call fcn.1400e4dc4
int3
lea rcx, str.string_too_long
call fcn.1400e4dc4
int3
mov bl, 1
cmp r9, 0x10
jb 0x1400c0a96
mov rcx, qword [rbp - 0x28]
call fcn.1400e5d14
movzx eax, bl
jmp 0x1400c0a9d
mov al, 1
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x1400c2d00
Capabilities:
Get file version info

Disassembly:
push rbx
push rdi
sub rsp, 0x238
xor edi, edi
mov rbx, rcx
lea rax, [rcx + 8]
test rcx, rcx
jne 0x1400c2d1a
mov eax, edi
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov dword [rax + 0x30], ecx
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x1400c2d5b
lea rdx, [rsp + 0x20]
mov r8d, 0x104
mov dword [rbx + 0x68], 1
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x1400c2d67
xor eax, eax
add rsp, 0x238
pop rdi
pop rbx
ret
mov rcx, qword [rbx + 0x60]
mov qword [rsp + 0x230], rsi
test rcx, rcx
je 0x1400c2d81
call fcn.1400e5d14
mov qword [rbx + 0x60], rdi
lea rdx, [rsp + 0x258]
lea rcx, [rsp + 0x20]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test eax, eax
je 0x1400c2dde
mov ecx, esi
call fcn.1400e4e34
lea rcx, [rsp + 0x20]
mov r8d, esi
mov r9, rax
xor edx, edx
mov qword [rbx + 0x60], rax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400c2dde
mov rcx, qword [rbx + 0x60]
lea r9, [rsp + 0x250]
lea r8, [rsp + 0x260]
lea rdx, [0x140124f70]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
jne 0x1400c2df2
xor eax, eax
mov rsi, qword [rsp + 0x230]
add rsp, 0x238
pop rdi
pop rbx
ret
mov rax, qword [rsp + 0x260]
lea r9, [rsp + 0x250]
lea r8, [rsp + 0x260]
lea rdx, str.VarFileInfoTranslation
movups xmm0, xmmword [rax]
movups xmmword [rbx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbx + 0x28], xmm0
mov eax, dword [rax + 0x30]
mov dword [rbx + 0x38], eax
mov rcx, qword [rbx + 0x60]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400c2e52
cmp dword [rsp + 0x250], 4
jb 0x1400c2e52
mov rcx, qword [rsp + 0x260]
mov edx, dword [rcx]
mov dword [rbx + 0x48], edx
cmp dword [rbx + 8], 0xfeef04bd
mov rsi, qword [rsp + 0x230]
sete dil
mov eax, edi
add rsp, 0x238
pop rdi
pop rbx
ret
Function at 0x1400c36f0
Capabilities:
Enumerate process modules
Enumerate processes

Disassembly:
push rsi
mov eax, 0x2cc0
call fcn.1400e75d0
sub rsp, rax
mov rsi, rcx
call fcn.1400c34e0
test rax, rax
je 0x1400c393c
lea rdx, [rsp + 0x2cd8]
mov rcx, rax
mov qword [rsp + 0x2ca8], rdi
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
xor edx, edx
lea ecx, [rdx + 2]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [rsp + 0x20], 0x238
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400c3934
lea rdx, [rsp + 0x20]
mov rcx, rax
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x1400c392b
nop dword [rax]
mov ecx, dword [rsp + 0x2cd8]
cmp dword [rsp + 0x28], ecx
je 0x1400c3783
lea rdx, [rsp + 0x20]
mov rcx, rdi
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x1400c3760
jmp 0x1400c392b
mov rcx, qword [rsi + 0x10]
mov edx, 0x40a
call qword [sym.imp.USER32.dll_GetDlgItem]
test rax, rax
je 0x1400c392b
mov qword [rsp + 0x2cb8], rbx
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x2cb0], rbp
mov qword [rsp + 0x2ca0], r14
lea rcx, [rsp + 0x4c]
mov rax, rbx
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400c37c0
lea rdx, [rsp + 0x4c]
lea rcx, [rsi + 0x28c0]
mov r8d, eax
call fcn.14000be50
xor ecx, ecx
movzx eax, word [rsp + rcx + 0x4c]
lea rcx, [rcx + 2]
mov word [rsp + rcx + 0x25e], ax
test ax, ax
jne 0x1400c37e0
mov r8d, dword [rsp + 0x2cd8]
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbp, rax
test rax, rax
je 0x1400c3886
lea r9, [rsp + 0x2ce0]
lea rdx, [rsp + 0x2ce8]
mov r8d, 8
mov rcx, rax
call sub.PSAPI.DLL_EnumProcessModules
test eax, eax
je 0x1400c3881
mov rdx, qword [rsp + 0x2ce8]
lea r8, [rsp + 0x260]
mov r9d, 0x104
mov rcx, rbp
call sub.PSAPI.DLL_GetModuleFileNameExW
lea rax, [rsp + 0x260]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1400c3860
lea rdx, [rsp + 0x260]
lea rcx, [rsi + 0x28c0]
mov r8d, ebx
call fcn.14000be50
mov rcx, rbp
jmp 0x1400c3901
lea rcx, [0x1402707e0]
call fcn.140084750
test eax, eax
je 0x1400c3907
mov eax, dword [rsp + 0x2cd8]
lea r9, str.SynGetModulePathNameEvent
xor r8d, r8d
mov dword [rsp + 0x478], eax
mov rax, qword [rsi + 0x10]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x470], 0xe
mov qword [rsp + 0x480], rax
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov rbx, rax
test rax, rax
je 0x1400c3907
lea rdx, [rsp + 0x470]
lea rcx, [0x1402707e0]
call fcn.140084a50
test rax, rax
je 0x1400c38fe
mov edx, 0x2710
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rsi + 0x10]
mov rcx, rsi
call fcn.1400c3aa0
mov r14, qword [rsp + 0x2ca0]
mov rbp, qword [rsp + 0x2cb0]
mov rbx, qword [rsp + 0x2cb8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x2ca8]
add rsp, 0x2cc0
pop rsi
ret
Function at 0x1400c3990
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
sub rsp, 0x2d0
mov rdi, rcx
mov rbp, rdx
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8d, 0x98
call fcn.1400e5ee0
xor ebx, ebx
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x50], rax
lea rax, [0x14013b388]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x98
mov qword [rsp + 0x28], rbp
mov word [rsp + 0xc0], bx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x58], 0x208
mov dword [rsp + 0x4c], 1
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x80], 0x1800
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
cmp eax, 1
jne 0x1400c3a7e
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x2e0], rsi
test rdx, rdx
je 0x1400c3a4b
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdx + rax*2], bx
jne 0x1400c3a40
mov ebx, eax
lea rcx, [rdi + 0x28c0]
mov r8d, ebx
call fcn.14000be50
mov rcx, qword [rdi + 0x28c0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rsi, qword [rsp + 0x2e0]
test eax, eax
je 0x1400c3a7e
mov rdx, rbp
mov rcx, rdi
call fcn.1400c3aa0
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x1400c3b70
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x230
mov rdi, rdx
mov rsi, rcx
mov edx, 0x40a
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetDlgItem]
or rbx, 0xffffffffffffffff
test rax, rax
je 0x1400c3bd9
lea rdx, [rsp + 0x20]
mov r8d, 0x104
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rcx, [rsi + 0x28c0]
lea rdx, [rsp + 0x20]
mov rax, rbx
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400c3bc2
lea rdx, [rsp + 0x20]
mov r8d, eax
call fcn.14000be50
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8d, 0x208
call fcn.1400e5ee0
mov edx, 0x40c
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetDlgItem]
test rax, rax
je 0x1400c3c37
lea rdx, [rsp + 0x20]
mov r8d, 0x104
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rcx, [rsi + 0x28c8]
lea rax, [rsp + 0x20]
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1400c3c20
lea rdx, [rsp + 0x20]
mov r8d, ebx
call fcn.14000be50
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret

Function at 0x1400c3ee0
Capabilities:
Hide graphical window

Disassembly:
push rbx
sub rsp, 0x20
xor edx, edx
mov rbx, rcx
mov dword [rcx + 0x28d0], 0
call fcn.1400c3570
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov rcx, qword [rbx + 0x28e8]
mov edx, 5
add rsp, 0x20
pop rbx
jmp qword [sym.imp.USER32.dll_ShowWindow]