joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140008dfc
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x108
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x1402b9760]
xor rax, rsp
mov qword [rsp + 0xf0], rax
xor ecx, ecx
call fcn.1400417cc
mov rcx, qword [rsp + 0x110]
call fcn.1400092d0
lea rdx, str.Local_AppWizard_Generated_Applications
mov rcx, qword [rsp + 0x110]
call fcn.140043460
mov edx, 4
mov rcx, qword [rsp + 0x110]
call fcn.140040250
mov ecx, 0xf8
call fcn.1400039b8
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x140008ea4
lea rax, str.0L_
mov qword [rsp + 0x20], rax
lea r9, str.CMainFrame
lea r8, str.CSTMEditorDoc
mov edx, 0x80
mov rcx, qword [rsp + 0x38]
call fcn.14004378c
mov qword [rsp + 0x40], rax
jmp 0x140008ead
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x110]
call fcn.140043e14
mov rcx, qword [rsp + 0x110]
call fcn.14004411c
mov edx, 1
mov rcx, qword [rsp + 0x110]
call fcn.140044668
lea rcx, [rsp + 0x80]
call fcn.14003f264
nop
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x110]
call fcn.140040418
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x110]
call fcn.140044338
test eax, eax
jne 0x140008f4c
mov dword [rsp + 0x30], 0
lea rcx, [rsp + 0x80]
call fcn.14003f598
mov eax, dword [rsp + 0x30]
jmp 0x14000909b
mov edx, 5
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x40]
call fcn.14002a25c
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x40]
call fcn.1400092b0
mov edx, 1
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x40]
call fcn.140009288
call fcn.140009244
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x60], rax
mov byte [rsp + 0xd0], 0x55
mov byte [rsp + 0xd1], 0x73
mov byte [rsp + 0xd2], 0x65
mov byte [rsp + 0xd3], reloc.OLEAUT32.dll_VarBstrFromDisp
mov byte [rsp + 0xd4], 0x33
mov byte [rsp + 0xd5], 0x32
mov byte [rsp + 0xd6], 0x2e
mov byte [rsp + 0xd7], 0x64
mov byte [rsp + 0xd8], VarBstrFromDisp
mov byte [rsp + 0xd9], VarBstrFromDisp
mov byte [rsp + 0xda], 0
mov byte [rsp + 0xe0], 0x53
mov byte [rsp + 0xe1], 0x68
mov byte [rsp + 0xe2], VarBstrFromDisp
mov byte [rsp + 0xe3], 0x77
mov byte [rsp + 0xe4], 0x57
mov byte [rsp + 0xe5], 0x69
mov byte [rsp + 0xe6], VarBstrFromDisp
mov byte [rsp + 0xe7], 0x64
mov byte [rsp + 0xe8], VarBstrFromDisp
mov byte [rsp + 0xe9], 0x77
mov byte [rsp + 0xea], 0
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x68], rax
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [rsp + 0x68]
call fcn.140008da4
mov dword [rsp + 0x34], 1
lea rcx, [rsp + 0x80]
call fcn.14003f598
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401e14a0
add rsp, 0x108
ret
Function at 0x14001ac68
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
mov qword [rcx + 0xf0], rdx
mov rbp, r8
mov rdi, rdx
mov rsi, rcx
cmp rdx, 0x10000
jae 0x14001aca7
cmp dword [rcx + 0xe8], 0
jne 0x14001aca7
movzx eax, di
mov dword [rcx + 0xe8], eax
call fcn.14003bac4
mov r8d, 5
mov rdx, rdi
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r9, rbx
mov r8, rbp
mov rdx, rax
mov rcx, rsi
mov rdi, rax
call fcn.14001b05c
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov rbp, qword [rsp + 0x38]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x14001ad04
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov r14, r8
mov rbx, rdx
mov r15, rcx
xor edi, edi
call fcn.14003bac4
lea r8d, [rdi + 5]
mov rdx, rbx
mov rbp, qword [rax + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rsi, rax
test rax, rax
je 0x14001ad60
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
mov r9, rbp
mov r8, r14
mov rdx, rdi
mov rcx, r15
call fcn.14001ad98
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov rbp, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x14001ba6c
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x40
mov rdi, r9
mov rsi, r8
mov r14, rdx
mov r15, rcx
and qword [rax - 0x10], 0
and qword [rax - 0x18], 0
xor ebx, ebx
mov eax, dword [0x1404dc998]
test eax, eax
je 0x14001babe
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1404dc998]
test eax, eax
jne 0x14001bac7
call fcn.14001bbbc
test eax, eax
je 0x14001bae3
lea rdx, [rsp + 0x30]
mov rcx, qword [0x1402b8008]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x14001baeb
xor eax, eax
jmp 0x14001bb43
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8, rsi
mov rdx, r14
mov rcx, r15
call qword [sym.imp.USER32.dll_CreateDialogIndirectParamA]
mov rsi, rax
mov qword [rsp + 0x38], rax
xor ebx, ebx
test rsi, rsi
sete bl
test ebx, ebx
je 0x14001bb25
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14001bb27
xor edi, edi
mov rdx, qword [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x14001bb40
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
add rsp, 0x40
pop r15
ret

Function at 0x140021244
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
xor edi, edi
xor ebx, ebx
mov rsi, rdx
mov r14, rcx
test rdx, rdx
je 0x1400212ac
call fcn.14003bac4
mov r8d, 0xf0
mov rdx, rsi
mov rbp, qword [rax + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindResourceA]
test rax, rax
je 0x1400212ac
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rbx, rax
test rax, rax
je 0x1400212ce
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
mov rdx, rdi
mov rcx, r14
call fcn.140050270
mov esi, eax
test rdi, rdi
je 0x1400212cc
test rbx, rbx
je 0x1400212cc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, esi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x14002223c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rsi, rdx
mov rbx, rcx
test rcx, rcx
je 0x140022314
mov rcx, qword [rcx + 0x40]
test rcx, rcx
je 0x140022314
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140022314
test rsi, rsi
je 0x140022314
xor r15d, r15d
xor ebp, ebp
xor edi, edi
call fcn.14003bac4
lea r8, str.AFX_DIALOG_LAYOUT
mov rdx, rsi
mov r14, qword [rax + 0x18]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
test rax, rax
je 0x1400222e1
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdx, rsi
mov rcx, r14
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rdi, rax
test rax, rax
je 0x140022314
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbp, rax
mov r8d, r15d
mov rdx, rbp
mov rcx, rbx
call fcn.1400562a0
mov esi, eax
test rbp, rbp
je 0x140022304
test rdi, rdi
je 0x140022304
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeResource]
test esi, esi
je 0x140022310
mov rcx, rbx
call fcn.140021ea4
mov eax, esi
jmp 0x140022316
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret

Function at 0x140023478
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, rcx
mov rbx, r8
mov rcx, qword [rcx + 0x40]
call fcn.140051524
mov rdi, rax
test rax, rax
je 0x1400234f4
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov esi, eax
test rbx, rbx
je 0x1400234ef
cmp dword [rbx], 0x40
jb 0x1400234ef
mov rcx, qword [rbp + 0x40]
xor r9d, r9d
or dword [rbx + 4], 1
xor r8d, r8d
or qword [rbx + 0x30], 0xffffffffffffffff
mov edx, 0x87
mov qword [rbx + 8], rcx
mov rcx, rdi
mov qword [rbx + 0x10], rdi
call qword [sym.imp.USER32.dll_SendMessageA]
bt rax, 0xd
jb 0x1400234ef
or dword [rbx + 4], 0x80000002
mov rax, rsi
jmp 0x1400234f8
or rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140027f88
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x70
mov edi, r9d
mov rsi, r8
mov r14, rdx
mov r15d, ecx
and qword [rax - 0x10], 0
and qword [rax - 0x18], 0
xor ebx, ebx
mov eax, dword [0x1404dc998]
test eax, eax
je 0x140027fda
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1404dc998]
test eax, eax
jne 0x140027fe3
call fcn.14001bbbc
test eax, eax
je 0x140027fff
lea rdx, [rsp + 0x60]
mov rcx, qword [0x1402b8008]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x14002800a
xor eax, eax
jmp 0x1400280b8
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov r9d, edi
mov r8, rsi
mov rdx, r14
mov ecx, r15d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rsi, rax
mov qword [rsp + 0x68], rax
xor ebx, ebx
test rsi, rsi
sete bl
test ebx, ebx
je 0x14002809a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14002809c
xor edi, edi
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x1400280b5
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rsi
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
Function at 0x1400280d4
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r14
sub rsp, 0x30
mov rdi, r8
mov rsi, rdx
mov r14, rcx
and dword [rax - 0x18], 0
and qword [rax + 0x20], 0
xor ebx, ebx
mov eax, dword [0x1404dc998]
test eax, eax
je 0x14002811e
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1404dc998]
test eax, eax
jne 0x140028127
call fcn.14001bbbc
test eax, eax
je 0x140028143
lea rdx, [rsp + 0x58]
mov rcx, qword [0x1402b8008]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x14002814b
xor eax, eax
jmp 0x140028192
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.USER32.dll_GetClassInfoExA]
mov edi, eax
mov dword [rsp + 0x20], eax
xor ebx, ebx
test edi, edi
sete bl
test ebx, ebx
je 0x140028175
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140028177
xor esi, esi
mov rdx, qword [rsp + 0x58]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140028190
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret

Function at 0x1400281a8
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 [0x1404dfd88]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x1404dc998]
test eax, eax
je 0x1400281f3
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1404dc998]
test eax, eax
jne 0x1400281fc
call fcn.14001bbbc
test eax, eax
je 0x140028218
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402b8008]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140028220
xor eax, eax
jmp 0x140028285
test rbx, rbx
jne 0x140028240
lea rcx, str.InitCommonControlsEx
call fcn.140027ef4
mov rbx, rax
test rax, rax
je 0x140028253
mov qword [0x1404dfd88], rax
mov rcx, rbx
call fcn.1401e1d34
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 0x140028268
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14002826a
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140028283
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 0x1400283dc
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 [0x1404dc998]
test eax, eax
je 0x140028424
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1404dc998]
test eax, eax
jne 0x14002842d
call fcn.14001bbbc
test eax, eax
je 0x140028449
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402b8008]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne ebx, ecx
test ebx, ebx
jne 0x140028453
movzx eax, r14w
jmp 0x14002849b
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 0x14002847c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x14002847f
mov esi, r14d
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test edi, edi
je 0x140028498
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 0x1400297f0
Capabilities:
Get graphical window text

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbp
movsxd rbp, r8d
mov rsi, rdx
mov rdi, rcx
cmp qword [rcx + 0xd0], 0
jne 0x140029831
mov r8d, ebp
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x14002990e
call fcn.14001c2f4
mov r14, rax
test rax, rax
jne 0x140029849
mov ecx, 0x80004005
call fcn.140002da4
int3
mov rax, qword [rax]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call fcn.1401e1d34
mov rcx, r14
call rbx
add rax, 0x18
mov qword [rsp + 0x50], rax
mov rdi, qword [rdi + 0xd0]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x118]
mov rcx, rbx
call fcn.1401e1d34
lea rdx, [rsp + 0x50]
mov rcx, rdi
call rbx
mov rdx, rbp
or rbx, 0xffffffffffffffff
mov r9, rbx
mov r8, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1401e9f6c
test eax, eax
je 0x1400298ca
cmp eax, 0xc
je 0x1400298c4
cmp eax, 0x16
je 0x1400298be
cmp eax, 0x22
je 0x1400298be
cmp eax, 0x50
je 0x1400298ca
call fcn.14001dc1c
int3
call fcn.14001dc1c
int3
call fcn.14001dc40
int3
test rsi, rsi
jne 0x1400298d3
xor ebp, ebp
jmp 0x1400298de
mov rcx, rsi
call fcn.1401e5990
mov rbp, rax
mov rsi, qword [rsp + 0x50]
mov ecx, ebx
lock xadd dword [rsi - 8], ecx
add ecx, ebx
test ecx, ecx
jg 0x14002990c
mov rdi, qword [rsi - 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.1401e1d34
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 0x14003144c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov r15, rdx
mov r14, rcx
call fcn.14003bac4
mov r8d, 0xf1
mov rdx, r15
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor r12d, r12d
test rax, rax
jne 0x140031492
xor eax, eax
jmp 0x14003156a
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rdi, rax
test rax, rax
je 0x14003148b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x14003148b
movzx ecx, word [rax + 6]
mov eax, 4
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14001a8cc
mov rbp, rax
mov r9d, r12d
cmp r12w, word [rbx + 6]
jae 0x140031504
mov rdx, rax
lea r8, [rbx + 8]
movzx ecx, word [r8]
inc r9d
mov dword [rdx], ecx
lea r8, [r8 + 2]
movzx eax, word [rbx + 6]
lea rdx, [rdx + 4]
cmp r9d, eax
jl 0x1400314ea
movzx r8d, word [rbx + 6]
mov rdx, rbp
mov rcx, r14
call fcn.140031da4
mov rcx, rbp
mov esi, eax
call fcn.14001a8c4
test esi, esi
je 0x14003155f
movzx ecx, word [rbx + 4]
movzx eax, word [rbx + 2]
mov dword [rsp + 0x60], eax
add eax, 7
mov dword [rsp + 0x68], eax
lea eax, [rcx + 7]
mov dword [rsp + 0x64], ecx
mov r8, qword [rsp + 0x60]
mov rcx, r14
mov dword [rsp + 0x6c], eax
mov rdx, qword [rsp + 0x68]
call fcn.140031fc4
mov rdx, r15
mov rcx, r14
call fcn.1400313d0
mov esi, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, esi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret

Function at 0x140038f20
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 [0x1404dff80]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x1404dc998]
test eax, eax
je 0x140038f6b
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1404dc998]
test eax, eax
jne 0x140038f74
call fcn.14001bbbc
test eax, eax
je 0x140038f90
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402b8008]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x140038f98
xor eax, eax
jmp 0x140038ffd
test rbx, rbx
jne 0x140038fb8
lea rcx, str.GetOpenFileNameA
call fcn.140038e8c
mov rbx, rax
test rax, rax
je 0x140038fcb
mov qword [0x1404dff80], rax
mov rcx, rbx
call fcn.1401e1d34
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 0x140038fe0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140038fe2
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x140038ffb
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 0x140039014
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 [0x1404dff88]
and qword [rax + 0x10], rdi
xor esi, esi
mov eax, dword [0x1404dc998]
test eax, eax
je 0x14003905f
lea rcx, str.IsolationAware_function_called_after_IsolationAwareCleanup_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1404dc998]
test eax, eax
jne 0x140039068
call fcn.14001bbbc
test eax, eax
je 0x140039084
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1402b8008]
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, 1
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x14003908c
xor eax, eax
jmp 0x1400390f1
test rbx, rbx
jne 0x1400390ac
lea rcx, str.GetSaveFileNameA
call fcn.140038e8c
mov rbx, rax
test rax, rax
je 0x1400390bf
mov qword [0x1404dff88], rax
mov rcx, rbx
call fcn.1401e1d34
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 0x1400390d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1400390d6
xor esi, esi
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
je 0x1400390ef
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 0x140039f80
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 0x140039fd7
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x140039fe8
lea rdx, str.DeleteFileTransactedA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x140039fe8
mov rcx, rax
call fcn.1401e1d34
mov rdx, qword [rbx]
mov rcx, rdi
call rsi
jmp 0x140039fea
cmp dword [rcx + 8], 0
je 0x140039fe8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x140039fea
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x14003a34c
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 0x14003a3c1
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x14003a3d5
lea rdx, str.MoveFileTransactedA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x14003a3d5
mov rcx, rax
call fcn.1401e1d34
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 0x14003a3d7
cmp dword [rcx + 8], 0
je 0x14003a3d5
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_MoveFileA]
jmp 0x14003a3d7
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret