joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140083b54
Capabilities:
Get token membership

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x20
and qword [rbp + 0x38], 0
mov rdi, rdx
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoImpersonateClient]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jns 0x140083b9a
mov rcx, qword [rbp + 0x18]
lea r8, str.onecoreuap_base_appmodel_search_searchindexer_apiwsstoreregistrationendpoint.cxx
mov r9d, eax
mov edx, 0x1db
call fcn.1400205b4
jmp 0x140083c89
xor edx, edx
lea rcx, [rbp + 0x38]
call fcn.14001bec0
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThread]
nop dword [rax + rax]
mov edx, SafeArrayGetDim
lea r9, [rbp + 0x38]
mov rcx, rax
lea r8d, [rdx - 0xb]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_OpenThreadToken]
nop dword [rax + rax]
test eax, eax
jne 0x140083bf9
mov rcx, qword [rbp + 0x18]
lea r8, str.onecoreuap_base_appmodel_search_searchindexer_apiwsstoreregistrationendpoint.cxx
mov edx, 0x1de
call fcn.14003e494
mov ebx, eax
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoRevertToSelf]
nop dword [rax + rax]
jmp 0x140083c89
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoRevertToSelf]
nop dword [rax + rax]
and qword [rbp + 0x30], 0
lea rdx, [rbp + 0x30]
mov rcx, rdi
call qword [sym.imp.api_ms_win_security_sddl_l1_1_0.dll_ConvertStringSidToSidW]
nop dword [rax + rax]
test eax, eax
jne 0x140083c3a
mov edx, 0x1e2
mov rcx, qword [rbp + 0x18]
lea r8, str.onecoreuap_base_appmodel_search_searchindexer_apiwsstoreregistrationendpoint.cxx
call fcn.14003e494
mov ebx, eax
jmp 0x140083c80
mov rdx, qword [rbp + 0x30]
lea r8, [rbp + 0x20]
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.api_ms_win_security_base_l1_1_0.dll_CheckTokenMembership]
nop dword [rax + rax]
test eax, eax
jne 0x140083c5d
mov edx, 0x1e5
jmp 0x140083c26
cmp dword [rbp + 0x20], 0
jne 0x140083c96
mov rcx, qword [rbp + 0x18]
lea r8, str.onecoreuap_base_appmodel_search_searchindexer_apiwsstoreregistrationendpoint.cxx
mov ebx, 0x80070005
mov edx, 0x1e7
mov r9d, ebx
call fcn.1400205b4
lea rcx, [rbp + 0x30]
call fcn.140064e8c
lea rcx, [rbp + 0x38]
call fcn.140024490
mov eax, ebx
jmp 0x140083cc7
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140083cab
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x38]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140083cc5
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
xor eax, eax
add rsp, 0x20
pop rdi
pop rbx
pop rbp
ret
Function at 0x140083d40
Capabilities:
Get token membership

Disassembly:
push rbx
sub rsp, 0x90
mov rax, qword [0x1400dc7b8]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rbx, r8
mov dword [rsp + 0x20], 0x44
mov ecx, edx
lea r8, [rsp + 0x30]
xor edx, edx
lea r9, [rsp + 0x20]
call qword [sym.imp.api_ms_win_security_base_l1_1_0.dll_CreateWellKnownSid]
nop dword [rax + rax]
test eax, eax
jne 0x140083d8d
call fcn.14001bdc0
test eax, eax
js 0x140083dc2
lea r8, [rsp + 0x24]
mov rcx, rbx
lea rdx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_security_base_l1_1_0.dll_CheckTokenMembership]
nop dword [rax + rax]
test eax, eax
jne 0x140083db3
call fcn.14001bdc0
test eax, eax
js 0x140083dc2
mov eax, dword [rsp + 0x24]
neg eax
sbb eax, eax
not eax
and eax, 0x80070005
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140024990
add rsp, 0x90
pop rbx
ret
Function at 0x140085e08
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x290
mov rax, qword [0x1400dc7b8]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, r8
mov rdi, rdx
mov edx, ecx
lea rcx, [rsp + 0xe0]
lea rax, str.GROUP_ON_System.ConnectedSearch.ApplicationSearchScope_AGGREGATE_CHILDCOUNT___OVER_SELECT_System.ConnectedSearch.ApplicationSearchScope_FROM_SystemIndex_WHERE__s_System.ConnectedSearch.ItemSource___d_
mov r9d, 3
lea r8d, [r9 + 0x7d]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub r9, 1
jne 0x140085e46
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x10], eax
movups xmm0, xmmword [str.SCOPE__winrt:___AND]
movups xmmword [rsp + 0xa8], xmm0
movups xmm1, xmmword [0x1400c0268]
movups xmmword [rsp + 0xb8], xmm1
movsd xmm0, qword [0x1400c0278]
movsd qword [rsp + 0xc8], xmm0
mov eax, dword [0x1400c0280]
mov dword [rsp + 0xd0], eax
movzx eax, word [0x1400c0284]
mov word [rsp + 0xd4], ax
and qword [rsp + 0x40], r9
and qword [rsp + 0x48], r9
and qword [rsp + 0x50], r9
lea rax, [0x1400b3ad4]
lea r8, [rsp + 0xa8]
cmp edx, 1
cmovne r8, rax
mov r9d, edx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x40]
call fcn.140085538
mov ebx, eax
test eax, eax
js 0x140085fed
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140084cb8
nop
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
lea rax, [rsp + 0x28]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x38], rax
lea rax, [0x1400aeb00]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsp + 0x70], xmm0
lea rax, [rsp + 0x68]
mov qword [rsp + 0xa0], rax
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140084fe8
mov rdx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rax]
cmp rcx, rax
jb 0x140085fab
xor r9d, r9d
jmp 0x140085fb5
or rcx, 0xffffffffffffffff
mov r9d, 0x80070216
mov rax, qword [rsp + 0x2a8]
test r9d, r9d
jns 0x140085fd6
lea r8, str.onecoreuap_base_appmodel_search_searchindexer_apiwsstorestatisticsendpoint.cxx
mov edx, 0xf6
mov rcx, rax
call fcn.1400654f4
mov qword [rdi], rcx
mov qword [rsi], rdx
lea rcx, [rsp + 0x60]
call fcn.140002004
nop
jmp 0x140085fed
lea rcx, [rsp + 0x40]
call fcn.140045f90
mov eax, ebx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140024990
add rsp, 0x290
pop rdi
pop rsi
pop rbx
ret
Function at 0x14008606c
Capabilities:
Reference sql statements

Disassembly:
push rbx
sub rsp, 0x260
mov rax, qword [0x1400dc7b8]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov rbx, rdx
mov r9d, ecx
lea rcx, [rsp + 0xd0]
lea rax, str.GROUP_ON_System.AppUserModel.PackageFamilyName_AGGREGATE_CHILDCOUNT___OVER_SELECT_System.AppUserModel.PackageFamilyName_FROM_SystemIndex_WHERE__s_System.ConnectedSearch.ItemSource___d_
mov edx, 0x80
lea r8d, [rdx - 0x7e]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, rdx
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, rdx
sub r8, 1
jne 0x1400860a5
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
movups xmm0, xmmword [str.SCOPE__winrt:___AND]
movups xmmword [rsp + 0x98], xmm0
movups xmm1, xmmword [0x1400c0268]
movups xmmword [rsp + 0xa8], xmm1
movsd xmm0, qword [0x1400c0278]
movsd qword [rsp + 0xb8], xmm0
mov eax, dword [0x1400c0280]
mov dword [rsp + 0xc0], eax
movzx eax, word [0x1400c0284]
mov word [rsp + 0xc4], ax
and qword [rsp + 0x28], r8
and qword [rsp + 0x30], r8
and qword [rsp + 0x38], r8
lea rax, [0x1400b3ad4]
lea r8, [rsp + 0x98]
cmp r9d, 1
cmovne r8, rax
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x28]
call fcn.140085538
test eax, eax
js 0x140086208
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.140084cb8
nop
and qword [rsp + 0x20], 0
lea rax, [0x1400aeb88]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x90], rax
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140084fe8
nop
lea rcx, [rsp + 0x48]
call fcn.140002004
nop
jmp 0x140086208
lea rcx, [rsp + 0x28]
call fcn.140045f90
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.140024990
add rsp, 0x260
pop rbx
ret
Function at 0x140087f80
Capabilities:
Check mutex on windows

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x210
mov r14, rcx
xor edi, edi
lea rdx, str.SystemIndex
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x1400881fc
lea r8d, [rdi + 7]
lea rdx, [0x1400b3940]
mov rcx, qword [r14 + 0x28]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x1400881fc
lea r8, str.CSM_Policy_Key_Mutex
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateMutexW]
nop dword [rax + rax]
mov rbx, rax
mov qword [rsp + 0x30], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x1400881c8
or edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
nop dword [rax + rax]
nop
lea rcx, [rsp + 0x60]
call fcn.140009080
nop
and qword [rsp + 0x38], rdi
and qword [rsp + 0x40], rdi
and qword [rsp + 0x48], rdi
and dword [rsp + 0x50], edi
lea rdx, [0x1400dd9d8]
lea rcx, [rsp + 0x258]
call fcn.140019a9c
nop
lea rdx, str.DefaultIndexedPaths
lea rcx, [rsp + 0x250]
call fcn.140012fc0
nop
lea rdx, [0x1400b3ad4]
lea rcx, [rsp + 0x248]
call fcn.140012fc0
nop
lea rdx, str.SoftwareMicrosoftWindows_SearchCurrentPolicies
lea rcx, [rsp + 0x240]
call fcn.140012fc0
nop
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x258]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x250]
lea r8, [rsp + 0x248]
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x60]
call fcn.140009280
nop
mov rcx, qword [rsp + 0x240]
add rcx, 0xffffffffffffffe8
call fcn.140016110
nop
mov rcx, qword [rsp + 0x248]
add rcx, 0xffffffffffffffe8
call fcn.140016110
nop
mov rcx, qword [rsp + 0x250]
add rcx, 0xffffffffffffffe8
call fcn.140016110
nop
mov rcx, qword [rsp + 0x258]
add rcx, 0xffffffffffffffe8
call fcn.140016110
nop
lea rcx, [rsp + 0x38]
call fcn.14000f478
lea rcx, [rsp + 0x60]
call fcn.140008f90
mov r15d, dword [rax + 8]
xor esi, esi
test edi, edi
js 0x1400881ab
cmp esi, r15d
jae 0x1400881ab
and qword [rsp + 0x248], 0
lea rcx, [rsp + 0x60]
call fcn.140088fd0
mov edx, esi
mov rcx, rax
call fcn.1400877d8
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x240]
lea r8, [rsp + 0x248]
mov rdx, qword [rax]
mov rcx, r14
call fcn.140088cf0
test eax, eax
js 0x140088197
cmp qword [rsp + 0x248], 0
jne 0x140088197
lea r8, [rsp + 0x248]
movzx edx, word [rsp + 0x240]
mov rcx, r14
call fcn.1400882dc
mov edi, eax
lea rcx, [rsp + 0x248]
call fcn.14000376c
inc esi
jmp 0x140088123
lea rcx, [rsp + 0x60]
call fcn.140009034
nop
jmp 0x1400881e3
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jle 0x1400881e3
movzx edi, ax
or edi, 0x80070000
lea rcx, [rbx - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1400881fc
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
mov eax, edi
add rsp, 0x210
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400934a4
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
jmp 0x14009365a
cmp ecx, 0x7c
je 0x140093663
cmp ecx, 0x29
jne 0x1400934f8
cmp dword [rbx + 0x1c], 0
jne 0x140093663
lea rdi, [rbx + 0x80]
test dword [rdi], 0x10000000
jne 0x140093600
mov ecx, 5
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
nop dword [rax + rax]
int3
lea rdi, [rbx + 0x80]
cmp ecx, 0x2e
jne 0x14009351f
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140095c30
mov rcx, rbx
call fcn.140095c84
jmp 0x14009364d
cmp ecx, 0x5c
jne 0x14009357f
mov rcx, rbx
call fcn.140095c84
test byte [rdi], 0x80
je 0x140093572
cmp word [rbx + 0x78], 0x62
jne 0x140093553
mov edx, 4
lea rcx, [rbx + 0x40]
call fcn.140095c30
mov rcx, rbx
call fcn.140095c84
jmp 0x140093655
cmp word [rbx + 0x78], 0x42
jne 0x140093572
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140095c30
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
jmp 0x140093546
mov rcx, rbx
call fcn.140093688
jmp 0x14009364d
cmp ecx, 0x5b
jne 0x1400935b0
mov rcx, rbx
call fcn.140095c84
mov rcx, rbx
call fcn.140093df4
cmp dword [rbx + 0x7c], 0x5d
je 0x140093512
mov ecx, 4
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
nop dword [rax + rax]
int3
cmp ecx, 0x28
jne 0x1400935d4
mov rcx, rbx
call fcn.140095c84
mov rcx, rbx
call fcn.1400960ec
cmp dword [rbx + 0x7c], 0x29
mov dil, al
jne 0x1400934e6
jmp 0x140093640
cmp ecx, 0x5e
jne 0x1400935e1
lea edx, [rcx - 0x5c]
jmp 0x14009353d
cmp ecx, 0x24
jne 0x1400935ee
lea edx, [rcx - 0x21]
jmp 0x14009353d
cmp ecx, 0x3f
je 0x14009366f
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14009366f
cmp ecx, 0x7b
je 0x14009366f
cmp ecx, 0x7d
jne 0x14009361f
test dword [rdi], 0x10000000
jne 0x140093630
mov ecx, 6
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
nop dword [rax + rax]
int3
cmp ecx, 0x5d
jne 0x140093630
test dword [rdi], 0x10000000
je 0x14009359e
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140092ca4
mov dil, 1
mov rcx, rbx
call fcn.140095c84
test dil, dil
je 0x140093655
mov rcx, rbx
call fcn.140095cc4
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1400934bb
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 0xa
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
nop dword [rax + rax]
int3
Function at 0x1400a48d8
Capabilities:
Query or enumerate registry key

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x50
cmp qword [rcx], 0
lea rbx, [rcx + 8]
mov rsi, rdx
mov dword [rax - 0x18], 0x104
mov rdi, rcx
jne 0x1400a4934
and dword [rbx], 0
lea r8, str.SOFTWAREMicrosoftWindows_SearchCatalogListApplications
and qword [rcx], 0
mov rdx, 0xffffffff80000002
mov qword [rax - 0x30], rcx
mov dword [rax - 0x38], 9
call fcn.14001ec30
test eax, eax
jle 0x1400a4932
movzx eax, ax
or eax, 0x80070000
test eax, eax
js 0x1400a4987
and qword [rsp + 0x38], 0
lea r9, [rsp + 0x40]
and qword [rsp + 0x30], 0
mov r8, rsi
and qword [rsp + 0x28], 0
mov edx, dword [rbx]
mov rcx, qword [rdi]
and qword [rsp + 0x20], 0
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegEnumKeyExW]
nop dword [rax + rax]
cmp eax, 0x103
jne 0x1400a4973
mov eax, 1
jmp 0x1400a4987
test eax, eax
je 0x1400a4983
jle 0x1400a4987
movzx eax, ax
or eax, 0x80070000
jmp 0x1400a4987
xor eax, eax
inc dword [rbx]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
Function at 0x1400a72e4
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r14
sub rsp, 0x350
mov rax, qword [0x1400dc7b8]
xor rax, rsp
mov qword [rsp + 0x340], rax
mov rsi, rcx
xor r14d, r14d
mov byte [rsp + 0x30], r14b
mov edi, 0x104
mov edx, edi
lea rcx, [r11 - 0x228]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemDirectoryW]
nop dword [rax + rax]
test eax, eax
sete al
mov rcx, qword [rsp + 0x358]
test al, al
je 0x1400a7353
lea r8, [0x1400b5470]
lea edx, [rdi - 0x2a]
call fcn.14005e350
mov rdx, rdi
lea rax, [rsp + 0x130]
mov ebx, 1
cmp word [rax], r14w
je 0x1400a7372
add rax, 2
sub rdx, rbx
jne 0x1400a7363
mov rax, rdx
mov rcx, rdi
sub rcx, rdx
neg rax
sbb r8, r8
and r8, rcx
mov rax, rdx
neg rax
sbb r9d, r9d
not r9d
and r9d, 0x80070057
test rdx, rdx
je 0x1400a73fb
sub rdi, r8
lea rcx, [rsp + 0x130]
lea rcx, [rcx + r8*2]
je 0x1400a73dc
mov eax, 0x7ffffffe
lea rdx, str.propsys.dll
sub rdx, rcx
test rax, rax
je 0x1400a73dc
movzx r8d, word [rdx + rcx]
test r8w, r8w
je 0x1400a73dc
mov word [rcx], r8w
add rcx, 2
sub rax, rbx
sub rdi, rbx
jne 0x1400a73bc
lea rax, [rcx - 2]
test rdi, rdi
cmovne rax, rcx
mov word [rax], r14w
neg rdi
sbb r9d, r9d
not r9d
and r9d, 0x8007007a
mov rcx, qword [rsp + 0x358]
test r9d, r9d
jns 0x1400a7419
lea r8, [0x1400b5470]
mov edx, 0xdb
call fcn.1400654f4
lea r8, [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x130]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x358]
test eax, eax
jne 0x1400a7451
lea r8, [0x1400b5470]
mov edx, 0xde
call fcn.14005e350
mov r9d, 0x20019
lea r8, str.SOFTWAREMicrosoftWindows_Search
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x70]
call fcn.1400674f0
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], 8
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x40]
lea rdx, [0x1400b49f8]
lea rcx, [rsp + 0x70]
call fcn.140067e04
test eax, eax
je 0x1400a74c4
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x38]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CompareFileTime]
nop dword [rax + rax]
test eax, eax
jne 0x1400a74c4
mov bl, r14b
jmp 0x1400a74d1
mov eax, dword [rsp + 0x5c]
mov dword [rsi], eax
mov eax, dword [rsp + 0x60]
mov dword [rsi + 4], eax
mov byte [rsp + 0x30], bl
lea rcx, [rsp + 0x70]
call fcn.140012204
nop
jmp 0x1400a74e6
mov al, bl
mov rcx, qword [rsp + 0x340]
xor rcx, rsp
call fcn.140024990
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x1400a9220
Capabilities:
Print debug messages

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x68
mov rax, qword [0x1400dc7b8]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbp, r9
mov esi, r8d
mov rdi, rdx
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
nop dword [rax + rax]
test eax, eax
je 0x1400a929c
mov qword [rsp + 0x28], rbp
lea rdx, str._s__u___s_:__s
mov r9d, esi
mov qword [rsp + 0x20], rbx
mov r8, rdi
lea rcx, [rsp + 0x30]
call fcn.1400a92bc
cmp qword [rsp + 0x48], 8
lea rcx, [rsp + 0x30]
cmovae rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.14001b288
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140024990
add rsp, 0x68
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x405e90
Capabilities:
Accept command line arguments

Disassembly:
push rbp
sub rsp, 0x40
mov rbp, rsp
mov qword [rbp + 0x38], 0
nop
xor rax, rax
mov dword [rbp + 0x2c], eax
call sub.kernel32.dll_GetCommandLineW
mov rcx, rax
lea rdx, [rbp + 0x38]
call fcn.00405da0
mov rcx, rax
lea rdx, [rbp + 0x38]
call fcn.00405da0
cmp qword [rbp + 0x38], 0
je 0x405ed6
mov ecx, dword [rbp + 0x2c]
add ecx, 1
mov dword [rbp + 0x2c], ecx
jmp 0x405eb8
nop
nop
lea rcx, [rbp + 0x38]
call fcn.0040a820
mov eax, dword [rbp + 0x2c]
lea rsp, [rbp + 0x40]
pop rbp
ret

Function at 0x408820
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbp
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbp, rsp
mov qword [rbp + 0x28], rcx
mov ebx, edx
mov rax, qword [rbp + 0x28]
mov r13d, dword [rax + 0x18]
mov rcx, qword [rbp + 0x28]
call fcn.00408b70
mov esi, eax
test sil, sil
jne 0x4089e2
test ebx, ebx
je 0x4089e2
xor rdi, rdi
test r13d, r13d
jle 0x408907
call sub.kernel32.dll_GetTickCount
mov r14d, eax
mov dword [rbp + 0x3c], 0
test r13d, r13d
jle 0x4088e6
cmp ebx, 0xffffffff
je 0x408893
call sub.kernel32.dll_GetTickCount
sub eax, r14d
cmp eax, ebx
jb 0x408893
xor rsi, rsi
jmp 0x4089e2
mov rax, qword [rbp + 0x28]
cmp dword [rax], 1
jg 0x4088e6
mov rax, qword [rbp + 0x28]
cmp dword [rax], 0
jne 0x4088d4
xor eax, eax
mov ecx, 1
mov rdx, qword [rbp + 0x28]
lock cmpxchg dword [rdx], ecx
test eax, eax
jne 0x4088d4
call sub.kernel32.dll_GetCurrentThreadId
mov rcx, qword [rbp + 0x28]
mov dword [rcx + 8], eax
mov dword [rcx + 4], 1
mov sil, 1
jmp 0x4089e2
lea rcx, [rbp + 0x3c]
call fcn.004084f0
sub r13d, 1
test r13d, r13d
jg 0x40887a
nop
cmp ebx, 0xffffffff
je 0x408907
call sub.kernel32.dll_GetTickCount
mov ecx, eax
sub ecx, r14d
cmp ecx, ebx
jb 0x408902
xor rsi, rsi
jmp 0x4089e2
sub eax, r14d
sub ebx, eax
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax]
test ecx, ecx
je 0x40883d
mov edx, ecx
add edx, 2
mov eax, ecx
mov r8, qword [rbp + 0x28]
lock cmpxchg dword [r8], edx
cmp eax, ecx
jne 0x408907
nop
call sub.kernel32.dll_GetTickCount
mov r14d, eax
mov rcx, qword [rbp + 0x28]
call fcn.00408a90
xor rcx, rcx
mov rdx, rax
mov r8d, ebx
mov rax, qword [0x004959a0]
call qword [rax + 0x20]
test eax, eax
sete sil
cmp ebx, 0xffffffff
je 0x408971
call sub.kernel32.dll_GetTickCount
mov ecx, eax
sub ecx, r14d
cmp ecx, ebx
jae 0x40896e
sub eax, r14d
sub ebx, eax
jmp 0x408971
xor rbx, rbx
test sil, sil
je 0x4089a3
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax]
mov eax, ecx
test eax, 1
jne 0x4089a0
mov edx, ecx
sub edx, 2
or edx, 1
mov eax, ecx
mov r8, qword [rbp + 0x28]
lock cmpxchg dword [r8], edx
cmp eax, ecx
jne 0x408976
mov dil, 1
nop
jmp 0x4089c0
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax]
mov edx, ecx
sub edx, 2
mov eax, ecx
mov r8, qword [rbp + 0x28]
lock cmpxchg dword [r8], edx
cmp eax, ecx
jne 0x4089a3
mov dil, 1
test dil, dil
je 0x40892a
nop
test sil, sil
je 0x4089e2
call sub.kernel32.dll_GetCurrentThreadId
mov rcx, qword [rbp + 0x28]
mov dword [rcx + 8], eax
mov dword [rcx + 4], 1
mov eax, esi
lea rsp, [rbp + 0x48]
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop rbp
ret
Function at 0x40a370
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x40
cmp byte [0x004950a8], 0
je 0x40a40e
cmp word [0x004953b8], 0xd7b2
jne 0x40a3a3
cmp dword [0x004953c0], 0
jbe 0x40a3a3
lea rcx, [0x004953b0]
call qword [0x004953d8]
mov ecx, 0xfffffff5
call sub.kernel32.dll_GetStdHandle
mov rcx, rax
lea rdx, [0x00485754]
mov r8d, 0x25
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x20], 0
call sub.kernel32.dll_WriteFile
mov ecx, 0xfffffff5
call sub.kernel32.dll_GetStdHandle
mov rbx, rax
lea rcx, [0x0040a444]
call fcn.0040b680
mov rcx, rbx
mov rdx, rax
mov r8d, 2
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x20], 0
call sub.kernel32.dll_WriteFile
jmp 0x40a430
cmp byte [0x00484052], 0
jne 0x40a430
xor rcx, rcx
lea rdx, [0x00485754]
lea r8, [0x00485664]
xor r9, r9
call sub.user32.dll_MessageBoxA
add rsp, 0x40
pop rbx
ret

Function at 0x40d7d0
Capabilities:
Check os version

Disassembly:
sub rsp, 0x28
lea rcx, [0x00499c90]
call sub.kernel32.dll_InitializeCriticalSection
mov word [0x00499cb8], 0x7f
call sub.kernel32.dll_GetVersion
and eax, 0xff
cmp eax, 6
setae al
mov byte [0x00499c88], al
cmp byte [0x00499c88], 0
je 0x40d86f
lea rcx, [0x0040d874]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0040d88e]
call sub.kernel32.dll_GetProcAddress
mov qword [0x00499c70], rax
lea rcx, [0x0040d874]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0040d8ac]
call sub.kernel32.dll_GetProcAddress
mov qword [0x00499c78], rax
lea rcx, [0x0040d874]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0040d8ca]
call sub.kernel32.dll_GetProcAddress
mov qword [0x00499c80], rax
add rsp, 0x28
ret