joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004aba0
Capabilities:
Check for time delay via queryperformancecounter
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x28], rax
movsd xmm6, qword [0x1400e8780]
xorpd xmm0, xmm0
ucomisd xmm6, xmm0
jne 0x14004abd4
jnp 0x14004abf7
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14008db90
movapd xmm0, xmm6
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov rdi, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov ebp, eax
call rdi
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [0x1400e8790]
mov ecx, dword [0x1400e8628]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14004ad2f
mov eax, dword [0x1400e87a0]
mov ecx, dword [0x1400e8628]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14004ad69
rdtsc
mov r14, rax
mov r15, rdx
xor esi, esi
lea rdi, [rsp + 0x20]
mov qword [rdi], rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rbx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, ebp
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [rdi], rsi
lea rsi, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub rbx, qword [0x1400e8798]
movq xmm1, rbx
punpckldq xmm1, xmmword [0x1400ba490]
subpd xmm1, xmmword [0x1400ba4a0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, qword [rsi]
divsd xmm0, xmm1
xorpd xmm6, xmm6
movsd xmm1, qword [0x1400bf608]
ucomisd xmm1, xmm0
ja 0x14004abd4
shl r15, 0x20
or r14, r15
sub r14, qword [0x1400e8788]
movq xmm1, r14
punpckldq xmm1, xmmword [0x1400ba490]
subpd xmm1, xmmword [0x1400ba4a0]
movapd xmm6, xmm1
unpckhpd xmm6, xmm1
addsd xmm6, xmm1
divsd xmm6, xmm0
movsd qword [0x1400e8780], xmm6
jmp 0x14004abd4
lea rcx, [0x1400e8790]
call fcn.14008d940
cmp dword [0x1400e8790], 0xffffffff
jne 0x14004ac40
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x1400e8788], rdx
lea rcx, [0x1400e8790]
call fcn.14008d9d8
jmp 0x14004ac40
lea rcx, [0x1400e87a0]
call fcn.14008d940
cmp dword [0x1400e87a0], 0xffffffff
jne 0x14004ac65
lea rdi, [rsp + 0x20]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
mov qword [0x1400e8798], rax
lea rcx, [0x1400e87a0]
call fcn.14008d9d8
jmp 0x14004ac65
Function at 0x14004b3e0
Capabilities:
Write file on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xa8
mov esi, r8d
mov r14, rdx
mov rbx, rcx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0xa0], rax
lea rdx, str.WriteAtCurrentPos
lea r8, str..._.._base_files_file_win.cc
lea rdi, [rsp + 0x30]
mov rcx, rdi
mov r9d, 0x88
call fcn.14004af20
lea rcx, [rsp + 0x50]
mov rdx, rdi
xor r8d, r8d
call fcn.14004af50
test esi, esi
js 0x14004b4ab
lea rcx, [rsp + 0x30]
call fcn.14003dec0
call fcn.140061380
test al, al
jne 0x14004b4b2
mov rcx, qword [rbx]
mov qword [rsp + 0x20], 0
lea rdi, [rsp + 0x2c]
mov rdx, r14
mov r8d, esi
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor esi, esi
cmp eax, 1
sbb esi, esi
or esi, dword [rdi]
lea rcx, [rsp + 0x30]
call fcn.1400613f0
lea rcx, [rsp + 0x50]
call fcn.14004b070
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14008db90
mov eax, esi
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r14
ret
mov esi, 0xffffffff
jmp 0x14004b482
mov r9d, esi
lea rdx, str.File::WriteAtCurrentPos
lea rcx, [rsp + 0x30]
mov r8, rbx
call fcn.140061420
jmp 0x14004b44f
Function at 0x14004b670
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb0
mov r12d, r8d
mov r14, rdx
mov r15, rcx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0xa8], rax
lea rdx, str.DoInitialize
lea r8, str..._.._base_files_file_win.cc
lea rbp, [rsp + 0x38]
mov rcx, rbp
mov r9d, 0x15a
call fcn.14004af20
lea rcx, [rsp + 0x58]
mov rdx, rbp
xor r8d, r8d
call fcn.14004af50
mov eax, r12d
and eax, 1
neg eax
and eax, 3
test r12b, 2
mov edx, 1
cmove edx, eax
test r12b, 4
mov ecx, 4
cmovne edx, ecx
test r12b, 8
mov ebp, 2
cmove ebp, edx
test r12b, 0x10
mov eax, 5
cmove eax, ebp
test eax, eax
je 0x14004b862
mov edx, r12d
and edx, 0x40
shl edx, 0x18
test r12b, r12b
cmovns ecx, edx
mov edx, r12d
rol edx, 0x1a
mov edi, r12d
shl edi, 0xb
and edi, 0x20000000
mov esi, r12d
shr esi, 4
and esi, 0x10000
and edx, 0x80000100
or edx, edi
or edx, esi
or edx, ecx
mov ecx, r12d
shr ecx, 8
and ecx, 3
mov r8d, r12d
shr r8d, 0xd
and r8d, 4
or r8d, ecx
xor r8d, 3
mov ebp, r12d
and ebp, 0x400
mov ecx, ebp
shl ecx, 0x14
mov ebx, r12d
shr ebx, 3
and ebx, 0x100
or ebx, ecx
mov ecx, r12d
shr ecx, 0xb
and ecx, 2
or ecx, ebx
mov ebx, r12d
shl ebx, 0xd
and ebx, 0x4000000
or ebx, ecx
mov ecx, r12d
shl ecx, 8
mov edi, ecx
and edi, 0x2000000
or edi, ebx
and ecx, 0x8000000
or ecx, edi
cmp byte [r14 + 0x17], 0
jns 0x14004b7bb
mov r14, qword [r14]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x30], 0
mov rcx, r14
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
mov rax, qword [r15]
cmp rax, rsi
jne 0x14004b877
inc rax
cmp rax, 2
jb 0x14004b83d
shr ebp, 0xa
mov dword [r15 + 0x24], 0
mov byte [r15 + 0x29], bpl
test r12b, 4
jne 0x14004b850
test r12b, 0xa
je 0x14004b810
mov byte [r15 + 0x28], 1
lea rcx, [rsp + 0x58]
call fcn.14004b070
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14008db90
nop
add rsp, 0xb0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14004b540
mov dword [r15 + 0x24], eax
jmp 0x14004b810
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
setne byte [r15 + 0x28]
jmp 0x14004b810
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [r15 + 0x24], 0xffffffff
jmp 0x14004b810
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
mov rax, qword [r15]
inc rax
cmp rax, 2
jb 0x14004b8a0
call fcn.14004af40
mov rcx, qword [r15]
call fcn.14004d080
mov qword [r15], 0
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14004b8b2
mov qword [r15], rsi
call fcn.14004af40
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [r15]
jmp 0x14004b7e7
Function at 0x14004c830
Capabilities:
Check if file exists

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.14004b2d0
mov qword [rsi], 0
test rax, rax
jne 0x14004c886
lea rcx, [rsi + 8]
lea rdx, [rdi + 8]
call fcn.14002e540
lea rcx, [rsi + 0x20]
call fcn.1400613a0
mov eax, dword [rdi + 0x24]
mov dword [rsi + 0x24], eax
mov al, byte [rdi + 0x28]
mov byte [rsi + 0x28], al
mov al, byte [rdi + 0x29]
mov byte [rsi + 0x29], al
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jb 0x14004c8b1
call fcn.14004af40
mov rcx, qword [rsi]
call fcn.14004d080
mov qword [rsi], 0
lea rax, [rbx + 1]
cmp rax, 2
jb 0x14004c8c3
mov qword [rsi], rbx
call fcn.14004af40
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14004c852

Function at 0x140050920
Capabilities:
Query environment variable

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rcx]
lea rdx, [rsp + 0x40]
movaps xmmword [rdx], xmm0
lea rbx, [rsp + 0x58]
mov rcx, rbx
call fcn.140034420
cmp byte [rbx + 0x17], 0
jns 0x140050960
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ebp, eax
cmp byte [rsp + 0x6f], 0
jns 0x140050981
mov rcx, qword [rsp + 0x58]
call fcn.14008d81c
test rsi, rsi
je 0x140050a37
test ebp, ebp
je 0x140050a37
mov ecx, ebp
add rcx, rcx
call fcn.14008d85c
mov rbx, rax
movups xmm0, xmmword [rdi]
lea rdx, [rsp + 0x30]
movaps xmmword [rdx], xmm0
lea rdi, [rsp + 0x58]
mov rcx, rdi
call fcn.140034420
cmp byte [rdi + 0x17], 0
jns 0x1400509c2
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov rdx, rbx
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp byte [rsp + 0x6f], 0
jns 0x1400509e2
mov rcx, qword [rsp + 0x58]
call fcn.14008d81c
mov qword [rsp + 0x20], rbx
cmp word [rbx], 0
je 0x140050a54
xor ecx, ecx
lea rax, [rcx + 1]
cmp word [rbx + rcx*2 + 2], 0
mov rcx, rax
jne 0x1400509ef
lea rdx, [rsp + 0x20]
mov qword [rdx + 8], rax
lea rcx, [rsp + 0x58]
call fcn.140034970
cmp byte [rsi + 0x17], 0
js 0x140050a58
xor eax, eax
mov byte [rsi], al
mov byte [rsi + 0x17], al
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi], xmm0
mov rcx, rbx
call fcn.14008d864
test ebp, ebp
setne bl
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14008db90
mov eax, ebx
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
ret
xor eax, eax
jmp 0x1400509fe
mov rax, qword [rsi]
mov byte [rax], 0
mov qword [rsi + 8], 0
cmp byte [rsi + 0x17], 0
jns 0x140050a1e
mov rcx, qword [rsi]
call fcn.14008d81c
mov qword [rsi + 0x10], 0
jmp 0x140050a1e
Function at 0x140051080
Capabilities:
Check if file exists
Create directory

Disassembly:
push rsi
push rdi
sub rsp, 0x1a8
mov rsi, rcx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
cmp byte [rcx + 0x17], 0
jns 0x1400510a7
mov rcx, qword [rsi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dil, 1
test eax, eax
jne 0x1400510f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400510e4
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.14008db90
mov rcx, rsi
add rsp, 0x1a8
pop rdi
pop rsi
jmp fcn.1400511c0
mov ecx, 2
call fcn.1400485b0
test al, al
jne 0x140051110
xor edi, edi
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.14008db90
mov eax, edi
add rsp, 0x1a8
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rcx, [rsp + 0x58]
mov r8d, 0x261
mov r9d, 2
call fcn.140049240
lea rcx, [rsp + 0x68]
lea rdx, str.CreateDirectory
mov r8d, 0x10
call fcn.140002b20
mov rdi, rax
movzx eax, byte [rsi + 0x17]
test al, al
mov rcx, qword [rsi]
cmovns rcx, rsi
lea rdx, [rsp + 0x30]
mov qword [rdx], rcx
cmovs rax, qword [rsi + 8]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.140034940
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x14005118f
mov r8, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.140002b20
cmp byte [rsp + 0x57], 0
jns 0x1400511ab
mov rcx, qword [rsp + 0x40]
call fcn.14008d81c
lea rcx, [rsp + 0x58]
call fcn.140049330
jmp 0x1400510f2
Function at 0x1400511c0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rsi
push rdi
sub rsp, 0x1b8
mov rsi, rcx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
cmp byte [rcx + 0x17], 0
jns 0x1400511e7
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400512c6
mov dil, 1
test al, 0x10
jne 0x1400512d6
mov ecx, 2
call fcn.1400485b0
test al, al
je 0x1400512d4
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rcx, [rsp + 0x68]
mov r8d, 0x24f
mov r9d, 2
call fcn.140048660
lea rcx, [rsp + 0x78]
lea rdx, str.GetFileAttributes
mov r8d, 0x12
call fcn.140002b20
mov rdi, rax
movzx eax, byte [rsi + 0x17]
test al, al
mov rcx, qword [rsi]
cmovns rcx, rsi
lea rdx, [rsp + 0x30]
mov qword [rdx], rcx
cmovs rax, qword [rsi + 8]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.140034940
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x140051289
mov r8, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rcx, rdi
mov rdx, rsi
call fcn.140002b20
lea rdx, str.:_not_a_directory
mov r8d, 0x11
mov rcx, rax
call fcn.140002b20
cmp byte [rsp + 0x67], 0
jns 0x1400512ba
mov rcx, qword [rsp + 0x50]
call fcn.14008d81c
lea rcx, [rsp + 0x68]
call fcn.140048af0
jmp 0x1400512d4
mov ecx, 2
call fcn.1400485b0
test al, al
jne 0x1400512f2
xor edi, edi
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.14008db90
mov eax, edi
add rsp, 0x1b8
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rcx, [rsp + 0x68]
mov r8d, 0x24b
mov r9d, 2
call fcn.140049240
lea rcx, [rsp + 0x78]
lea rdx, str.GetFileAttributes
mov r8d, 0x12
call fcn.140002b20
mov rdi, rax
movzx eax, byte [rsi + 0x17]
test al, al
mov rcx, qword [rsi]
cmovns rcx, rsi
lea rdx, [rsp + 0x40]
mov qword [rdx], rcx
cmovs rax, qword [rsi + 8]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.140034940
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x140051371
mov r8, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rcx, rdi
mov rdx, rsi
call fcn.140002b20
cmp byte [rsp + 0x67], 0
jns 0x14005138d
mov rcx, qword [rsp + 0x50]
call fcn.14008d81c
lea rcx, [rsp + 0x68]
call fcn.140049330
jmp 0x1400512d4
Function at 0x140052c40
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, qword [rcx + 0x38]
mov rsi, qword [rcx + 0x40]
cmp rbx, rsi
je 0x140052ce5
mov r14, r8
mov ebp, edx
mov r15, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp dword [rbx + 0x68], ebp
jne 0x140052cdc
cmp byte [rbx + 0x27], 0
jns 0x140052c7a
mov rcx, qword [rbx + 0x10]
jmp 0x140052c7e
lea rcx, [rbx + 0x10]
call r15
test al, 0x10
jne 0x140052cdc
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
je 0x140052cd1
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
lea rcx, [rdi + 0x10]
lea rdx, [rbx + 0x10]
call fcn.14002e540
lea rcx, [rdi + 0x28]
lea rdx, [rbx + 0x28]
call fcn.1400275d0
movups xmm0, xmmword [rbx + 0x40]
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm1
mov rax, qword [rbx + 0x60]
mov qword [rdi + 0x60], rax
add rdi, 0x68
mov qword [r14 + 8], rdi
jmp 0x140052cdc
mov rcx, r14
mov rdx, rbx
call fcn.1400541f0
add rbx, 0x70
cmp rsi, rbx
jne 0x140052c69
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1400557b0
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r12, r8
mov ebx, edx
mov edi, ecx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x70], rax
movzx eax, byte [r8 + 0x17]
test al, al
jns 0x1400557e4
mov rax, qword [r12 + 8]
test rax, rax
je 0x140055811
mov eax, 0x300
mov ecx, ebx
and ecx, eax
cmp ecx, eax
je 0x140055811
cmp edi, 2
lea rax, [0x1400e8a90]
lea rcx, [0x1400e8c90]
cmove rcx, rax
cmp word [rcx], 0
je 0x140055830
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14008db90
nop
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xorps xmm0, xmm0
lea rsi, [rsp + 0x40]
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [rsi], 0
je 0x140055811
cmp byte [0x1400e8a80], 0
setne al
bt ebx, 8
jb 0x140055811
shr ebx, 9
and ebx, 1
or bl, al
je 0x140055811
cmp edi, 2
lea rax, str.SOFTWAREClasses
lea rsi, str.SOFTWARE
cmove rsi, rax
movzx ebp, byte [r12 + 0x17]
test bpl, bpl
js 0x140055891
mov rdi, r12
jmp 0x14005589a
mov rdi, qword [r12]
mov rbp, qword [r12 + 8]
mov r14d, 1
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x2c], 0
mov rbx, qword [rsi + 8]
mov r13, rbp
sub r13, rbx
jb 0x1400558d7
mov rdx, qword [rsi]
mov rcx, rdi
mov r8, rbx
call fcn.1400a1f94
test eax, eax
je 0x1400558e5
add rsi, 0x28
inc r15
cmp r15, r14
jb 0x1400558b9
jmp 0x140055962
movzx edx, word [rdi + rbx*2]
cmp dx, 0x5c
je 0x1400558f4
test dx, dx
jne 0x1400558d7
lea rcx, [rdi + rbx*2]
mov ebp, dword [rsi + 0x10]
lea rax, str.WOW6432Node_
cmp ebp, 1
je 0x140055922
cmp ebp, 2
jne 0x140055918
mov rdi, rcx
lea rax, str.WOW6432Node
jmp 0x140055922
mov rdi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
cmp dx, 0x5c
mov dword [rsp + 0x2c], ebp
jne 0x14005593f
lea rdx, [rcx + 2]
dec r13
cmp word [rcx + 2], 0x5c
mov rcx, rdx
je 0x14005592c
jmp 0x140055942
mov rdx, rcx
mov r14, qword [rsi + 0x20]
mov rsi, qword [rsi + 0x18]
mov rbp, r13
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rax
xor r15d, r15d
mov rdi, rdx
jmp 0x1400558de
cmp dword [rsp + 0x2c], 0
je 0x140055811
cmp byte [r12 + 0x17], 0
js 0x14005597a
mov rax, r12
jmp 0x14005597e
mov rax, qword [r12]
mov rdx, qword [rsp + 0x30]
sub rdx, rax
sar rdx, 1
mov rcx, r12
mov r8, qword [rsp + 0x38]
call fcn.140029010
jmp 0x140055811
Function at 0x140057490
Capabilities:
Check os version
Create pipe

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rsi, rcx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x58], rax
test dl, dl
je 0x1400574ef
call qword [sym.imp.KERNEL32.dll_GetVersion]
and eax, 0xfe
mov edi, 0x80003
cmp eax, 6
jb 0x1400574f4
xorps xmm0, xmm0
lea rbx, [rsp + 0x40]
movaps xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov dword [rbx], 0x18
xor ecx, ecx
call fcn.140057550
mov qword [rbx + 8], rax
mov dword [rbx + 0x10], 1
jmp 0x1400574f6
mov edi, 3
xor ebx, ebx
cmp byte [rsi + 0x17], 0
jns 0x1400574ff
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rbx
mov eax, 0x200
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0
mov rcx, rsi
mov edx, edi
mov r8d, 6
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov rsi, rax
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14008db90
mov rax, rsi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret

Function at 0x1400578c0
Capabilities:
Check os version

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x180
mov rsi, rcx
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x178], rax
call qword [sym.imp.KERNEL32.dll_GetVersion]
mov ecx, eax
and ecx, 0xfe
cmp ecx, 6
jb 0x14005794d
and eax, 0xfeff
cmp eax, 6
je 0x14005794d
mov eax, dword [0x1400e90c0]
mov ecx, dword [0x1400e8628]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400579bf
mov rcx, rsi
xor edx, edx
mov r8d, 0x10000000
call qword [0x1400e90b8]
mov esi, eax
test eax, eax
jne 0x140057946
mov ecx, 2
call fcn.1400485b0
test al, al
jne 0x140057975
test esi, esi
setne bl
jmp 0x140057958
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov bl, 1
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.14008db90
mov eax, ebx
add rsp, 0x180
pop rbx
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._third_party_crashpad_crashpad_util_win_critical_section_with_debug_info.cc
lea rdi, [rsp + 0x30]
mov rcx, rdi
mov r8d, 0x21
mov r9d, 2
call fcn.140049240
lea rcx, [rsp + 0x40]
lea rdx, [0x1400c27f1]
mov r8d, 0x1b
call fcn.140002b20
mov rcx, rdi
call fcn.140049330
jmp 0x140057946
lea rcx, [0x1400e90c0]
call fcn.14008d940
cmp dword [0x1400e90c0], 0xffffffff
jne 0x140057921
lea rcx, [0x1400bebc0]
lea rdx, str.::InitializeCriticalSectionEx
mov r8b, 1
call fcn.140057cb0
mov qword [0x1400e90b8], rax
lea rcx, [0x1400e90c0]
call fcn.14008d9d8
jmp 0x140057921
Function at 0x140057d20
Capabilities:
Get system information on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x190
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x188], rax
mov eax, dword [0x1400e9650]
mov ecx, dword [0x1400e8628]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140057d82
lea rsi, [0x1400e9648]
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.14008db90
mov rax, rsi
add rsp, 0x190
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x1400e9650]
call fcn.14008d940
cmp dword [0x1400e9650], 0xffffffff
jne 0x140057d5d
lea rsi, [rsp + 0x6c]
mov r8d, 0x118
mov rcx, rsi
xor edx, edx
call fcn.140090f50
mov dword [rsi - 4], 0x11c
lea rsi, [rsp + 0x68]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea rdi, [rsp + 0x2c]
mov dword [rdi], 0
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov qword [rsp + 0x20], rdi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetProductInfo]
mov ecx, 0x80
call fcn.14008d7cc
mov rsi, rax
mov edi, dword [rdi]
mov eax, dword [0x1400e9688]
mov ecx, dword [0x1400e8628]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x140057e70
lea rcx, [0x1400e9688]
call fcn.14008d940
cmp dword [0x1400e9688], 0xffffffff
jne 0x140057e70
xorps xmm0, xmm0
lea rbx, [rsp + 0x30]
movaps xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movaps xmm0, xmmword [rbx]
movaps xmm1, xmmword [rbx + 0x10]
movaps xmm2, xmmword [rbx + 0x20]
movups xmmword [0x1400e9678], xmm2
movups xmmword [0x1400e9668], xmm1
movups xmmword [0x1400e9658], xmm0
lea rcx, [0x1400e9688]
call fcn.14008d9d8
lea r8, [0x1400e9658]
lea rdx, [rsp + 0x68]
mov rcx, rsi
mov r9d, edi
call fcn.140057fb0
mov qword [0x1400e9648], rsi
lea rcx, [0x1400e9650]
call fcn.14008d9d8
jmp 0x140057d5d

Function at 0x140057ec0
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x60
mov rax, qword [0x1400e45d8]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov eax, dword [0x1400e9688]
mov ecx, dword [0x1400e8628]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x140057f52
lea rcx, [0x1400e9688]
call fcn.14008d940
cmp dword [0x1400e9688], 0xffffffff
jne 0x140057f52
xorps xmm0, xmm0
lea rsi, [rsp + 0x20]
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmm2, xmmword [rsi + 0x20]
movups xmmword [0x1400e9678], xmm2
movups xmmword [0x1400e9668], xmm1
movups xmmword [0x1400e9658], xmm0
lea rcx, [0x1400e9688]
call fcn.14008d9d8
movzx eax, word [0x1400e9658]
cmp ax, 9
jne 0x140057f79
mov esi, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14008db90
mov eax, esi
add rsp, 0x60
pop rsi
ret
xor esi, esi
test ax, ax
je 0x140057f64
cmp ax, 6
jne 0x140057f8d
mov esi, 2
jmp 0x140057f64
cmp ax, 0xc
jne 0x140057f9a
mov esi, 3
jmp 0x140057f64
mov esi, 4
jmp 0x140057f64