joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400b9010
Capabilities:
Set registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
mov eax, 0x1118
call fcn.140057430
sub rsp, rax
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x1100], rax
mov eax, r9d
mov r9d, 0xa
mov rsi, r8
mov rbx, rdx
mov qword [rsp + 0x68], rdx
mov rbp, rcx
lea r8d, [r9 + 0x16]
lea rdx, [rsp + 0x10c0]
mov ecx, eax
mov dword [rsp + 0x60], eax
call fcn.14004bdec
lea r11, [rsp + 0x70]
mov qword [rsp + 0x40], r11
lea rax, [rsp + 0x50]
lea rdx, [rsp + 0x10c0]
mov qword [rsp + 0x38], rax
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], eax
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rbx, qword [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [0x140109f48]
mov r9d, 1
add eax, eax
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rdi, qword [rsp + 0x50]
lea rbx, [rsi + 0x200]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [0x140109f58]
mov r9d, 1
add eax, eax
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rsi + 0x604]
mov rcx, qword [rsp + 0x50]
lea rdx, [0x140109f70]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov r11d, dword [rsi + 0x600]
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
lea rdx, [0x140109f80]
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, dword [rsp + 0x60]
inc ebx
cmp dword [rsi + 0x604], 1
mov dword [rsp + 0x60], ebx
jne 0x1400b91cb
mov rdi, qword [rsp + 0x50]
lea rbx, [rsi + 0x608]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [0x140109fb0]
mov r9d, 1
add eax, eax
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, dword [rsp + 0x60]
cmp dword [rsi + 0x604], 0
jne 0x1400b9215
mov rax, qword [rsi + 0x810]
cmp dword [rax + 0x604], 0
jne 0x1400b9215
mov rcx, qword [rax + 0x828]
test rcx, rcx
je 0x1400b9215
lea rdx, [rsp + 0x8a0]
call fcn.1400924a0
mov rdx, qword [rsp + 0x50]
lea r8, [rsp + 0x8a0]
xor r9d, r9d
mov rcx, rbp
call fcn.1400b9010
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11, qword [rsi + 0x810]
mov rcx, qword [r11 + 0x820]
test rcx, rcx
je 0x1400b9258
lea rdx, [rsp + 0x80]
call fcn.1400924a0
mov rdx, qword [rsp + 0x68]
lea r8, [rsp + 0x80]
mov r9d, ebx
mov rcx, rbp
call fcn.1400b9010
mov rcx, qword [rsp + 0x1100]
xor rcx, rsp
call fcn.14004ae00
add rsp, 0x1118
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400b9280
Capabilities:
Delete registry key

Disassembly:
push rbx
mov eax, 0x10b0
call fcn.140057430
sub rsp, rax
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x10a0], rax
mov rbx, rcx
lea rdx, [0x140109ec8]
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
lea r11, [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
lea rdx, [0x140109f08]
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], eax
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400b935c
lea rcx, [rbx + 0xa68]
lea rdx, [rsp + 0x60]
call fcn.140092800
mov r11, qword [rsp + 0x870]
cmp dword [r11 + 0x604], 0
jne 0x1400b9351
mov rcx, qword [r11 + 0x828]
test rcx, rcx
je 0x1400b9351
lea rdx, [rsp + 0x880]
call fcn.1400924a0
mov rdx, qword [rsp + 0x50]
lea r8, [rsp + 0x880]
xor r9d, r9d
mov rcx, rbx
call fcn.1400b9010
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x10a0]
xor rcx, rsp
call fcn.14004ae00
add rsp, 0x10b0
pop rbx
ret
mov rcx, qword [rcx + 0x10]
jmp 0x1400b9280
Function at 0x1400b93b0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
lea rbp, [rsp - 0x960]
sub rsp, 0xa60
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rbp + 0x950], rax
mov rsi, rcx
mov r13, rdx
lea r8, [0x14010aec4]
lea rcx, [rsp + 0x50]
xor r14d, r14d
xor r9d, r9d
mov edx, pe_nt_image_headers64
mov dword [rsp + 0x34], 1
mov r12d, r14d
call section..text
lea r11, [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov r9d, 0x20019
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400b95fd
mov qword [rsp + 0xaa0], rbx
mov qword [rsp + 0xaa8], rdi
nop
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x44]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x550]
lea rdx, [0x14010b010]
xor r8d, r8d
mov dword [rsp + 0x30], 0x200
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8d, dword [rsp + 0x30]
mov edi, eax
test r8d, r8d
je 0x1400b94b1
cmp dword [rsp + 0x44], 1
jne 0x1400b94b1
lea ecx, [r8 - 1]
cmp word [rbp + rcx*2 + 0x550], r14w
je 0x1400b94b9
mov ecx, 0x200
cmp r8d, ecx
cmovb ecx, r8d
mov word [rbp + rcx*2 + 0x550], r14w
jmp 0x1400b94b9
mov word [rbp + 0x550], r14w
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x150]
lea rdx, str.Command
xor r8d, r8d
mov dword [rsp + 0x30], 0x200
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8d, dword [rsp + 0x30]
mov ebx, eax
test r8d, r8d
je 0x1400b952a
cmp dword [rsp + 0x40], 1
jne 0x1400b952a
lea ecx, [r8 - 1]
cmp word [rbp + rcx*2 + 0x150], r14w
je 0x1400b9532
mov ecx, 0x200
cmp r8d, ecx
cmovb ecx, r8d
mov word [rbp + rcx*2 + 0x150], r14w
jmp 0x1400b9532
mov word [rbp + 0x150], r14w
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea rdx, str.ShowNameOnToolbar
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x30], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test edi, edi
jne 0x1400b959d
test ebx, ebx
jne 0x1400b959d
mov ecx, 0x820
call fcn.14004af90
test rax, rax
je 0x1400b959d
mov r9d, dword [rsp + 0x34]
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x550]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1400e1910
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc r12d
lea r8, [0x14010afb4]
lea rcx, [rsp + 0x50]
mov r9d, r12d
mov edx, pe_nt_image_headers64
call section..text
lea r11, [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov r9d, 0x20019
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400b9440
mov rdi, qword [rsp + 0xaa8]
mov rbx, qword [rsp + 0xaa0]
mov rcx, qword [rbp + 0x950]
xor rcx, rsp
call fcn.14004ae00
add rsp, 0xa60
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
Function at 0x1400bc120
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rdi
sub rsp, 0x278
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x250], rax
lea rax, [rsp + 0x30]
mov rbp, r8
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x34], 3
mov dword [rsp + 0x30], 0x200
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor edi, edi
test dword [rsp + 0x30], 0xfffffff8
jbe 0x1400bc21e
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x268], rsi
mov qword [rsp + 0x260], r12
movabs r12, 0x1555555555555554
mov dword [rsp + 0x40], ILGetSize
lea rbx, [rsp + 0x54]
mov eax, dword [rbx - 4]
mov rsi, qword [rbp]
lea r8, [rsp + 0x38]
mov rdx, qword [rsi + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [rbx]
mov rcx, rsi
mov dword [rsp + 0x3c], eax
call fcn.140017f40
mov rdx, qword [rbp + 8]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jb 0x1400bc238
lea rcx, [rdx + 1]
inc edi
add rbx, 8
mov qword [rbp + 8], rcx
mov qword [rsi + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
mov eax, dword [rsp + 0x30]
shr eax, 3
cmp edi, eax
jb 0x1400bc1b0
mov rsi, qword [rsp + 0x268]
mov rbx, qword [rsp + 0x270]
mov r12, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14004ae00
add rsp, 0x278
pop rdi
pop rbp
ret
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3

Function at 0x1400bc250
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
sub rsp, 0x280
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x250], rax
lea rax, [rsp + 0x30]
mov rbp, r8
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x34], 3
mov dword [rsp + 0x30], 0x200
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400bc366
mov qword [rsp + 0x278], rbx
xor ebx, ebx
test dword [rsp + 0x30], 0xfffffff8
jbe 0x1400bc35e
mov qword [rsp + 0x270], rsi
mov qword [rsp + 0x268], rdi
mov qword [rsp + 0x260], r12
movabs r12, 0x1555555555555554
lea rdi, [rsp + 0x54]
nop word [rax + rax]
mov eax, dword [rdi - 4]
mov rsi, qword [rbp]
lea r8, [rsp + 0x38]
mov rdx, qword [rsi + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi]
mov rcx, rsi
mov dword [rsp + 0x40], eax
call fcn.140017f40
mov rdx, qword [rbp + 8]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jb 0x1400bc37f
lea rcx, [rdx + 1]
inc ebx
add rdi, 8
mov qword [rbp + 8], rcx
mov qword [rsi + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
mov eax, dword [rsp + 0x30]
shr eax, 3
cmp ebx, eax
jb 0x1400bc2f0
mov rdi, qword [rsp + 0x268]
mov rsi, qword [rsp + 0x270]
mov r12, qword [rsp + 0x260]
mov rbx, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14004ae00
add rsp, 0x280
pop rbp
ret
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
Function at 0x1400bcc20
Capabilities:
Delete registry key

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0xe0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rbx, rcx
lea rdx, [0x14010b058]
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
lea r11, [rsp + 0x58]
mov qword [rsp + 0x40], r11
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xor ebp, ebp
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], ebp
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14010b098]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov esi, ebp
test eax, eax
jne 0x1400bcdbd
mov rdi, qword [rbx + 0x50]
mov rbx, qword [rbx + 0x48]
cmp rbx, rdi
je 0x1400bcdb2
nop word [rax + rax]
mov qword [rsp + 0x88], 7
mov qword [rsp + 0x80], rbp
mov word [rsp + 0x70], bp
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.140009660
nop
mov qword [rsp + 0xb0], 7
mov qword [rsp + 0xa8], rbp
mov word [rsp + 0x98], bp
lea rdx, [rbx + 0x28]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x98]
call fcn.140009660
mov r11d, dword [rbx + 0x50]
mov dword [rsp + 0xc0], r11d
mov eax, dword [rbx + 0x54]
mov dword [rsp + 0xc4], eax
mov r8d, esi
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
call fcn.1400b8cd0
inc esi
cmp qword [rsp + 0xb0], 8
jb 0x1400bcd74
mov rcx, qword [rsp + 0x98]
call fcn.14004b088
mov qword [rsp + 0xb0], 7
mov qword [rsp + 0xa8], rbp
mov word [rsp + 0x98], bp
cmp qword [rsp + 0x88], 8
jb 0x1400bcda5
mov rcx, qword [rsp + 0x70]
call fcn.14004b088
add rbx, 0x58
cmp rbx, rdi
jne 0x1400bccd0
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.14004ae00
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rcx + 0x10]
jmp 0x1400bcc20
Function at 0x1400c0670
Capabilities:
Get file version info
Get geographical location

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x290
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x280], rax
xor ebx, ebx
lea rax, [rsp + 0x70]
mov r9, r8
mov rbp, rcx
mov r8d, 0x104
sub rdx, rax
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x70]
nop dword [rax]
lea rax, [r8 + 0x7ffffefa]
test rax, rax
je 0x1400c06d3
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400c06d3
mov word [rcx], ax
add rcx, 2
dec r8
jne 0x1400c06b0
jmp 0x1400c06d8
test r8, r8
jne 0x1400c06dc
sub rcx, 2
mov word [rcx], bx
lea rcx, [rsp + 0x70]
mov rdx, r9
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rdx, [rsp + 0x2c]
lea rcx, [rsp + 0x70]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
test eax, eax
je 0x1400c0857
mov ecx, edi
mov qword [rsp + 0x2b8], rsi
call fcn.14004af90
mov rsi, rax
test rax, rax
je 0x1400c0831
lea rcx, [rsp + 0x70]
mov r9, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
lea rdx, str.VarFileInfoTranslation
mov rcx, rsi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
cmp dword [rsp + 0x28], 4
jb 0x1400c0829
mov rax, qword [rsp + 0x20]
movzx ecx, word [rax]
mov eax, 0x45b
cmp cx, ax
jne 0x1400c07c9
lea r8, str.Sinhala
lea rax, [rsp + 0x30]
mov edx, 0x20
sub r8, rax
lea rcx, [rsp + 0x30]
nop word [rax + rax]
lea rax, [rdx + 0x7fffffde]
test rax, rax
je 0x1400c07bb
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1400c07bb
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x1400c0790
sub rcx, 2
mov word [rcx], bx
jmp 0x1400c07e1
test rdx, rdx
jne 0x1400c07c4
sub rcx, 2
mov word [rcx], bx
jmp 0x1400c07e1
mov r9d, 0x20
lea r8, [rsp + 0x30]
movzx ecx, cx
lea edx, [r9 - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea r9, [rsp + 0x30]
xor r8d, r8d
mov edx, 0x143
mov rcx, rbp
call qword [sym.imp.USER32.dll_SendMessageW]
mov ebx, 0x3ff
mov r11, rax
cmp eax, 0xffffffff
je 0x1400c0821
mov rax, qword [rsp + 0x20]
movsxd r8, r11d
mov edx, 0x151
movzx r9d, word [rax]
mov rcx, rbp
and r9, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, qword [rsp + 0x20]
and bx, word [rax]
mov rcx, rsi
call fcn.14004b048
mov rsi, qword [rsp + 0x2b8]
movzx eax, bx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.14004ae00
add rsp, 0x290
pop rdi
pop rbp
pop rbx
ret
movzx eax, bx
jmp 0x1400c083c
Function at 0x1400c0870
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
sub rsp, 0x6a0
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x690], rax
mov rax, rdx
mov r12, rcx
mov edx, 0x48a
mov rcx, rax
xor edi, edi
call qword [sym.imp.USER32.dll_GetDlgItem]
lea r9, str.English
xor r8d, r8d
mov rcx, rax
mov edx, 0x143
mov rbp, rax
call qword [sym.imp.USER32.dll_SendMessageW]
lea r9d, [rdi + 9]
xor r8d, r8d
mov edx, 0x151
mov rcx, rbp
call qword [sym.imp.USER32.dll_SendMessageW]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor edx, edx
mov r8d, eax
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, 0x104
mov rsi, rax
test rax, rax
je 0x1400c091f
lea r8, [rsp + 0x270]
mov r9d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x270]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, [rsp + 0x270]
lea rax, [rsp + 0x480]
sub rdx, rax
lea rcx, [rsp + 0x480]
nop dword [rax + rax]
lea rax, [rbx + 0x7ffffefa]
test rax, rax
je 0x1400c0973
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400c0973
mov word [rcx], ax
add rcx, 2
dec rbx
jne 0x1400c0950
jmp 0x1400c0978
test rbx, rbx
jne 0x1400c097c
sub rcx, 2
mov word [rcx], di
lea rdx, [0x14010b9b8]
lea rcx, [rsp + 0x480]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1400c0a40
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x270]
mov rcx, rbp
call fcn.1400c0670
lea rdx, [rsp + 0x20]
movzx ecx, ax
mov eax, 1
cmp ecx, dword [r12 + 0x1b58]
mov rcx, rsi
lea ebx, [rax + 1]
cmove edi, eax
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400c0a37
nop word [rax + rax]
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x270]
mov rcx, rbp
call fcn.1400c0670
lea rdx, [rsp + 0x20]
movzx ecx, ax
cmp ecx, dword [r12 + 0x1b58]
mov rcx, rsi
cmove edi, ebx
inc ebx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400c0a00
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
movsxd r8, edi
xor r9d, r9d
mov edx, 0x14e
mov rcx, rbp
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0x690]
xor rcx, rsp
call fcn.14004ae00
lea r11, [rsp + 0x6a0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret
Function at 0x1400c3530
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x2b0
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
mov rbx, rcx
mov eax, r8d
lea rcx, [rsp + 0x30]
mov edi, edx
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov edx, eax
mov qword [rsp + 0x30], 0
call qword [sym.imp.SHELL32.dll_SHGetFolderLocation]
test eax, eax
jne 0x1400c35d1
mov rcx, qword [rsp + 0x30]
lea r8d, [rax + 1]
lea rdx, [rsp + 0x90]
call fcn.140092ff0
lea rax, [rsp + 0x90]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov edx, edi
mov rcx, rbx
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x40], 0x50
mov dword [rsp + 0x44], Shell_GetImageLists
call qword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x1400c360c
lea r9, [rsp + 0x40]
xor r8d, r8d
mov edx, edi
mov rcx, rbx
mov dword [rsp + 0x40], 0x50
mov dword [rsp + 0x44], 0x20
call qword [sym.imp.USER32.dll_GetMenuItemInfoW]
mov rcx, qword [rsp + 0x70]
call fcn.14004b048
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call qword [sym.imp.USER32.dll_DeleteMenu]
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.14004ae00
mov rbx, qword [rsp + 0x2d8]
add rsp, 0x2b0
pop rdi
ret

Function at 0x1400c40d0
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x2b0
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
mov rbx, rcx
mov rcx, rdx
mov rbp, r8
mov rdi, rdx
call qword [sym.imp.SHELL32.dll_ILClone]
mov rcx, rax
mov rsi, rax
call qword [sym.imp.SHELL32.dll_ILRemoveLastID]
lea rdx, [rsp + 0x90]
mov r8d, 0x8000
mov rcx, rsi
call fcn.140092ff0
mov rcx, qword [rbx + 0x68]
lea rax, [0x140103fec]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x48], rax
xor eax, eax
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x70
mov dword [rsp + 0x24], ILClone
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], 5
mov qword [rsp + 0x40], rbp
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.14004ae00
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2b0
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400c4a00
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x6d0
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x6c0], rax
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor edx, edx
mov r8d, eax
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x1400c4a62
lea r8, [rsp + 0x2a0]
mov r9d, 0x104
xor edx, edx
mov rcx, rax
call qword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rdi + 0xa50]
lea r8, [rsp + 0x90]
mov edx, 0x104
mov rax, qword [rcx]
call qword [rax + 0x68]
lea r9, [rsp + 0x90]
lea r8, str.__s_
lea rcx, [rsp + 0x4b0]
mov edx, 0x104
call section..text
xor ecx, ecx
lea rax, [0x14010bd70]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x4b0]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 0x70
mov dword [rsp + 0x50], 5
mov qword [rsp + 0x40], rax
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov rcx, qword [rsp + 0x6c0]
xor rcx, rsp
call fcn.14004ae00
mov rbx, qword [rsp + 0x6e8]
add rsp, 0x6d0
pop rdi
ret
Function at 0x1400c4de0
Capabilities:
Get file system object information

Disassembly:
push rdi
sub rsp, 0x940
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rsp + 0x930], rax
mov rdi, rcx
mov rcx, qword [rcx + 0x12c0]
mov r9d, 1
or r8, 0xffffffffffffffff
mov edx, 0x100c
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x1400c4f9f
mov rcx, qword [rdi + 0xa50]
lea r8, [rsp + 0x720]
mov edx, eax
mov r9, qword [rcx]
mov qword [rsp + 0x958], rbx
call qword [r9 + 0x60]
mov rbx, qword [rdi + 0x68]
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x720]
mov r9d, 0x2b8
xor edx, edx
mov dword [rsp + 0x20], 0x800
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test rax, rax
je 0x1400c4f97
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x300]
lea r8, [rsp + 0x720]
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400e6dd0
test eax, eax
jne 0x1400c4f97
lea r8, [rsp + 0x300]
lea rax, [rsp + 0x510]
mov qword [rsp + 0x960], rsi
mov edx, 0x104
lea rcx, [rsp + 0x510]
sub r8, rax
nop word [rax + rax]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x1400c4ef4
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1400c4ef4
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x1400c4ed0
jmp 0x1400c4ef9
test rdx, rdx
jne 0x1400c4efd
sub rcx, 2
xor esi, esi
mov word [rcx], si
lea rcx, [rsp + 0x510]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x510]
mov qword [rsp + 0x30], rsi
call fcn.140094590
mov r10, qword [rdi + 0x38]
mov rdx, qword [rsp + 0x30]
lea rcx, [rdi + 0x38]
lea r9d, [rsi + 1]
xor r8d, r8d
mov dword [rsp + 0x28], esi
mov ebx, eax
mov dword [rsp + 0x20], 1
call qword [r10 + 0x50]
mov rsi, qword [rsp + 0x960]
test ebx, ebx
js 0x1400c4f97
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rcx, [rsp + 0x300]
call qword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov rcx, qword [rdi + 0xa50]
lea rdx, [rsp + 0x300]
mov rax, qword [rcx]
call qword [rax + 0xe8]
mov rcx, qword [rdi + 0x12c0]
call qword [sym.imp.USER32.dll_SetFocus]
mov rbx, qword [rsp + 0x958]
mov rcx, qword [rsp + 0x930]
xor rcx, rsp
call fcn.14004ae00
add rsp, 0x940
pop rdi
ret