joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400906d0
Capabilities:
Accept command line arguments

Disassembly:
mov qword [0x14026d708], rcx
mov qword [0x14026d710], rdx
lea rcx, [0x14026d6a0]
mov edx, r9d
mov qword [0x14026d718], r8
mov dword [0x14026d720], r9d
jmp 0x1400906d0
push rbx
sub rsp, 0x30
cmp byte [0x14026d68b], 0
mov rbx, rcx
je 0x1400906eb
or eax, 0xffffffff
add rsp, 0x30
pop rbx
ret
xor ecx, ecx
mov qword [rsp + 0x40], rdi
call qword [sym.imp.ole32.dll_CoInitialize]
mov edi, eax
mov dword [rsp + 0x50], eax
test eax, eax
jns 0x140090728
cmp eax, 0x80010106
jne 0x140090784
lea rcx, str.Mscoree.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x14009072c
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
mov byte [rbx + 0x62], 1
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea r8, [rsp + 0x50]
mov rcx, rbx
mov rdx, rax
call fcn.14008f060
cmp al, 1
jne 0x140090774
mov eax, dword [rbx + 0x80]
mov r9, qword [rbx + 0x78]
mov r8, qword [rbx + 0x70]
mov rdx, qword [rbx + 0x68]
lea rcx, [0x14026d730]
mov dword [rsp + 0x20], eax
call fcn.140087840
mov rcx, rbx
call fcn.14008f540
mov edi, eax
jmp 0x140090778
mov edi, dword [rsp + 0x50]
cmp byte [rbx + 0x62], 0
je 0x140090784
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
Function at 0x1400995a0
Capabilities:
Check if file exists

Disassembly:
push rdi
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
mov rbx, rcx
call fcn.14009e010
xor edi, edi
cmp qword [rbx + 0x68], rdi
je 0x1400996af
xor r8d, r8d
lea edx, [rdi + 3]
lea rcx, [0x14026ef10]
call fcn.14002ce50
test rax, rax
jne 0x1400995fe
lea edx, [rdi + 3]
lea r8d, [rdi + 1]
lea rcx, [0x14026ef10]
call fcn.14002ce50
test rax, rax
je 0x140099692
mov rcx, rax
call fcn.1400327b0
test eax, eax
je 0x140099692
test byte [rbx + 0xc], 0x40
mov edx, 5
cmovne edx, edi
mov rcx, qword [rbx + 0x68]
call qword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400c9420
nop
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 0x2001f
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnhShortcutConfig
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x38]
call fcn.1400c9590
test eax, eax
je 0x140099674
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, str.CheckForcePadShortcut
lea rcx, [rsp + 0x40]
call fcn.1400e00f0
mov edx, 8
lea rcx, [0x14026d730]
call fcn.140086550
nop
lea rcx, [rsp + 0x38]
call fcn.1400c9530
jmp 0x1400996af
xor edx, edx
mov rcx, qword [rbx + 0x68]
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, 4
lea rcx, [0x14026d730]
call fcn.140086550
mov rax, qword [0x14026ef18]
test rax, rax
je 0x1400997b4
cmp qword [rax], 0
je 0x1400997b4
cmp dword [rbx + 0x548], 0
je 0x1400996df
mov rcx, rbx
call fcn.14009c830
jmp 0x1400997d8
cmp dword [rbx + 0x598], 0
jne 0x1400997d8
mov dword [rbx + 0x44], edi
cmp dword [rbx + 0x590], 0
je 0x140099741
lea rcx, [0x14026ef10]
call fcn.14000be30
test rax, rax
jne 0x14009971a
lea rcx, [0x14026ef10]
call fcn.140031020
test rax, rax
je 0x140099725
mov rcx, rax
call fcn.14000f200
mov dword [rbx + 0x44], eax
lea rcx, [0x14026ef10]
call fcn.14008e740
test rax, rax
je 0x140099741
mov rcx, rax
call fcn.14000f200
or dword [rbx + 0x44], eax
cmp dword [rbx + 0x44], 0
je 0x14009975e
test byte [rbx + 0xc], 0x20
jne 0x14009975e
mov rdx, qword [rbx + 0xd8]
mov rcx, rbx
call fcn.14009c750
jmp 0x1400997d8
mov eax, dword [rbx + 0xc]
test al, 0x20
je 0x140099792
test al, 0x10
je 0x140099773
mov rcx, rbx
call fcn.14009c710
jmp 0x1400997d8
test al, 1
je 0x1400997d8
mov rcx, rbx
test byte [rbx + 0x5a8], 0x20
je 0x14009976c
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.14009bba0
jmp 0x1400997d8
test al, 1
je 0x140099769
mov rcx, rbx
test al, 0x10
je 0x1400997a6
cmp dword [rbx + 0x568], 0
je 0x140099783
mov rdx, qword [rbx + 0xe0]
call fcn.14009c750
jmp 0x1400997d8
lea rdx, [rbx + 0x178]
mov ecx, 2
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
jne 0x1400997d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x1400997d8
mov dword [rbx + 0x48], edi
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
Function at 0x140099bd0
Capabilities:
Check if file exists

Disassembly:
cmp dword [rcx + 0x594], 0
mov r8, rcx
je 0x140099c31
cmp dword [rcx + 0x598], 0
je 0x140099c31
lea rax, [0x1401226e8]
mov rdx, rcx
mov dword [rcx + 0x598], 0
sub rdx, rax
nop dword [rax]
movzx ecx, word [rax]
lea rax, [rax + 2]
mov word [rdx + rax + 0x2a6], cx
test cx, cx
jne 0x140099c00
mov eax, dword [r8 + 0x5a8]
test al, 0x20
je 0x140099c29
and eax, 0xffffffdf
mov dword [r8 + 0x5a8], eax
mov rcx, r8
jmp fcn.1400995a0
ret

Function at 0x14009c3b0
Capabilities:
Find taskbar

Disassembly:
sub rsp, 0x28
lea rcx, str.Shell_TrayWnd
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x14009c42b
lea r8, str.TrayNotifyWnd
xor r9d, r9d
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.USER32.dll_FindWindowExW]
mov rbx, rax
test rax, rax
je 0x14009c426
lea r8, str.SysPager
xor r9d, r9d
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_FindWindowExW]
xor r9d, r9d
xor edx, edx
lea r8, str.ToolbarWindow32
mov rcx, rax
test rax, rax
jne 0x14009c416
mov rcx, rbx
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
jmp qword [sym.imp.USER32.dll_FindWindowExW]
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
ret

Function at 0x14009c710
Capabilities:
Check if file exists

Disassembly:
push rbx
sub rsp, 0x20
lea rdx, [rcx + 0x178]
mov rbx, rcx
mov ecx, 2
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
jne 0x14009c73a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x14009c741
mov dword [rbx + 0x48], 0
add rsp, 0x20
pop rbx
ret

Function at 0x14009c750
Capabilities:
Check if file exists

Disassembly:
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x48], 0
mov rdi, rcx
mov qword [rcx + 0x198], rdx
jne 0x14009c77e
lea rdx, [rcx + 0x178]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov dword [rdi + 0x48], eax
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rsi
mov ebx, 0x64
nop dword [rax]
lea rdx, [rdi + 0x178]
mov ecx, 1
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
jne 0x14009c80c
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
add ebx, 0x64
cmp ebx, 0x44c
jl 0x14009c790
lea rdx, [rdi + 0x178]
mov ecx, 2
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
jne 0x14009c7da
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x14009c7e1
mov dword [rdi + 0x48], 0
cmp dword [rdi + 0x48], 0
jne 0x14009c7f9
lea rdx, [rdi + 0x178]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov dword [rdi + 0x48], eax
mov eax, dword [rdi + 0x48]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov dword [rdi + 0x48], 1
mov eax, 1
add rsp, 0x20
pop rdi
ret
Function at 0x14009e010
Capabilities:
Find taskbar

Disassembly:
push rdi
sub rsp, 0x70
mov rdi, rcx
mov rcx, qword [rcx + 0x68]
test rcx, rcx
je 0x14009e112
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 0x14009e112
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 0x14009e0d4
lea rcx, str.Shell_TrayWnd
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x14009e0cf
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 0x14009e0c5
mov eax, dword [rsp + 0x5c]
sub eax, ecx
add r9d, eax
mov dword [rsp + 0x44], r9d
jmp 0x14009e0d4
sub ecx, dword [rsp + 0x5c]
add dword [rsp + 0x4c], ecx
jmp 0x14009e0d4
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 0x14009e10c
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 0x1400a6e40
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.1400dc0c0
cmp eax, 0xb
jl 0x1400a6f6b
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.1400e4220
lea rdx, [rsp + 0x20]
mov r8d, 0x104
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp word [rsp + 0x20], bp
je 0x1400a6f67
lea rdx, str.Charm_Bar
lea rcx, [rsp + 0x20]
call fcn.1400e9b3c
test eax, eax
jne 0x1400a6f67
mov qword [rsp + 0x248], rdi
cmp qword [rbx + 0x3f0], rbp
je 0x1400a6f3f
mov rcx, qword [rbx + 0x400]
test rcx, rcx
je 0x1400a6f28
mov dword [rsp + 0x250], ebp
mov r8, qword [rcx]
lea rdx, [rsp + 0x250]
call qword [r8 + 0x130]
cmp dword [rsp + 0x250], ebp
je 0x1400a6f3f
mov rcx, qword [rbx + 0x408]
test rcx, rcx
je 0x1400a6f14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x408], rbp
mov rcx, qword [rbx + 0x400]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x400], rbp
mov rcx, qword [rbx + 0x3f0]
lea r8, [rbx + 0x400]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rax, qword [rbx + 0x400]
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 0x1400a6f4e
xor eax, eax
mov rbx, qword [rsp + 0x258]
add rsp, 0x230
pop rsi
ret
Function at 0x1400ac970
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 0x1400ac997
xor eax, eax
jmp 0x1400ac9ab
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
mov edx, 0x10000301
call qword [rax + 0x18]
mov eax, dword [rsp + 0x58]
mov rbx, qword [0x14026ef18]
test rbx, rbx
je 0x1400ac9d9
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 0x1400ac9fb
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1400ac9c0
xor eax, eax
lea rbp, [rax + 0x50]
mov rcx, rbp
call fcn.140032b70
test al, al
je 0x1400acb36
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400aca00
xor eax, eax
jmp 0x1400aca14
mov rax, qword [rbx]
jmp 0x1400ac9db
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 0x1400acb2c
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400aca2b
xor eax, eax
jmp 0x1400aca3f
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov edx, 0x10000314
call qword [rax + 0x18]
mov eax, dword [rsp + 0x68]
test al, 1
jne 0x1400acb2c
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400aca53
xor eax, eax
jmp 0x1400aca67
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 0x1400acb2c
mov rcx, r14
call fcn.14009e620
test al, al
jne 0x1400acb36
mov rcx, rsi
call fcn.14009e620
test al, al
je 0x1400acb36
inc dword [rdi + 0xa4]
cmp dword [rdi + 0xa4], 1
jne 0x1400acab1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0xa8], eax
jmp 0x1400acb36
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 0x5dc
cmp eax, dword [rdi + 0xa8]
jae 0x1400acacc
call qword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x1400acadc
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0xa4], 1
cmp dword [rdi + 0xa4], 3
mov dword [rdi + 0xa8], eax
jne 0x1400acb36
lea rcx, str.SynTPLpr
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
mov rbx, rax
test rax, rax
je 0x1400acb2c
mov rcx, rbp
call fcn.140032c60
lea rcx, [0x14026d730]
mov r8d, 0x4e4
mov rdx, rbx
movzx r9d, al
mov qword [rsp + 0x20], 0
call fcn.140083fd0
mov dword [rdi + 0xa4], 0
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x1400b0550
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.140004e00
mov rcx, rax
mov r9d, ebp
test rax, rax
setne r9b
test r9d, r9d
jne 0x1400b05af
mov ecx, 0x80004005
call fcn.140004c30
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rbx
lea rdx, [0x1401226e8]
test rdx, 0xffffffffffff0000
jne 0x1400b05f3
movzx r14d, dx
xor edx, edx
mov ecx, r14d
call fcn.14000bbc0
test rax, rax
je 0x1400b0605
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.14000c050
jmp 0x1400b0600
xor r8d, r8d
lea rcx, [rsp + 0x28]
call fcn.14000c250
mov rbx, qword [rsp + 0x28]
test si, si
jne 0x1400b0612
call fcn.1400b0d30
movzx esi, ax
test rdi, rdi
jne 0x1400b0622
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 0x1400b077f
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rdi, rax
test rax, rax
je 0x1400b077f
movzx eax, r12w
and eax, 0x8000000f
jge 0x1400b0676
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
jle 0x1400b0690
mov edx, eax
nop dword [rax]
movzx eax, word [rdi]
lea rdi, [rdi + rax*2]
add rdi, 2
dec rdx
jne 0x1400b0680
movzx ebx, word [rdi]
lea ecx, [rbx + 1]
mov eax, 2
mul rcx
mov rsi, 0xffffffffffffffff
cmovo rax, rsi
mov rcx, rax
call fcn.1400e3178
mov r14, rax
mov r8d, ebx
lea rdx, [rdi + 2]
mov rcx, rax
call fcn.1400e6178
mov word [r14 + rbx*2], bp
cmp dword [rsp + 0xd0], 0
je 0x1400b0735
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbp
mov word [rsp + 0x38], bp
cmp word [r14], 0
jne 0x1400b06f1
mov r8, rbp
jmp 0x1400b06ff
mov r8, rsi
inc r8
cmp word [r14 + r8*2], 0
jne 0x1400b06f4
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.1400076c0
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.1400de860
mov rdx, rax
mov r13d, 2
mov dword [rsp + 0x20], r13d
cmp qword [rax + 0x18], 8
jb 0x1400b0738
mov rdx, qword [rax]
jmp 0x1400b0738
mov rdx, r14
test rdx, rdx
je 0x1400b074c
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400b0740
mov ebp, eax
mov r8d, ebp
lea rcx, [rsp + 0x28]
call fcn.14000c250
nop
test r13b, 2
je 0x1400b0772
cmp qword [rsp + 0x70], 8
jb 0x1400b0772
mov rcx, qword [rsp + 0x58]
call fcn.1400e4058
mov rcx, r14
call fcn.1400e66d8
mov rbx, qword [rsp + 0x28]
lea rcx, [rbx - 0x18]
call fcn.14000bc70
add rax, 0x18
mov qword [r15], rax
lock add dword [rbx - 8], 0xffffffff
jg 0x1400b07a4
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 0x1400b4c50
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 0x1400b4d0d
mov ecx, ebp
mov qword [rsp + 0x50], rdi
call fcn.1400eb5d8
mov rdi, rax
test rax, rax
je 0x1400b4cf8
mov r9, rax
mov r8d, ebp
xor edx, edx
mov rcx, r14
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400b4cf0
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, [0x140122f58]
mov rcx, rdi
mov qword [rsp + 0x28], rbx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400b4cf0
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1400b4cf0
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.1400e9dd0
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 0x1400b4d80
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 0x1400b4dc9
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 0x1400b4e27
lea r9, [rsp + 0x20]
lea rdx, [rsp + 0x28]
mov r8d, 8
mov rcx, rax
call sub.PSAPI.DLL_EnumProcessModules
test eax, eax
je 0x1400b4e1e
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 0x1400b4e1e
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 0x1400b8c20
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 0x1400b8e26
mov r9d, dword [rsp + 0x100]
cmp r9d, 1
jle 0x1400b8dab
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.1400b8a30
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 0x1400b8dd1
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.1400b8a30
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 0x1400bf770
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 0x1400bf96b
cmp byte [rcx + 0x82], 0
je 0x1400bf96b
mov rax, qword [rcx]
mov ebx, 0xffff
mov edx, ebx
call qword [rax + 0x18]
cmp bx, ax
jne 0x1400bf7c2
xor al, al
jmp 0x1400bf96d
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 0x1400bf839
dec eax
jne 0x1400bf92e
jmp 0x1400bf840
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 0x1400bf88a
lea rcx, [rbp - 0x28]
cmp r9, 0x10
cmovae rcx, r10
mov r9, qword [rdi + 0x90]
mov r8, rbx
mov edx, 1
call fcn.1400ea640
mov r9, qword [rbp - 0x10]
cmp rbx, rax
jne 0x1400bf937
cmp byte [rdi + 0x82], r14b
je 0x1400bf955
test rbx, rbx
jne 0x1400bf7f3
or rax, 0xffffffffffffffff
mov r8, qword [rbp - 0x18]
sub rax, r8
cmp rax, 8
jbe 0x1400bf948
lea rbx, [r8 + 8]
cmp rbx, 0xfffffffffffffffe
ja 0x1400bf93b
cmp r9, rbx
jae 0x1400bf8d6
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14000c5e0
mov r9, qword [rbp - 0x10]
jmp 0x1400bf8f4
test rbx, rbx
jne 0x1400bf8fd
mov qword [rbp - 0x18], r14
lea rax, [rbp - 0x28]
cmp r9, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax], r14b
jmp 0x1400bf7ef
test rbx, rbx
je 0x1400bf7f3
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 0x1400bf7ef
mov r9, qword [rbp - 0x10]
sub eax, 2
je 0x1400bf955
xor bl, bl
jmp 0x1400bf957
lea rcx, str.string_too_long
call fcn.1400e3108
int3
lea rcx, str.string_too_long
call fcn.1400e3108
int3
mov bl, 1
cmp r9, 0x10
jb 0x1400bf966
mov rcx, qword [rbp - 0x28]
call fcn.1400e4058
movzx eax, bl
jmp 0x1400bf96d
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