joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000c1f0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0x100
mov rax, qword [0x14024e280]
xor rax, rsp
mov qword [rbp - 9], rax
mov r12d, r9d
movzx r9d, r8w
mov r8, rdx
mov r15d, dword [rbp + 0x67]
mov r14d, dword [rbp + 0x6f]
mov rsi, qword [rbp + 0x77]
mov rdi, qword [rbp + 0x7f]
mov ebx, dword [rbp + 0x87]
mov r11d, dword [rbp + 0x8f]
mov r10, qword [rbp + 0x97]
mov rdx, qword [rbp + 0x9f]
mov rax, qword [rcx]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x50], r11d
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r12d
lea rdx, [rbp - 0x49]
call qword [rax + 0x50]
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x59], xmm1
mov r8d, 1
lea rdx, [0x14021ad98]
lea rcx, [rbp - 0x69]
call fcn.140009260
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x79], xmm1
mov r8d, 1
lea rdx, reloc.OLEAUT32.dll_VariantCopy
lea rcx, [rsp + 0x70]
call fcn.140009260
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x14022dfe0]
movdqu xmmword [rbp - 0x19], xmm1
xor ebx, ebx
mov word [rbp - 0x29], bx
lea r9, [rbp - 0x69]
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x49]
call fcn.140013390
mov rdx, qword [rbp - 0x31]
cmp rdx, 7
jbe 0x14000c33f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c33a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000c457
call fcn.14013c1c0
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rbp - 0x49], xmm0
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp - 0x39], xmm1
mov rdx, qword [rbp - 0x71]
cmp rdx, 7
jbe 0x14000c390
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c38b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000c45d
call fcn.14013c1c0
movdqa xmm0, xmmword [0x14022dfe0]
movdqu xmmword [rbp - 0x79], xmm0
mov word [rsp + 0x70], bx
mov rdx, qword [rbp - 0x51]
cmp rdx, 7
jbe 0x14000c3e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x69]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c3dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000c463
call fcn.14013c1c0
lea rcx, [rbp - 0x49]
cmp qword [rbp - 0x31], 7
cmova rcx, qword [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 7
jbe 0x14000c433
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c42e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000c451
call fcn.14013c1c0
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.14013c1a0
add rsp, 0x100
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14014b94c
nop
call fcn.14014b94c
nop
call fcn.14014b94c
nop
call fcn.14014b94c
int3
Function at 0x140036df0
Capabilities:
Query service status

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14024e280]
xor rax, rsp
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdx], xmm0
mov rbx, rcx
movups xmmword [rdx + 0x10], xmm0
mov dword [rdx + 0x20], eax
mov rcx, qword [rcx + 0x60]
test rcx, rcx
jne 0x140036e99
mov rcx, qword [rbx]
test rcx, rcx
je 0x140036f4c
cmp qword [rbx + 0x40], 7
mov rax, qword [rcx]
mov r10, qword [rax + 0x20]
lea rax, [rbx + 0x28]
jbe 0x140036e41
mov rax, qword [rax]
add rbx, 8
cmp qword [rbx + 0x18], 7
jbe 0x140036e4f
mov rbx, qword [rbx]
mov qword [rsp + 0x38], rax
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonWindowsService.cpp
lea rax, str.Invalid_service_handle_for__ls
mov r9d, 0xe4
mov qword [rsp + 0x30], rax
lea rdx, str.mb::common::system::WindowsService::QueryStatusEx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 2
call r10
xor al, al
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14013c1a0
add rsp, 0x60
pop rbx
ret
mov dword [rsp + 0x50], eax
mov r8, rdx
lea rax, [rsp + 0x50]
mov r9d, 0x24
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x140036f61
mov qword [rsp + 0x88], rdi
mov rdi, qword [rbx]
test rdi, rdi
je 0x140036f44
mov rax, qword [rdi]
mov qword [rsp + 0x80], rsi
mov rsi, qword [rax + 0x20]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rbx + 0x40], 7
lea rdx, [rbx + 0x28]
jbe 0x140036ef3
mov rdx, qword [rdx]
add rbx, 8
cmp qword [rbx + 0x18], 7
jbe 0x140036f01
mov rbx, qword [rbx]
mov dword [rsp + 0x40], eax
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonWindowsService.cpp
mov qword [rsp + 0x38], rdx
lea rax, str.QueryServiceStatusEx_failed_on__1s.__Error__u.
mov qword [rsp + 0x30], rax
lea rdx, str.mb::common::system::WindowsService::QueryStatusEx
mov qword [rsp + 0x28], rbx
mov r9d, 0xec
mov rcx, rdi
mov dword [rsp + 0x20], 2
call rsi
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
xor al, al
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14013c1a0
add rsp, 0x60
pop rbx
ret
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14013c1a0
add rsp, 0x60
pop rbx
ret

Function at 0x14003ade0
Capabilities:
Get file attributes

Disassembly:
push rbx
sub rsp, 0x40
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.140046740
cmp qword [rax + 0x18], 7
jbe 0x14003adfd
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rdx, qword [rsp + 0x38]
mov ebx, eax
cmp rdx, 7
jbe 0x14003ae46
mov rcx, qword [rsp + 0x20]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ae41
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ae4e
call fcn.14013c1c0
mov eax, ebx
add rsp, 0x40
pop rbx
ret
call fcn.14014b94c
int3
Function at 0x140040cf0
Capabilities:
Query or enumerate registry key

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [rsp + 0x90]
mov r10, r9
mov r9, qword [rsp + 0x70]
mov r11d, r8d
mov qword [rsp + 0x38], rax
mov rcx, rdx
mov rax, qword [rsp + 0x88]
mov r8, r10
mov qword [rsp + 0x30], rax
mov edx, r11d
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
add rsp, 0x40
pop rbx
ret

Function at 0x140040d50
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [rsp + 0x90]
mov r10, r9
mov r9, qword [rsp + 0x70]
mov r11d, r8d
mov qword [rsp + 0x38], rax
mov rcx, rdx
mov rax, qword [rsp + 0x88]
mov r8, r10
mov qword [rsp + 0x30], rax
mov edx, r11d
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
add rsp, 0x40
pop rbx
ret

Function at 0x140040ed0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [rsp + 0x70]
mov r10, r9
mov r9, qword [rsp + 0x60]
mov r11, r8
mov qword [rsp + 0x28], rax
mov rcx, rdx
mov rax, qword [rsp + 0x68]
mov r8, r10
mov rdx, r11
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
add rsp, 0x30
pop rbx
ret

Function at 0x140040f50
Capabilities:
Set registry value

Disassembly:
push rbx
sub rsp, 0x30
mov eax, dword [rsp + 0x70]
mov r10d, r9d
mov r9d, dword [rsp + 0x60]
mov r11, r8
mov dword [rsp + 0x28], eax
mov rcx, rdx
mov rax, qword [rsp + 0x68]
mov r8d, r10d
mov rdx, r11
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
add rsp, 0x30
pop rbx
ret
Function at 0x140046460
Capabilities:
Get process image filename

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x14024e280]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbp
mov ecx, 0x138a7
call fcn.14013c1f4
test rax, rax
je 0x14004660d
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov qword [rsp + 0x50], rdi
lea rsi, [rdi + 0x13880]
mov qword [rsp + 0x60], rsi
xor edx, edx
mov r8d, 0x13880
mov rcx, rdi
call fcn.140179950
mov qword [rsp + 0x58], rsi
mov rdi, qword [rsp + 0x50]
sub rsi, rdi
sar rsi, 1
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8d, esi
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.PSAPI.DLL_GetProcessImageFileNameW]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], 7
mov word [rbx], bp
mov dword [rsp + 0x20], 1
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
mov rdx, qword [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140046540
lea rcx, [rsp + 0x28]
call fcn.140009260
nop
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140035a70
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 7
jbe 0x1400465a3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004659d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046607
call fcn.14013c1c0
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400465e1
mov rdx, qword [rsp + 0x60]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
mov rdi, rcx
cmp rdx, 0x1000
jb 0x1400465dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rdi, rcx
add rdi, 0xfffffffffffffff8
cmp rdi, 0x1f
ja 0x14004660d
call fcn.14013c1c0
mov rax, rbx
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14013c1a0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.14014b94c
nop
call fcn.14014b94c
int3
Function at 0x14004a020
Capabilities:
Query or enumerate registry key

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0x2070
call fcn.14013cba0
sub rsp, rax
mov rax, qword [0x14024e280]
xor rax, rsp
mov qword [rsp + 0x2060], rax
mov r15, qword [rsp + 0x20d0]
mov rsi, rcx
mov rax, rdx
mov dword [rsp + 0x58], 0x1000
lea rcx, [rsp + 0x50]
mov r14, r9
mov qword [rsp + 0x20], rcx
mov ebp, r8d
xor r12d, r12d
mov rcx, rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rsi
mov edi, 0xc000000d
mov ebx, r12d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14004a1bd
mov r8d, dword [rsp + 0x58]
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.140179950
mov rcx, qword [rsp + 0x50]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x38], r12
lea r8, [rsp + 0x60]
mov qword [rsp + 0x30], r12
xor edx, edx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14004a1b2
mov qword [rsp + 0x20c0], r13
lea r13, str.____Checking_Sub_store:__ws__ws
nop dword [rax + rax]
call fcn.14000b7c0
lea rcx, [rsp + 0x60]
mov r9d, 0x59e
mov qword [rsp + 0x40], rcx
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonFileVerify.cpp
mov qword [rsp + 0x38], rsi
lea rcx, str.MbCommonSigVerify
mov r10, qword [rax]
lea rdx, str.EnumerateCerts
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
mov rcx, rax
mov dword [rsp + 0x20], 5
call qword [r10 + 0x20]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x60]
mov r9d, ebp
mov qword [rsp + 0x20], r15
mov r8, r14
call fcn.14004a1f0
mov edi, eax
test eax, eax
je 0x14004a1aa
xor edx, edx
mov dword [rsp + 0x58], 0x1000
mov r8d, 0x1000
lea rcx, [rsp + 0x60]
inc ebx
call fcn.140179950
mov rcx, qword [rsp + 0x50]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x38], r12
lea r8, [rsp + 0x60]
mov qword [rsp + 0x30], r12
mov edx, ebx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x14004a0f0
mov r13, qword [rsp + 0x20c0]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x2060]
xor rcx, rsp
call fcn.14013c1a0
add rsp, 0x2070
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14004a6c0
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x470
mov rax, qword [0x14024e280]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov r12, qword [rsp + 0x4d0]
lea rax, [rsp + 0x50]
mov rbp, r8
mov dword [rsp + 0x58], 0x200
mov r14d, edx
mov qword [rsp + 0x20], rax
mov r15, rcx
xor r13d, r13d
mov rdx, rbp
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov edi, 0xc000000d
mov ebx, r13d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test eax, eax
je 0x14004a787
call fcn.14000b7c0
mov dword [rsp + 0x40], esi
lea rcx, str.Failed_to_open__ws__x
mov qword [rsp + 0x38], rbp
lea rsi, str.MbCommonSigVerify
mov qword [rsp + 0x30], rcx
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonFileVerify.cpp
mov r10, qword [rax]
lea rdx, str.FindCert
mov qword [rsp + 0x28], rsi
mov r9d, 0x666
mov rcx, rax
mov dword [rsp + 0x20], 2
call qword [r10 + 0x20]
jmp 0x14004a897
mov r8d, dword [rsp + 0x58]
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.140179950
mov rcx, qword [rsp + 0x50]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x38], r13
lea r8, [rsp + 0x60]
mov qword [rsp + 0x30], r13
xor edx, edx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14004a88c
lea rsi, str.MbCommonSigVerify
call fcn.14000b7c0
lea rcx, [rsp + 0x60]
mov r9d, 0x670
mov qword [rsp + 0x40], rcx
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonFileVerify.cpp
mov qword [rsp + 0x38], rbp
lea rcx, str.Checking__ws__ws
mov r10, qword [rax]
lea rdx, str.FindCert
mov qword [rsp + 0x30], rcx
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 5
call qword [r10 + 0x20]
mov r8, qword [rsp + 0x50]
lea rcx, [rsp + 0x60]
mov r9, r15
mov qword [rsp + 0x20], r12
mov edx, r14d
call fcn.14004a8d0
mov edi, eax
test eax, eax
jns 0x14004a88c
xor edx, edx
mov dword [rsp + 0x58], 0x200
mov r8d, 0x200
lea rcx, [rsp + 0x60]
inc ebx
call fcn.140179950
mov rcx, qword [rsp + 0x50]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x38], r13
lea r8, [rsp + 0x60]
mov qword [rsp + 0x30], r13
mov edx, ebx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x14004a7d2
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.14013c1a0
mov rbx, qword [rsp + 0x4b8]
add rsp, 0x470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400519b0
Capabilities:
Initialize winsock library

Disassembly:
sub rsp, 0x238
mov ecx, 0x202
lea rdx, [rsp + 0x90]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x1400519d6
add rsp, 0x238
ret
lea rdx, str.Failed_to_initialize_network_subsystem
lea rcx, [rsp + 0x20]
call fcn.140009220
nop
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140051a50
lea rdx, [0x140248880]
lea rcx, [rsp + 0x40]
call fcn.14013e910
int3

Function at 0x140054e00
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov edi, r8d
mov rax, rdx
mov rbx, rcx
cmp qword [rcx + 0x18], 0
je 0x140054ec6
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x14022dfe0]
movdqu xmmword [rsp + 0x30], xmm1
xor ecx, ecx
mov word [rsp + 0x20], cx
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.140054a60
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 7
cmova rdx, qword [rsp + 0x20]
lea rcx, [rbx + 0x28]
cmp qword [rcx + 0x18], 7
jbe 0x140054e67
mov rcx, qword [rcx]
and edi, 1
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x140054ee3
mov rdx, qword [rsp + 0x38]
cmp rdx, 7
jbe 0x140054eb5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054eb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054ec0
call fcn.14013c1c0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
call fcn.14014b94c
int3
xor r9d, r9d
mov r8d, 0x128
lea rdx, str.D:JenkinsworkspaceN_Poco_VS2022poco_1.12.4Foundation_srcFile_WIN32U.cpp
lea rcx, str.__path.empty__
call fcn.140051e50
nop
lea rcx, [rbx + 8]
call fcn.140055100
int3

Function at 0x140054f90
Capabilities:
Create directory

Disassembly:
push rbx
sub rsp, 0x20
cmp qword [rcx + 0x18], 0
mov rbx, rcx
je 0x140054fe9
call fcn.140055070
test al, al
je 0x140054fbd
mov rcx, rbx
call fcn.140055500
test al, al
je 0x140054fbd
xor al, al
add rsp, 0x20
pop rbx
ret
cmp qword [rbx + 0x40], 7
lea rcx, [rbx + 0x28]
jbe 0x140054fcb
mov rcx, qword [rcx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x140054fdf
mov al, 1
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 8]
call fcn.140055100
int3
xor r9d, r9d
lea rdx, str.D:JenkinsworkspaceN_Poco_VS2022poco_1.12.4Foundation_srcFile_WIN32U.cpp
mov r8d, 0x183
lea rcx, str.__path.empty__
call fcn.140051e50
int3

Function at 0x140055070
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
sub rsp, 0x20
cmp qword [rcx + 0x18], 0
mov rbx, rcx
je 0x1400550cd
add rcx, 0x28
cmp qword [rcx + 0x18], 7
jbe 0x14005508e
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400550bb
call qword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 2
je 0x1400550b3
sub eax, 1
je 0x1400550b3
sub eax, 0xc
je 0x1400550b3
cmp eax, 6
jne 0x1400550c3
xor al, al
add rsp, 0x20
pop rbx
ret
mov al, 1
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 8]
call fcn.140055100
int3
xor r9d, r9d
lea rdx, str.D:JenkinsworkspaceN_Poco_VS2022poco_1.12.4Foundation_srcFile_WIN32U.cpp
lea rcx, str.__path.empty__
lea r8d, [r9 + 0x5e]
call fcn.140051e50
int3
Function at 0x140055500
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
sub rsp, 0x20
cmp qword [rcx + 0x18], 0
mov rbx, rcx
je 0x14005553e
add rcx, 0x28
cmp qword [rcx + 0x18], 7
jbe 0x14005551e
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140055534
shr eax, 4
and al, 1
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 8]
call fcn.140055100
int3
xor r9d, r9d
lea rdx, str.D:JenkinsworkspaceN_Poco_VS2022poco_1.12.4Foundation_srcFile_WIN32U.cpp
mov r8d, 0x9f
lea rcx, str.__path.empty__
call fcn.140051e50
int3

Function at 0x140055560
Capabilities:
Check if file exists

Disassembly:
jmp 0x140055570
push rbx
sub rsp, 0x20
cmp qword [rcx + 0x18], 0
mov rbx, rcx
je 0x1400555b6
add rcx, 0x28
cmp qword [rcx + 0x18], 7
jbe 0x14005558e
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400555ac
and eax, 0x410
cmp eax, 0x400
sete al
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 8]
call fcn.140055100
int3
xor r9d, r9d
lea rdx, str.D:JenkinsworkspaceN_Poco_VS2022poco_1.12.4Foundation_srcFile_WIN32U.cpp
mov r8d, 0xaa
lea rcx, str.__path.empty__
call fcn.140051e50
int3

Function at 0x140055570
Capabilities:
Check if file exists
Get file attributes

Disassembly:
jmp 0x140055570
push rbx
sub rsp, 0x20
cmp qword [rcx + 0x18], 0
mov rbx, rcx
je 0x1400555b6
add rcx, 0x28
cmp qword [rcx + 0x18], 7
jbe 0x14005558e
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400555ac
and eax, 0x410
cmp eax, 0x400
sete al
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 8]
call fcn.140055100
int3
xor r9d, r9d
lea rdx, str.D:JenkinsworkspaceN_Poco_VS2022poco_1.12.4Foundation_srcFile_WIN32U.cpp
mov r8d, 0xaa
lea rcx, str.__path.empty__
call fcn.140051e50
int3

Function at 0x140055860
Capabilities:
Delete directory
Delete file

Disassembly:
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x18], 0
mov rdi, rcx
je 0x1400558bd
mov qword [rsp + 0x30], rbx
lea rbx, [rcx + 0x28]
call fcn.140055500
test al, al
je 0x1400558a4
cmp qword [rbx + 0x18], 7
jbe 0x14005588c
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x1400558da
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp qword [rbx + 0x18], 7
jbe 0x1400558ae
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x1400558da
jmp 0x140055899
xor r9d, r9d
lea rdx, str.D:JenkinsworkspaceN_Poco_VS2022poco_1.12.4Foundation_srcFile_WIN32U.cpp
mov r8d, 0x160
lea rcx, str.__path.empty__
call fcn.140051e50
int3
lea rcx, [rdi + 8]
call fcn.140055100
int3
Function at 0x140066620
Capabilities:
Encode data using xor

Disassembly:
push rbx
movsxd rbx, r9d
mov r10, r8
mov r11, rdx
cmp rdx, r8
je 0x140066782
mov qword [rsp + 0x10], rsi
lea rsi, [rcx - 1]
not rcx
shr rsi, 0x3f
shr rcx, 0x3f
and rsi, rcx
mov ecx, dword [rdx + 8]
xor ecx, dword [r8 + 8]
dec rsi
and ecx, esi
xor dword [rdx + 8], ecx
xor dword [r8 + 8], ecx
mov ecx, dword [rdx + 0x10]
movq xmm4, rsi
xor ecx, dword [r8 + 0x10]
and ecx, esi
punpcklqdq xmm4, xmm4
xor dword [rdx + 0x10], ecx
xor dword [r8 + 0x10], ecx
mov edx, dword [rdx + 0x14]
mov ecx, dword [r8 + 0x14]
xor rcx, rdx
and ecx, 4
and rcx, rsi
mov eax, ecx
xor eax, edx
mov dword [r11 + 0x14], eax
xor dword [r8 + 0x14], ecx
xor ecx, ecx
mov edx, ecx
test r9d, r9d
jle 0x14006673e
cmp ebx, 2
jb 0x14006673e
mov r9, qword [r8]
lea rax, [rbx - 1]
mov r8, qword [r11]
mov qword [rsp + 0x18], rdi
lea rdi, [rbx - 1]
lea rdi, [r9 + rdi*8]
lea rax, [r8 + rax*8]
cmp r9, rax
ja 0x1400666ce
cmp rdi, r8
jae 0x140066739
cmp r9, r10
ja 0x1400666d8
cmp rdi, r10
jae 0x140066739
cmp r9, r11
ja 0x1400666e2
cmp rdi, r11
jae 0x140066739
cmp r8, r10
ja 0x1400666ec
cmp rax, r10
jae 0x140066739
cmp r8, r11
ja 0x1400666f6
cmp rax, r11
jae 0x140066739
mov eax, ebx
and eax, 0xfffffffe
nop dword [rax + rax]
movdqu xmm2, xmmword [rcx + r9]
add edx, 2
movdqu xmm1, xmmword [rcx + r8]
lea rcx, [rcx + 0x10]
movdqa xmm3, xmm2
xorps xmm3, xmm1
andps xmm3, xmm4
movdqa xmm0, xmm3
xorps xmm3, xmm2
xorps xmm0, xmm1
movdqu xmmword [rcx + r8 - 0x10], xmm0
movdqu xmmword [rcx + r9 - 0x10], xmm3
cmp edx, eax
jl 0x140066700
mov rdi, qword [rsp + 0x18]
movsxd rax, edx
cmp rax, rbx
jge 0x14006677d
nop word [rax + rax]
mov rcx, qword [r11]
mov rdx, qword [rcx + rax*8]
lea r8, [rcx + rax*8]
mov rcx, qword [r10]
mov r9, rdx
xor r9, qword [rcx + rax*8]
and r9, rsi
xor rdx, r9
mov qword [r8], rdx
mov rcx, qword [r10]
xor qword [rcx + rax*8], r9
inc rax
cmp rax, rbx
jl 0x140066750
mov rsi, qword [rsp + 0x10]
pop rbx
ret

Function at 0x1400708d0
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x28
call fcn.14013cba0
sub rsp, rax
mov ecx, dword [rcx]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
add rsp, 0x28
ret

Function at 0x140070e20
Capabilities:
Encode data using xor

Disassembly:
xor r9b, r9b
mov r10, rdx
test r8, r8
je 0x140070e47
sub r10, rcx
nop
movzx edx, byte [r10 + rcx]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
xor dl, al
or r9b, dl
sub r8, 1
jne 0x140070e30
movzx eax, r9b
ret