joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001a104
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 [0x1402657f0]
test eax, eax
je 0x14001a14c
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402657f0]
test eax, eax
jne 0x14001a155
call fcn.140006554
test eax, eax
je 0x14001a171
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14025e018]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x14001a17b
movzx eax, r14w
jmp 0x14001a1c3
mov rcx, rdi
call qword [sym.imp.USER32.dll_RegisterClassA]
movzx ebx, ax
mov word [rsp + 0x20], ax
mov edi, r14d
test bx, bx
sete dil
test edi, edi
je 0x14001a1a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14001a1a7
mov esi, r14d
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test edi, edi
je 0x14001a1c0
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 0x14001a8b8
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 0x14001a8f6
mov r8d, esi
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x14001a9ae
call fcn.14000eeb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14001a915
mov ecx, 0x80004005
call fcn.1400028a0
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.14019a618
test eax, eax
je 0x14001a97d
cmp eax, 0xc
je 0x14001a977
cmp eax, 0x16
je 0x14001a971
cmp eax, 0x22
je 0x14001a971
cmp eax, 0x50
je 0x14001a97d
call fcn.14000daf0
int3
call fcn.14000daf0
int3
call fcn.14000db14
int3
test rbx, rbx
je 0x14001a98d
mov rcx, rbx
call fcn.140199f00
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 0x14001a9ac
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 0x14001b048
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x30
mov rdi, rdx
mov rsi, rcx
and dword [rax - 0x18], 0
and qword [rax + 0x18], 0
xor ebx, ebx
mov eax, dword [0x1402657f0]
test eax, eax
je 0x14001b08a
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402657f0]
test eax, eax
jne 0x14001b093
call fcn.140006554
test eax, eax
je 0x14001b0af
lea rdx, [rsp + 0x50]
mov rcx, qword [0x14025e018]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x14001b0b7
xor eax, eax
jmp 0x14001b0fb
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.USER32.dll_UnregisterClassA]
mov edi, eax
mov dword [rsp + 0x20], eax
xor ebx, ebx
test eax, eax
sete bl
test ebx, ebx
je 0x14001b0de
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14001b0e0
xor esi, esi
mov rdx, qword [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14001b0f9
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x14001ee78
Capabilities:
Delete file

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov rbx, rcx
lea rax, vtable.CDataRecoveryHandler.0
mov qword [rcx], rax
cmp qword [rcx + 0x138], 0
je 0x14001eeeb
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x120]
call fcn.14003c89c
nop
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001eee1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rbx + 0x138], 0
jne 0x14001eea3
mov rdx, qword [rbx + 0x180]
xor ecx, ecx
call qword [sym.imp.USER32.dll_KillTimer]
nop
mov rdx, qword [rbx + 0x160]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001ef1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbx + 0x158]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001ef3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbx + 0x120]
call fcn.14003c3e8
nop
lea rcx, [rbx + 0xe8]
lea rdi, vtable.CMap_class_CDocument____ptr64__class_CDocument____ptr64__class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____char_const____ptr64_.0
mov qword [rcx], rdi
call fcn.14002111c
nop
lea rcx, [rbx + 0xb0]
mov qword [rcx], rdi
call fcn.14002111c
nop
lea rcx, [rbx + 0x78]
lea rax, vtable.CMap_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____char_const____ptr64__bool__bool_.0
mov qword [rcx], rax
call fcn.140021308
nop
lea rcx, [rbx + 0x40]
lea rax, vtable.CMap_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____char_const____ptr64__class_CDocument____ptr64__class_CDocument____ptr64_.0
mov qword [rcx], rax
call fcn.1400211b8
nop
lea rcx, [rbx + 8]
lea rax, vtable.CMap_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____char_const____ptr64__class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____char_const____ptr64_.0
mov qword [rcx], rax
call fcn.140021250
nop
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x14001fbf8
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, rdx
mov rcx, qword [rdx]
cmp dword [rcx - 0x10], 0
je 0x14001fc2a
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x14001fc2a
lea rcx, [rdi + 0x120]
mov rdx, rbx
call fcn.14003c4c0
mov eax, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14001fc3c
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rdi, rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14001fc62
mov r8, rdx
mov rdx, qword [rbx]
call fcn.14000aaf8
jmp 0x14001fcc9
cmp byte [0x140269418], 0
jne 0x14001fca6
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x14001fc96
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140269410], rax
jmp 0x14001fc9d
mov rax, qword [0x140269410]
mov byte [0x140269418], 1
jmp 0x14001fcad
mov rax, qword [0x140269410]
mov rcx, qword [rbx]
mov rdx, rdi
test rax, rax
je 0x14001fcc3
mov r8d, dword [rbx + 8]
xor r9d, r9d
call rax
jmp 0x14001fcc9
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140020eec
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2c0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x14025f760]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r14, rcx
xor r12d, r12d
mov r15d, r12d
call fcn.14000f534
xor edx, edx
mov rcx, qword [rax + 8]
call fcn.14000996c
mov rbx, rax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], r12d
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x50], r12d
mov qword [rsp + 0x58], r12
mov r8, qword [r14]
lea rdx, [rsp + 0x60]
mov rcx, r14
call qword [r8 + 0x40]
mov r9d, 0x2001f
mov r8, qword [rax]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140020b08
test eax, eax
sete bl
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140020fa9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x1400210c9
mov esi, r12d
mov r13d, 0x104
mov r8d, r13d
xor edx, edx
lea rcx, [rbp - 0x70]
call fcn.140194220
mov dword [rsp + 0x40], r13d
xor edx, edx
jmp 0x140021042
inc esi
mov dword [rsp + 0x40], r13d
mov r8, r13
xor edx, edx
lea rcx, [rbp + 0xa0]
call fcn.140194220
mov dword [rsp + 0x44], r13d
lea r9, [rsp + 0x44]
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x48]
call fcn.140020e74
test eax, eax
jne 0x140021040
lea rcx, [r14 + 8]
lea rdx, [rbp - 0x70]
call fcn.14001f0cc
mov rbx, rax
lea rcx, [rbp + 0xa0]
call fcn.140199f00
mov r8d, eax
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call fcn.140009294
mov r15d, 1
mov edx, esi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x70]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
je 0x140020fd1
cmp qword [rsp + 0x48], r12
je 0x140021089
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x50], r12d
mov rax, qword [r14]
lea rdx, [rsp + 0x68]
mov rcx, r14
call qword [rax + 0x40]
mov rdx, qword [rax]
lea rcx, [rsp + 0x70]
call fcn.14001fc3c
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400210c9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400210da
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400210ea
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, r15d
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140192540
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
Function at 0x140021fd8
Capabilities:
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x68
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov rdi, rcx
mov esi, 1
mov rax, qword [rcx + 0x20]
neg rax
sbb rdx, rdx
mov qword [rbp + 0x38], rdx
je 0x1400221a7
xor esi, esi
and qword [rbp - 0x20], rsi
and dword [rbp - 0x18], esi
and qword [rbp - 0x10], rsi
mov rax, qword [rcx]
lea rdx, [rbp + 0x40]
call qword [rax + 0x40]
nop
mov rbx, qword [rax]
call fcn.14000f534
xor edx, edx
mov rcx, qword [rax + 8]
call fcn.14000996c
mov rdx, rax
and qword [rsp + 0x38], rsi
and qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x2001f
and dword [rsp + 0x20], esi
xor r9d, r9d
mov r8, rbx
lea rcx, [rbp - 0x20]
call fcn.14001f7e0
test eax, eax
sete bl
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002207e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x140022198
call fcn.14000eeb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14002218d
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x28], rax
call fcn.14000eeb0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140022182
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x30], rax
lea rcx, [rdi + 8]
lea r9, [rbp + 0x30]
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x38]
call fcn.14002022c
xor eax, eax
mov rbx, qword [rbp + 0x30]
test rbx, rbx
setne al
test eax, eax
je 0x140022128
mov rcx, rbx
call fcn.140199f00
inc eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140022143
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140022161
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rbp + 0x38], 0
jne 0x140022086
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14002217b
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x1400221a9
mov ecx, 0x80004005
call fcn.1400028a0
nop
mov ecx, 0x80004005
call fcn.1400028a0
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400221a7
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
add rsp, 0x68
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x140023da8
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movzx r14d, r8w
mov r15, rdx
mov r12, rcx
or r13d, 0xffffffff
movzx edi, r13w
mov word [rax - 0x38], r13w
mov rbx, qword [0x140269420]
and qword [rax + 0x20], 0
xor esi, esi
mov eax, dword [0x1402657f0]
test eax, eax
je 0x140023e06
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402657f0]
test eax, eax
jne 0x140023e0f
call fcn.140006554
test eax, eax
je 0x140023e2b
lea rdx, [rsp + 0x78]
mov rcx, qword [0x14025e018]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140023e35
movzx eax, r13w
jmp 0x140023e9e
test rbx, rbx
jne 0x140023e55
lea rcx, str.GetFileTitleA
call fcn.140023cf8
mov rbx, rax
test rax, rax
je 0x140023e69
mov qword [0x140269420], rax
movzx r8d, r14w
mov rdx, r15
mov rcx, r12
call rbx
movzx edi, ax
mov word [rsp + 0x20], ax
xor ebx, ebx
cmp di, r13w
sete bl
test ebx, ebx
je 0x140023e80
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140023e82
xor esi, esi
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140023e9b
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
movzx eax, di
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1400388c0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
test byte [rdx + 4], 1
mov esi, r8d
mov rbx, rdx
mov rbp, rcx
je 0x1400388e9
mov rdi, qword [rdx + 0x10]
jmp 0x14003893a
mov rdx, qword [rdx + 0x10]
mov r8d, 5
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdi, rax
test rax, rax
jne 0x14003890a
call fcn.1400102b4
mov rcx, qword [rbx + 8]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rdi, rax
test rax, rax
jne 0x140038924
call fcn.1400102b4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
test rax, rax
jne 0x14003893a
call fcn.1400102b4
call fcn.14000f534
cmp qword [rax + 0x68], 0
je 0x140038954
mov rdx, rdi
mov rcx, rbp
call fcn.140037d0c
mov rdi, rax
mov edx, esi
mov rcx, rdi
call fcn.140038bb8
mov rcx, qword [rbp + 0xf8]
mov rsi, rax
test rcx, rcx
je 0x14003897b
call qword [sym.imp.KERNEL32.dll_GlobalFree]
and qword [rbp + 0xf8], 0
test rsi, rsi
je 0x14003898a
mov rdi, rsi
mov qword [rbp + 0xf8], rsi
or dword [rbx + 4], 1
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov qword [rbx + 0x10], rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x140038d28
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x30
mov rdi, rcx
xor ebx, ebx
mov qword [rax - 0x18], rbx
mov r14, qword [0x140269598]
and qword [rax + 8], rbx
xor esi, esi
mov eax, dword [0x1402657f0]
test eax, eax
je 0x140038d74
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402657f0]
test eax, eax
jne 0x140038d7d
call fcn.140006554
test eax, eax
je 0x140038d99
lea rdx, [rsp + 0x40]
mov rcx, qword [0x14025e018]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140038da4
xor eax, eax
jmp 0x140038e28
test r14, r14
jne 0x140038dc1
lea rcx, str.CreatePropertySheetPageA
call fcn.140039024
test rax, rax
je 0x140038df3
mov qword [0x140269598], rax
mov eax, dword [rdi + 4]
mov ecx, 0x4000
test ecx, eax
jne 0x140038de2
cmp dword [rdi], 0x60
jb 0x140038de2
or eax, ecx
mov dword [rdi + 4], eax
mov rax, qword [0x14025e018]
mov qword [rdi + 0x58], rax
mov rcx, rdi
call qword [0x140269598]
mov rbx, rax
mov qword [rsp + 0x20], rax
xor edi, edi
test rbx, rbx
sete dil
test edi, edi
je 0x140038e0a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140038e0c
xor esi, esi
mov rdx, qword [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test edi, edi
je 0x140038e25
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbx
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x140038e40
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 [0x1402695a0]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x1402657f0]
test eax, eax
je 0x140038e8b
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402657f0]
test eax, eax
jne 0x140038e94
call fcn.140006554
test eax, eax
je 0x140038eb0
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14025e018]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140038eb8
xor eax, eax
jmp 0x140038f15
test rbx, rbx
jne 0x140038ed8
lea rcx, str.DestroyPropertySheetPage
call fcn.140039024
mov rbx, rax
test rax, rax
je 0x140038ee3
mov qword [0x1402695a0], 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 0x140038ef8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140038efa
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140038f13
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 0x140038f2c
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
or rdi, 0xffffffffffffffff
mov qword [rax - 0x18], rdi
mov rbx, qword [0x1402695a8]
and qword [rax + 0x10], 0
xor esi, esi
mov eax, dword [0x1402657f0]
test eax, eax
je 0x140038f7b
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1402657f0]
test eax, eax
jne 0x140038f84
call fcn.140006554
test eax, eax
je 0x140038fa0
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14025e018]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140038faa
or rax, 0xffffffffffffffff
jmp 0x14003900c
test rbx, rbx
jne 0x140038fca
lea rcx, str.PropertySheetA
call fcn.140039024
mov rbx, rax
test rax, rax
je 0x140038fd7
mov qword [0x1402695a8], rax
mov rcx, r14
call rbx
mov rdi, rax
mov qword [rsp + 0x20], rax
xor ebx, ebx
cmp rdi, 0xffffffffffffffff
sete bl
test ebx, ebx
je 0x140038fee
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140038ff0
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140039009
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x140039fec
Capabilities:
Get file system object information

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x6a0]
sub rsp, 0x7a0
mov rax, qword [0x14025f760]
xor rax, rsp
mov qword [rbp + 0x690], rax
xor ebx, ebx
mov esi, r9d
mov rdi, r8
mov r10, rdx
test rdx, rdx
je 0x14003a1d3
test r8, r8
je 0x14003a1d9
mov qword [rbp + 0x70], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x30], xmm1
mov ecx, r9d
mov qword [rsp + 0x40], rbx
test r9d, r9d
je 0x14003a191
sub ecx, 1
je 0x14003a06e
sub ecx, 1
je 0x14003a114
cmp ecx, 1
jne 0x14003a1af
mov rcx, qword [r10 + 8]
lea rdx, [rbp + 0x470]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
test eax, eax
je 0x14003a18c
xor r8d, r8d
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x470]
call fcn.14003c224
test eax, eax
je 0x14003a18c
mov rcx, qword [rdi + 8]
lea rdx, [rbp + 0x580]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
test eax, eax
je 0x14003a185
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x580]
call fcn.14003c224
test eax, eax
je 0x14003a185
cmp esi, 1
jne 0x14003a175
test byte [rbp + 0x80], 0x10
jne 0x14003a18c
test byte [rsp + 0x50], 0x10
jne 0x14003a185
mov rax, qword [rbp + 0x78]
cmp rax, qword [rsp + 0x48]
seta bl
or ecx, 0xffffffff
cmp rax, qword [rsp + 0x48]
cmovb ebx, ecx
jmp 0x14003a1af
mov rcx, qword [r10 + 8]
lea r8, [rbp + 0x300]
mov esi, 0x408
mov r9d, 0x168
xor edx, edx
mov dword [rsp + 0x20], esi
call qword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test rax, rax
je 0x14003a1af
mov rcx, qword [rdi + 8]
lea r8, [rbp + 0x190]
mov r9d, 0x168
mov dword [rsp + 0x20], esi
xor edx, edx
call qword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test rax, rax
je 0x14003a1af
lea rdx, [rbp + 0x2a4]
lea rcx, [rbp + 0x414]
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov ebx, eax
jmp 0x14003a1af
mov rax, qword [rbp + 0x68]
cmp rax, qword [rsp + 0x38]
jl 0x14003a18c
setg bl
jmp 0x14003a1af
mov ebx, 1
jmp 0x14003a1af
or ebx, 0xffffffff
jmp 0x14003a1af
mov rcx, qword [rdx]
mov r9, qword [r8 + 0x10]
mov r8, qword [rdx + 0x10]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
jns 0x14003a1ac
xor eax, eax
jmp 0x14003a1b1
movsx ebx, ax
mov eax, ebx
mov rcx, qword [rbp + 0x690]
xor rcx, rsp
call fcn.140192540
mov rbx, qword [rsp + 0x7c0]
add rsp, 0x7a0
pop rdi
pop rsi
pop rbp
ret
call fcn.14000daf0
int3
call fcn.14000daf0
int3