joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140037c9c
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rsi
push rdi
push r14
sub rsp, 0x30
mov qword [rax - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rbp, r9
mov r14, r8
mov rbx, rcx
lea rcx, [rax + 8]
call fcn.140007b48
nop
cmp rbx, 0xffffffff80000000
jne 0x140037d37
call fcn.1400363fc
cmp eax, 1
jne 0x140037d37
lea r8, [rsp + 0x50]
lea rdx, str.SoftwareClasses_
lea rcx, [rsp + 0x20]
call fcn.140018b70
nop
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000b678
nop
mov rsi, qword [rsp + 0x20]
or eax, 0xffffffff
lock xadd dword [rsi - 8], eax
sub eax, 1
jg 0x140037d30
mov rdi, qword [rsi - 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.1402829ec
lea rdx, [rsi - 0x18]
mov rcx, rdi
call rbx
mov rbx, 0xffffffff80000001
mov r9, rbp
mov r8, r14
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueW]
mov ebp, eax
mov rsi, qword [rsp + 0x50]
or ecx, 0xffffffff
lock xadd dword [rsi - 8], ecx
sub ecx, 1
jg 0x140037d7b
mov rdi, qword [rsi - 0x18]
mov r8, qword [rdi]
mov rbx, qword [r8 + 8]
mov rcx, rbx
call fcn.1402829ec
lea rdx, [rsi - 0x18]
mov rcx, rdi
call rbx
mov eax, ebp
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret

Function at 0x140037d90
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rsi
push rdi
push r14
sub rsp, 0x40
mov qword [rax - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rbp, r9
mov r14d, r8d
mov rbx, rcx
lea rcx, [rax + 8]
call fcn.140007b48
nop
cmp rbx, 0xffffffff80000000
jne 0x140037e2b
call fcn.1400363fc
cmp eax, 1
jne 0x140037e2b
lea r8, [rsp + 0x60]
lea rdx, str.SoftwareClasses_
lea rcx, [rsp + 0x30]
call fcn.140018b70
nop
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000b678
nop
mov rsi, qword [rsp + 0x30]
or eax, 0xffffffff
lock xadd dword [rsi - 8], eax
sub eax, 1
jg 0x140037e24
mov rdi, qword [rsi - 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.1402829ec
lea rdx, [rsi - 0x18]
mov rcx, rdi
call rbx
mov rbx, 0xffffffff80000001
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
mov r9, rbp
mov r8d, r14d
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueW]
mov ebp, eax
mov rsi, qword [rsp + 0x60]
or ecx, 0xffffffff
lock xadd dword [rsi - 8], ecx
sub ecx, 1
jg 0x140037e7a
mov rdi, qword [rsi - 0x18]
mov r8, qword [rdi]
mov rbx, qword [r8 + 8]
mov rcx, rbx
call fcn.1402829ec
lea rdx, [rsi - 0x18]
mov rcx, rdi
call rbx
mov eax, ebp
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret

Function at 0x140045c30
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 0x140045c62
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140045c62
lea rcx, [rdi + 0x120]
mov rdx, rbx
call fcn.14005ed34
mov eax, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140045c74
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140045c9f
mov r8, rdx
mov rdx, qword [rdi]
call fcn.140019558
jmp 0x140045d17
cmp byte [0x140479920], 0
jne 0x140045ce6
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140045cd6
lea rdx, str.RegDeleteKeyExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140479918], rax
jmp 0x140045cdd
mov rbx, qword [0x140479918]
mov byte [0x140479920], 1
jmp 0x140045ced
mov rbx, qword [0x140479918]
test rbx, rbx
je 0x140045d0b
mov rcx, rbx
call fcn.1402829ec
mov r8d, dword [rdi + 8]
xor r9d, r9d
mov rcx, qword [rdi]
mov rdx, rsi
call rbx
jmp 0x140045d17
mov rcx, qword [rdi]
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x14004fc78
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx], 0
mov rdi, rdx
mov rbx, rcx
je 0x14004fccf
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14004fce0
lea rdx, str.DeleteFileTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x14004fce0
mov rcx, rax
call fcn.1402829ec
mov rdx, qword [rbx]
mov rcx, rdi
call rsi
jmp 0x14004fce2
cmp dword [rcx + 8], 0
je 0x14004fce0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14004fce2
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x140050068
Capabilities:
Move file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
cmp qword [rcx], 0
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
je 0x1400500dd
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400500f1
lea rdx, str.MoveFileTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x1400500f1
mov rcx, rax
call fcn.1402829ec
mov rcx, qword [rbx]
xor r9d, r9d
mov qword [rsp + 0x28], rcx
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 2
mov rdx, rsi
call rdi
jmp 0x1400500f3
cmp dword [rcx + 8], 0
je 0x1400500f1
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x1400500f3
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret

Function at 0x1400503fc
Capabilities:
Delete file

Disassembly:
push rbx
sub rsp, 0x20
mov rax, rdx
mov rbx, rcx
test rdx, rdx
je 0x14005041a
mov rdx, rcx
mov rcx, rax
call fcn.14004fc78
jmp 0x140050420
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140050434
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov rdx, rbx
call fcn.14005d4d0
add rsp, 0x20
pop rbx
ret
Function at 0x14005043c
Capabilities:
Move file

Disassembly:
push rbx
sub rsp, 0x20
mov rax, r8
mov rbx, rcx
test r8, r8
je 0x14005045d
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call fcn.140050068
jmp 0x140050463
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x140050477
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov rdx, rbx
call fcn.14005d4d0
add rsp, 0x20
pop rbx
ret

Function at 0x140050ac8
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 esi, r13w
mov word [rax - 0x38], r13w
mov rbx, qword [0x140479d18]
and qword [rax + 0x20], 0
xor edi, edi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x140050b26
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x140050b2f
call fcn.140015924
test eax, eax
je 0x140050b4b
lea rdx, [rsp + 0x78]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne edi, ecx
test edi, edi
jne 0x140050b55
movzx eax, r13w
jmp 0x140050bc6
test rbx, rbx
jne 0x140050b75
lea rcx, str.GetFileTitleW
call fcn.140050a34
mov rbx, rax
test rax, rax
je 0x140050b91
mov qword [0x140479d18], rax
mov rcx, rbx
call fcn.1402829ec
movzx r8d, r14w
mov rdx, r15
mov rcx, r12
call rbx
movzx esi, ax
mov word [rsp + 0x20], ax
xor ebx, ebx
cmp si, r13w
sete bl
test ebx, ebx
je 0x140050ba8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x140050baa
xor edi, edi
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140050bc3
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
movzx eax, si
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 0x140058050
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 0x140058079
mov rdi, qword [rdx + 0x10]
jmp 0x1400580ca
mov rdx, qword [rdx + 0x10]
mov r8d, 5
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdi, rax
test rax, rax
jne 0x14005809a
call fcn.14001bd88
mov rcx, qword [rbx + 8]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rdi, rax
test rax, rax
jne 0x1400580b4
call fcn.14001bd88
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
test rax, rax
jne 0x1400580ca
call fcn.14001bd88
call fcn.140036380
cmp qword [rax + 0x68], 0
je 0x1400580e4
mov rdx, rdi
mov rcx, rbp
call fcn.1400572d8
mov rdi, rax
mov edx, esi
mov rcx, rdi
call fcn.14005849c
mov rcx, qword [rbp + 0xf8]
mov rsi, rax
test rcx, rcx
je 0x14005810b
call qword [sym.imp.KERNEL32.dll_GlobalFree]
and qword [rbp + 0xf8], 0
test rsi, rsi
je 0x14005811a
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 0x140058630
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 [0x140479d38]
and qword [rax + 8], rbx
xor esi, esi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x14005867c
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x140058685
call fcn.140015924
test eax, eax
je 0x1400586a1
lea rdx, [rsp + 0x40]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x1400586ac
xor eax, eax
jmp 0x14005873b
test r14, r14
jne 0x1400586c9
lea rcx, str.CreatePropertySheetPageW
call fcn.140058948
test rax, rax
je 0x140058706
mov qword [0x140479d38], rax
mov eax, dword [rdi + 4]
mov ecx, 0x4000
test ecx, eax
jne 0x1400586ea
cmp dword [rdi], 0x60
jb 0x1400586ea
or eax, ecx
mov dword [rdi + 4], eax
mov rax, qword [0x14046a4b0]
mov qword [rdi + 0x58], rax
mov rbx, qword [0x140479d38]
mov rcx, rbx
call fcn.1402829ec
mov rcx, rdi
call rbx
mov rbx, rax
mov qword [rsp + 0x20], rax
xor edi, edi
test rbx, rbx
sete dil
test edi, edi
je 0x14005871d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14005871f
xor esi, esi
mov rdx, qword [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test edi, edi
je 0x140058738
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 0x140058754
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 [0x140479d40]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x14005879f
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x1400587a8
call fcn.140015924
test eax, eax
je 0x1400587c4
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x1400587cc
xor eax, eax
jmp 0x140058831
test rbx, rbx
jne 0x1400587ec
lea rcx, str.DestroyPropertySheetPage
call fcn.140058948
mov rbx, rax
test rax, rax
je 0x1400587ff
mov qword [0x140479d40], rax
mov rcx, rbx
call fcn.1402829ec
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 0x140058814
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140058816
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14005882f
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 0x140058848
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 [0x140479d48]
and qword [rax + 0x10], 0
xor esi, esi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x140058897
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x1400588a0
call fcn.140015924
test eax, eax
je 0x1400588bc
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x1400588c6
or rax, 0xffffffffffffffff
jmp 0x140058930
test rbx, rbx
jne 0x1400588e6
lea rcx, str.PropertySheetW
call fcn.140058948
mov rbx, rax
test rax, rax
je 0x1400588fb
mov qword [0x140479d48], rax
mov rcx, rbx
call fcn.1402829ec
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 0x140058912
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140058914
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14005892d
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 0x14005c124
Capabilities:
Delete registry value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x40
and dword [rax - 0x20], 0
lea r8, str.SoftwareMicrosoftWindowsCurrentVersionPreviewHandlers
and qword [rax - 0x18], 0
mov rdi, rcx
mov rdx, 0xffffffff80000002
lea rcx, [rax - 0x28]
mov r9d, 0x2001f
mov qword [rax - 0x28], rdx
call fcn.140046fa0
test eax, eax
jne 0x14005c189
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp qword [rsp + 0x20], 0
je 0x14005c184
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
and qword [rsp + 0x20], 0
and dword [rsp + 0x28], 0
mov r9d, 0x2001f
lea r8, str.CLSID
mov rdx, 0xffffffff80000000
lea rcx, [rsp + 0x20]
call fcn.140046fa0
test eax, eax
jne 0x14005c1cc
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.14005c214
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14005c1dc
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
jmp 0x14005c1d1
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14005c1dc
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
add rsp, 0x40
pop rdi
ret

Function at 0x14005e740
Capabilities:
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx], 0
mov esi, r8d
mov rbp, rdx
mov rbx, rcx
je 0x14005e7a1
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14005e7b4
lea rdx, str.SetFileAttributesTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x14005e7b4
mov rcx, rax
call fcn.1402829ec
mov r8, qword [rbx]
mov edx, esi
mov rcx, rbp
call rdi
jmp 0x14005e7b6
cmp dword [rcx + 8], 0
je 0x14005e7b4
mov edx, esi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x14005e7b6
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x14006ef80
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 [0x140479ec8]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x14006efcb
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x14006efd4
call fcn.140015924
test eax, eax
je 0x14006eff0
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x14006eff8
xor eax, eax
jmp 0x14006f05d
test rbx, rbx
jne 0x14006f018
lea rcx, str.GetOpenFileNameW
call fcn.140050a34
mov rbx, rax
test rax, rax
je 0x14006f02b
mov qword [0x140479ec8], rax
mov rcx, rbx
call fcn.1402829ec
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 0x14006f040
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14006f042
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14006f05b
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 0x14006f074
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 [0x140479ed0]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x14006f0bf
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x14006f0c8
call fcn.140015924
test eax, eax
je 0x14006f0e4
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x14006f0ec
xor eax, eax
jmp 0x14006f151
test rbx, rbx
jne 0x14006f10c
lea rcx, str.GetSaveFileNameW
call fcn.140050a34
mov rbx, rax
test rax, rax
je 0x14006f11f
mov qword [0x140479ed0], rax
mov rcx, rbx
call fcn.1402829ec
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 0x14006f134
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14006f136
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14006f14f
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 0x140096b10
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 [0x14047a2f8]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x140096b5b
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x140096b64
call fcn.140015924
test eax, eax
je 0x140096b80
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140096b88
xor eax, eax
jmp 0x140096bed
test rbx, rbx
jne 0x140096ba8
lea rcx, str.ImageList_DrawIndirect
call fcn.140020fc0
mov rbx, rax
test rax, rax
je 0x140096bbb
mov qword [0x14047a2f8], rax
mov rcx, rbx
call fcn.1402829ec
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 0x140096bd0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140096bd2
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140096beb
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 0x140096c04
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 qword [rax - 0x18], rdi
mov rbx, qword [0x14047a300]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x140475fd0]
test eax, eax
je 0x140096c50
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140475fd0]
test eax, eax
jne 0x140096c59
call fcn.140015924
test eax, eax
je 0x140096c75
lea rdx, [rsp + 0x48]
mov rcx, qword [0x14046a4b0]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140096c7d
xor eax, eax
jmp 0x140096ce6
test rbx, rbx
jne 0x140096c9d
lea rcx, str.ImageList_Duplicate
call fcn.140020fc0
mov rbx, rax
test rax, rax
je 0x140096cb2
mov qword [0x14047a300], rax
mov rcx, rbx
call fcn.1402829ec
mov rcx, r14
call rbx
mov rdi, rax
mov qword [rsp + 0x20], rax
xor ebx, ebx
test rdi, rdi
sete bl
test ebx, ebx
je 0x140096cc8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140096cca
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140096ce3
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