joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400037b0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140006a40]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x1400037d0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x1400037d8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x1400037d0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x14000382d
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x140003824
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x1400037d0
add rax, 0x28
cmp rax, r9
jne 0x140003810
xor eax, eax
ret

Function at 0x140003830
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140006a40]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x14000384f
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x140003858
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x14000384f
movzx ecx, word [rax + 6]
mov eax, ecx
ret

Function at 0x1400038f0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140006a40]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x14000390f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x140003918
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret
Function at 0x140039cc0
Capabilities:
Get file version info

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x98], rax
cmp byte [rdx + 0x17], 0
mov rcx, rdx
jns 0x140039cf1
mov rcx, qword [rbx]
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
je 0x140039de5
mov ebp, eax
mov ecx, eax
call fcn.14015371c
mov rdi, rax
cmp byte [rbx + 0x17], 0
jns 0x140039d15
mov rbx, qword [rbx]
mov rcx, rbx
xor edx, edx
mov r8d, ebp
mov r9, rdi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x140039de5
movabs r14, 0xaaaaaaaaaaaaaaaa
lea r8, [rsp + 0x38]
mov qword [r8], r14
lea r9, [rsp + 0x34]
mov dword [r9], 0xaaaaaaaa
lea rdx, str.VarFileInfoTranslation
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x140039de5
cmp dword [rsp + 0x34], 3
jbe 0x140039de5
mov rax, qword [rsp + 0x38]
movzx r8d, word [rax]
movzx r9d, word [rax + 2]
movaps xmm0, xmmword [0x1402184a0]
lea rbx, [rsp + 0x40]
movaps xmmword [rbx + 0x40], xmm0
movaps xmmword [rbx + 0x30], xmm0
movaps xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
lea rdx, str.StringFileInfo_04x_04xInternalName
mov rcx, rbx
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rsp + 0x28]
mov qword [r8], r14
lea r9, [rsp + 0x24]
mov dword [r9], 0xaaaaaaaa
mov rcx, rdi
mov rdx, rbx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x140039de5
mov r8d, dword [rsp + 0x24]
test r8d, r8d
je 0x140039de5
dec r8d
mov rdx, qword [rsp + 0x28]
mov rcx, rsi
call fcn.140039e20
jmp 0x140039df3
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1401542e0
mov rax, rsi
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
Function at 0x14003b7c0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rbx, r9
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x58], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x40]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [0x1402184a0]
movaps xmmword [rcx], xmm0
lea rdx, str.GROUP:
call fcn.140191c90
test rdi, rdi
je 0x14003b971
mov rcx, rdi
call fcn.14017bde0
lea r15, [rsp + 0x40]
mov rcx, r15
mov rdx, rdi
mov r8, rax
call fcn.140103db0
lea rdx, str.__NAME:
mov r8d, 8
mov rcx, r15
call fcn.140103db0
test r14, r14
je 0x14003b971
mov rcx, r14
call fcn.14017bde0
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, r14
mov r8, rax
call fcn.140103db0
lea rdx, str.__DURATION:
mov r8d, SafeArrayDestroy
mov rcx, rdi
call fcn.140103db0
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14003b8e6
sub rdx, qword [rbx]
lea rbx, [rsp + 0x28]
mov rcx, rbx
call fcn.14009b0f0
movzx r8d, byte [rbx + 0x17]
test r8b, r8b
js 0x14003b8aa
and r8d, 0x7f
jmp 0x14003b8b4
mov r8, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140103db0
cmp byte [rsp + 0x3f], 0
jns 0x14003b8d2
mov rcx, qword [rsp + 0x28]
call fcn.1401536dc
lea rdx, str.__us_
lea rcx, [rsp + 0x40]
mov r8d, 5
jmp 0x14003b8f8
lea rdx, str.unknown_unfinished
lea rcx, [rsp + 0x40]
mov r8d, shutdown
call fcn.140103db0
lea rdx, [0x140218cb3]
mov r8d, 2
mov rcx, rdi
call fcn.140103db0
movzx r8d, byte [rsp + 0x57]
test r8b, r8b
jns 0x14003b929
mov r8d, dword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
jmp 0x14003b92d
and r8d, 0x7f
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x20], 0
mov rdx, rdi
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp byte [rsp + 0x57], 0
jns 0x14003b957
mov rcx, qword [rsp + 0x40]
call fcn.1401536dc
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401542e0
nop
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rax, str.string::append_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s___nullptr
mov r8d, 0xa85
call fcn.140194730
int3
Function at 0x14003e860
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
mov rcx, rdx
test r8b, r8b
je fcn.1400a63e0
jmp fcn.1400a6690

Function at 0x14003e890
Capabilities:
Move file

Disassembly:
mov rcx, rdx
mov rdx, r8
jmp fcn.1401c1d50

Function at 0x1400474f0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, r9
mov r15, r8
mov r14, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x48], rax
lea rdi, [rcx + 0x10]
mov rcx, rdi
call fcn.14010d020
mov ebx, eax
test al, al
je 0x1400475f7
mov rax, qword [r15 + 8]
mov dword [rax], 0x20
mov ecx, dword [r14 + 0x20]
mov dword [rax + 4], ecx
mov dword [rax + 0xc], 0
mov ecx, dword [r14 + 0x18]
cmp ecx, 2
ja 0x14004754d
mov dword [rax + 8], ecx
mov rcx, qword [r14 + 0x28]
mov rdx, qword [r14 + 0x30]
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x40]
mov qword [r14], rax
mov rcx, rdi
mov rdx, r14
call fcn.1400b3c50
xor eax, eax
mov qword [rsp + 0x28], rax
mov r15, qword [r14]
mov qword [r14], rax
cmp r15, 0xffffffffffffffff
je 0x140047597
test r15, r15
je 0x1400475bb
call fcn.14011e5e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea rax, [r15 + 1]
cmp rax, 2
jb 0x1400475b3
mov qword [rsp + 0x28], r15
call fcn.14011e5e0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
call fcn.140126600
cmp qword [rsi], 0
je 0x140047623
mov rcx, qword [rsi + 8]
lea rsi, [rsp + 0x30]
mov rdx, rsi
call fcn.140126570
mov rcx, rsi
call fcn.1401266b0
mov rax, qword [rsp + 0x40]
inc rax
cmp rax, 2
jae 0x140047612
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1401542e0
mov eax, ebx
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.14011e5e0
mov rcx, qword [rsp + 0x40]
call fcn.140106db0
jmp 0x1400475f7
int3

Function at 0x14005c8b0
Capabilities:
Get session user name

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x240
mov rsi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x238], rax
lea rdi, [rsp + 0x2c]
mov dword [rdi], 0x101
lea rbx, [rsp + 0x30]
mov r8d, 0x202
mov rcx, rbx
mov dl, 0xaa
call fcn.140157270
mov rcx, rbx
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov edi, eax
test eax, eax
jne 0x14005c923
test edi, edi
setne bl
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.1401542e0
mov eax, ebx
add rsp, 0x240
pop rbx
pop rdi
pop rsi
ret
lea rbx, [rsp + 0x30]
mov rcx, rbx
call fcn.14017c094
mov rcx, rsi
mov rdx, rbx
mov r8, rax
call fcn.14009a810
jmp 0x14005c901
Function at 0x14005c940
Capabilities:
Get session user name

Disassembly:
mov edx, 2
jmp 0x14005c950
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov edi, edx
mov rsi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x34]
mov dword [r8], 0
mov ecx, edx
xor edx, edx
call sub.Secur32.dll_GetUserNameExW
test al, al
je 0x14005c9ee
lea r14, [rsp + 0x34]
mov r15d, dword [r14]
inc r15d
mov dword [r14], r15d
add r15, r15
mov rcx, r15
call fcn.14015371c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.140157270
mov ecx, edi
mov rdx, rbx
mov r8, r14
call sub.Secur32.dll_GetUserNameExW
test al, al
setne dil
jne 0x14005c9ff
test rbx, rbx
je 0x14005c9fb
mov rcx, rbx
call fcn.140153724
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1401542e0
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x14005c988
xor edi, edi
jmp 0x14005c9d3
test rbx, rbx
je 0x14005ca1c
mov rcx, rbx
call fcn.14017c094
mov rcx, rsi
mov rdx, rbx
mov r8, rax
call fcn.14009a810
jmp 0x14005c9cb
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s___nullptr
mov r8d, 0x9dc
call fcn.140194730
int3

Function at 0x14005c950
Capabilities:
Get session user name

Disassembly:
mov edx, 2
jmp 0x14005c950
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov edi, edx
mov rsi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x34]
mov dword [r8], 0
mov ecx, edx
xor edx, edx
call sub.Secur32.dll_GetUserNameExW
test al, al
je 0x14005c9ee
lea r14, [rsp + 0x34]
mov r15d, dword [r14]
inc r15d
mov dword [r14], r15d
add r15, r15
mov rcx, r15
call fcn.14015371c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.140157270
mov ecx, edi
mov rdx, rbx
mov r8, r14
call sub.Secur32.dll_GetUserNameExW
test al, al
setne dil
jne 0x14005c9ff
test rbx, rbx
je 0x14005c9fb
mov rcx, rbx
call fcn.140153724
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1401542e0
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x14005c988
xor edi, edi
jmp 0x14005c9d3
test rbx, rbx
je 0x14005ca1c
mov rcx, rbx
call fcn.14017c094
mov rcx, rsi
mov rdx, rbx
mov r8, rax
call fcn.14009a810
jmp 0x14005c9cb
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s___nullptr
mov r8d, 0x9dc
call fcn.140194730
int3
Function at 0x140061740
Capabilities:
Query or enumerate registry key

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm6
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x278], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], r15
xor eax, eax
mov qword [rsp + 0x68], rax
mov esi, dword [rcx + 8]
mov r9d, esi
or r9d, 0x2001f
mov rcx, qword [rcx]
lea rdx, [rsp + 0x70]
mov qword [rdx], rax
mov qword [rsp + 0x20], rdx
mov rdx, rbx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400617e6
mov ebp, eax
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.1401542e0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x40], rbx
lea rbx, [rsp + 0x70]
mov r12, qword [rbx]
lea r14, [rsp + 0x58]
mov qword [r14], r12
and esi, 0x300
mov dword [r14 + 8], esi
lea r13, [rsp + 0x50]
mov qword [r13], r15
lea r15, [rsp + 0x4c]
mov dword [r15], 0x100
mov r8d, 0x200
mov rcx, rbx
mov dl, 0xaa
call fcn.140157270
xorps xmm6, xmm6
mov rsi, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov qword [rsp + 0x38], r13
movups xmmword [rsp + 0x20], xmm6
mov qword [rsp + 0x30], 0
mov rcx, r12
xor edx, edx
mov r8, rbx
mov r9, r15
call rsi
test eax, eax
jne 0x140061876
mov rcx, r14
mov rdx, rbx
call fcn.140061740
test eax, eax
jne 0x1400618a4
mov dword [rsp + 0x4c], 0x100
mov r12, qword [rsp + 0x58]
jmp 0x140061834
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14006188f
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x60], 0
mov rcx, rdi
mov rdx, qword [rsp + 0x40]
call fcn.140061f30
mov ebp, eax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400617b8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400617b8
Function at 0x140061f30
Capabilities:
Delete registry key

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rdx
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x140061fcb
mov rdi, qword [rdi]
cmp qword [rbx], 0
je 0x140061fac
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140061f9f
lea rdx, str.RegDeleteKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140061f9f
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call qword [case.0x1401bea20.0]
jmp 0x140061fa4
mov eax, 1
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
cmp dword [rbx + 8], 0
je 0x140061f9f
mov rcx, rdi
mov rdx, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
jmp qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [rdi]
jmp 0x140061fb5
cmp byte [0x1402578d8], 0
jne 0x140062004
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140061ffd
lea rdx, [0x14021ee06]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402578d0], rax
mov byte [0x1402578d8], 1
mov rax, qword [0x1402578d0]
test rax, rax
je 0x140061fc6
mov r8d, dword [rdi + 8]
mov rcx, qword [rdi]
mov r10, qword [case.0x1401bea20.0]
mov rdx, rsi
xor r9d, r9d
add rsp, 0x30
pop rbx
pop rdi
pop rsi
jmp r10
Function at 0x140067c10
Capabilities:
Create process on windows

Disassembly:
mov rcx, rdx
jmp 0x1401c9b30
push r14
push rsi
push rdi
push rbx
sub rsp, 0xa8
mov rsi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0xa0], rax
movabs r14, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x50]
mov qword [rdi + 0x40], r14
movaps xmm0, xmmword [0x1402184a0]
movaps xmmword [rdi + 0x30], xmm0
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
lea rdx, str.UnpinShortcutFromTaskbar
lea r8, str.....operadesktopchrome_importschromeinstallerutil_taskbar_util.cc
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov r9d, 0x8a
call fcn.14011e5c0
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1401100b0
call fcn.14009fa40
cmp eax, 0xd
jl 0x1401c9c39
lea rdi, [rsp + 0x30]
mov qword [rdi], r14
mov rcx, rdi
call fcn.1400bc0a0
cmp qword [rdi], 0
je 0x1401c9c39
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x1401c9bd9
mov rcx, qword [rsi]
call qword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov rbx, rax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x80]
mov rdx, rbx
xor r8d, r8d
mov r9d, 4
call qword [case.0x1401bea20.0]
mov edi, eax
test rbx, rbx
je 0x1401c9c13
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_ILFree]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1401c9c33
mov qword [rsp + 0x30], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1401bea20.0]
mov bl, 1
test edi, edi
jns 0x1401c9c6f
cmp byte [rsi + 0x17], 0
jns 0x1401c9c42
mov rsi, qword [rsi]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea rdx, str.taskbarunpin
xor ecx, ecx
mov r8, rsi
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp rax, 0x21
setge bl
lea rcx, [rsp + 0x50]
call fcn.1401102f0
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1401542e0
mov eax, ebx
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x14006ae60
Capabilities:
Compare security identifiers

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rsi, rdx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x78], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x60]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140069d00
mov rdi, qword [rdi]
test rdi, rdi
je 0x14006af14
lea rbx, [rsp + 0x68]
mov qword [rbx], 0
xor eax, eax
lea rcx, [rsp + 0x70]
mov dword [rcx], eax
mov word [rcx + 4], 0x500
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov dl, 1
mov r8d, shutdown
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov rbx, qword [rbx]
test eax, eax
je 0x14006af19
test rbx, rbx
je 0x14006af27
mov rdx, qword [rdi]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_EqualSid]
cmp eax, 1
mov byte [rsi], 1
sete byte [rsi + 1]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
jmp 0x14006af2a
mov byte [rsi], 0
jmp 0x14006af33
test rbx, rbx
je 0x14006af27
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov byte [rsi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401542e0
mov rax, rsi
add rsp, 0x80
pop rbx
pop rdi
pop rsi
ret

Function at 0x14006af50
Capabilities:
Compare security identifiers

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov ebx, r9d
mov r14, r8
mov rsi, rdx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x50], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x48]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140069d00
mov rdi, qword [rdi]
test rdi, rdi
je 0x14006aff3
mov qword [rsp + 0x40], 0
cmp byte [r14 + 0x17], 0
jns 0x14006afa6
mov r14, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
lea r9, [rsp + 0x40]
mov rcx, r14
mov edx, ebx
mov r8d, 1
call qword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoW]
test eax, eax
je 0x14006aff8
mov byte [rsi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401542e0
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
mov byte [rsi], 0
jmp 0x14006afd9
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdi]
call qword [sym.imp.ADVAPI32.dll_EqualSid]
cmp eax, 1
mov byte [rsi], 1
sete byte [rsi + 1]
jmp 0x14006afd0
Function at 0x14006b5a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
mov edi, r9d
mov r9d, r8d
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], 0
lea ebp, [rdi + 0xf]
test edi, edi
cmovns ebp, edi
mov eax, ebp
sar eax, 4
inc eax
movzx r8d, ax
mov edx, 6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
test rax, rax
je 0x14006b6c1
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14006b679
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
test rax, rax
jne 0x14006b77e
mov ecx, 2
call fcn.14011e4e0
test al, al
je 0x14006b6cf
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.....operadesktopwindowsl10n_handler_resource_l10n_handler.cc
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov r8d, 0x45
mov r9d, 2
call fcn.1401c6220
lea rcx, [rsp + 0x50]
lea rdx, str.Failed_to_lock_string
jmp 0x14006b766
mov ecx, 2
call fcn.14011e4e0
test al, al
je 0x14006b6cf
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.....operadesktopwindowsl10n_handler_resource_l10n_handler.cc
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov r8d, 0x3f
mov r9d, 2
call fcn.1401c6220
lea rcx, [rsp + 0x50]
lea rdx, str.Failed_to_load_string
jmp 0x14006b766
mov ecx, 2
call fcn.14011e4e0
test al, al
jne 0x14006b731
mov rax, qword [rsp + 0x190]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x180]
movups xmmword [rsi], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], 0
cmp byte [rsp + 0x197], 0
jns 0x14006b714
mov rcx, qword [rsp + 0x180]
call fcn.1401536dc
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.1401542e0
nop
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.....operadesktopwindowsl10n_handler_resource_l10n_handler.cc
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov r8d, 0x39
mov r9d, 2
call fcn.1401c6220
lea rcx, [rsp + 0x50]
lea rdx, str.Failed_to_find_string
mov r8d, shutdown
call fcn.140191ff0
mov rcx, rdi
call fcn.1401c62a0
jmp 0x14006b6cf
and ebp, 0xfffffff0
sub edi, ebp
test edi, edi
jle 0x14006b796
movzx ecx, word [rax]
lea rax, [rax + rcx*2]
add rax, 2
dec edi
jne 0x14006b787
movzx ecx, word [rax]
add rax, 2
jne 0x14006b7a4
test cx, cx
jne 0x14006b810
mov rdi, qword [rsp + 0x1f0]
movzx r8d, cx
lea rbx, [rsp + 0x180]
mov rcx, rbx
mov rdx, rax
call fcn.14009a810
mov rax, qword [rdi]
cmp rax, qword [rdi + 8]
je 0x14006b6cf
movzx eax, byte [rsp + 0x197]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs rbx, qword [rsp + 0x180]
lea rdx, [rsp + 0x30]
mov qword [rdx], rbx
cmovs rcx, qword [rsp + 0x188]
mov qword [rdx + 8], rcx
mov rcx, rsi
mov r8, rdi
xor r9d, r9d
call fcn.1401bf370
jmp 0x14006b6fd
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__n__0____s___nullptr
mov r8d, 0x91f
call fcn.140194730
int3
Function at 0x14006ee10
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x78
mov rsi, rdx
mov rax, qword [0x140241038]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x38]
mov qword [r8], 0
lea rdx, [0x14006b840]
mov ecx, 6
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14006ef79
lea rdi, [rsp + 0x38]
mov rcx, qword [rdi]
lea r8, [0x14021f8ca]
mov edx, 0x86
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
mov qword [rdi], 0
lea rdx, [0x14006b840]
mov ecx, 6
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14006ef7c
lea rdi, [rsp + 0x38]
mov rcx, qword [rdi]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r14, rax
mov qword [rdi], 0
lea rdx, [0x14006b840]
mov ecx, 6
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14006ef7f
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
lea rcx, [0x140218e78]
lea rbx, [rsp + 0x60]
mov qword [rbx], rcx
mov qword [rbx + 8], 1
mov eax, eax
lea rdx, [rsp + 0x28]
mov qword [rdx], r14
mov qword [rdx + 8], rax
mov rcx, rdi
call fcn.1400ad880
movzx eax, byte [rsp + 0x4f]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs rdi, qword [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov qword [rdx], rdi
cmovs rcx, qword [rsp + 0x40]
mov qword [rdx + 8], rcx
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov r8, rbx
mov r9d, 1
call fcn.1400a3740
cmp byte [rsp + 0x4f], 0
jns 0x14006ef5f
mov rcx, qword [rsp + 0x38]
call fcn.1401536dc
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1401542e0
mov rax, rsi
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r14
ret
int3
int3
int3