joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140167cf4
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
sub rsp, 0x10
mov rbx, r8
mov r11, rdx
xor r10d, r10d
test r9d, r9d
je 0x140167d6b
mov dword [rsp], r10d
cmp r10d, r9d
jae 0x140167d6b
inc byte [r11 + 0x100]
movzx r8d, byte [r11 + 0x100]
mov al, byte [r8 + r11]
add byte [r11 + 0x101], al
movzx edx, byte [r11 + 0x101]
mov cl, byte [rdx + r11]
mov al, byte [r8 + r11]
mov byte [rdx + r11], al
mov byte [r8 + r11], cl
movzx ecx, byte [r11 + 0x101]
movzx eax, byte [r11 + 0x100]
mov cl, byte [rcx + r11]
add cl, byte [rax + r11]
movzx eax, cl
mov cl, byte [rax + r11]
xor byte [r10 + rbx], cl
inc r10d
jmp 0x140167d08
xor eax, eax
jmp 0x140167d73
add rsp, 0x10
pop rbx
ret

Function at 0x1401760d4
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r14d, dword [rcx + 4]
mov r12, rdx
mov rdx, qword [rcx + 8]
mov rbx, r8
mov qword [rbp - 0x38], rdx
mov dword [rbp + 0x58], r14d
test r14d, r14d
je 0x1401761e9
xor edi, edi
test r14d, r14d
jle 0x1401761de
mov esi, r14d
mov rbx, rdx
lea r14, [0x140024ad8]
mov eax, esi
mov qword [rbp - 0x30], 3
cdq
mov qword [rbp - 0x28], r14
sub eax, edx
mov qword [rbp - 0x10], r12
sar eax, 1
xor r9d, r9d
mov r15d, eax
lea r13d, [rax + rdi]
movsxd rcx, r13d
lea rax, [rbp + 0x40]
lea r8d, [r9 + 0x28]
mov qword [rbp - 0x20], rax
lea rdx, [rbx + rcx*8]
mov ecx, 0xb9
mov qword [rbp - 0x18], rdx
lea rdx, [rbp - 0x30]
call sub.ntdll.dll_NtQuerySystemInformation
cmp dword [rbp + 0x40], 0
jge 0x140176181
or eax, 0xffffffff
lea edi, [r13 + 1]
sub eax, r15d
add esi, eax
jmp 0x140176184
mov esi, r15d
test esi, esi
jg 0x140176127
mov rbx, qword [rbp + 0x50]
cmp edi, dword [rbp + 0x58]
jge 0x1401761de
mov rdx, qword [rbp - 0x38]
xor r9d, r9d
movsxd rax, edi
mov ecx, 0xb9
mov qword [rbp - 0x30], 3
mov qword [rbp - 0x18], r12
lea r8d, [r9 + 0x28]
lea rdx, [rdx + rax*8]
lea rax, [0x140024ad8]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x30]
lea rax, [rbp - 0x40]
mov qword [rbp - 0x20], rax
call sub.ntdll.dll_NtQuerySystemInformation
cmp dword [rbp - 0x40], 0
jl 0x1401761de
mov al, 1
jmp 0x1401761e0
xor al, al
test rbx, rbx
je 0x1401761f4
mov dword [rbx], edi
jmp 0x1401761f4
xor al, al
test rbx, rbx
je 0x1401761f4
and dword [r8], 0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401775d0
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov rsi, rcx
xorps xmm0, xmm0
xor eax, eax
lea rcx, [rbp - 0x21]
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rax
mov r15, r8
mov r14, rdx
call qword [sym.imp.OLEAUT32.dll_VariantClear]
xorps xmm0, xmm0
lea rcx, [rbp - 0x39]
xor eax, eax
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], rax
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov r12d, 3
movsd xmm1, qword [rbp - 0x29]
xor edi, edi
and qword [rbp + 0x67], 0
cmp dword [0x140440768], 1
mov rbx, qword [rax + 0x1c0]
lea r13d, [r12 + 5]
mov rax, qword [0x1403c1610]
mov rcx, rbx
cmove rdi, qword [0x14043ff58]
mov dword [rbp - 0x31], r13d
mov word [rbp - 0x39], r12w
movups xmm0, xmmword [rbp - 0x39]
movsd qword [rbp + 7], xmm1
movaps xmmword [rbp - 9], xmm0
call rax
lea rcx, [rbp + 0x67]
mov rax, rbx
mov qword [rsp + 0x20], rcx
lea rdx, [rbp - 9]
mov rcx, rsi
xor r9d, r9d
mov r8, rdi
call rax
mov ebx, eax
test eax, eax
js 0x14017770c
movsd xmm1, qword [rbp - 0x11]
mov rbx, qword [rbp + 0x67]
mov qword [rbp - 0x19], r15
mov word [rbp - 0x21], r13w
movups xmm0, xmmword [rbp - 0x21]
mov rax, qword [rbx]
movsd qword [rbp + 7], xmm1
movaps xmmword [rbp - 9], xmm0
mov rdi, qword [rax + 0x48]
mov rax, qword [0x1403c1610]
mov rcx, rdi
call rax
mov rax, rdi
lea rdx, [rbp - 9]
mov rcx, rbx
call rax
mov ebx, eax
test eax, eax
js 0x14017770c
mov rax, qword [r14]
mov rbx, qword [rax + 0xa8]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rdx, qword [rbp + 0x67]
mov rax, rbx
xor r8d, r8d
mov rcx, r14
call rax
mov ebx, eax
test eax, eax
jns 0x140177713
mov ecx, eax
call fcn.140079c40
mov ecx, ebx
call fcn.140079c60
and qword [rbp + 0x27], 0
lea rax, [0x14001d298]
xor r9d, r9d
mov qword [rbp + 0x1f], rax
lea rax, [rbp + 0x67]
mov qword [rbp + 0x17], r12
lea rdx, [rbp + 0x17]
mov qword [rbp + 0x2f], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
Function at 0x140177898
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
and qword [rbp + 0x20], 0
mov rdi, rcx
movsxd rsi, edx
cmp dword [rcx], esi
je 0x140177a02
mov r15d, dword [rcx + 4]
cmp esi, r15d
cmovl r15d, esi
test edx, edx
jle 0x14017797a
xor ebx, ebx
mov rcx, rsi
test edx, edx
je 0x140177907
mov r14, rcx
shl r14, 3
mov rax, r14
shr rax, 3
cmp rax, rcx
je 0x14017790a
mov ebx, 0x80070216
mov ecx, ebx
call fcn.140079c40
mov r14, qword [rbp + 0x20]
jmp 0x14017790a
xor r14d, r14d
mov ecx, ebx
call fcn.140079c60
test ebx, ebx
jns 0x140177921
mov ecx, ebx
call fcn.140079c40
jmp 0x140177a04
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, qword [rbp + 0x20]
mov rbx, rax
test r14, r14
je 0x140177955
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x140177a5c
mov qword [rbp + 0x20], rbx
test r15d, r15d
je 0x14017797a
mov rdx, qword [rdi + 8]
mov rcx, rbx
movsxd r8, r15d
shl r8, 3
call sub.msvcrt.dll_memcpy
cmp esi, dword [rdi + 4]
jge 0x1401779c9
mov ebx, esi
mov rcx, qword [rdi + 8]
movsxd rax, ebx
lea rdx, [rcx + rax*8]
test rdx, rdx
je 0x1401779c2
and qword [rbp - 0x10], 0
lea rax, [0x14000d1d8]
xor r9d, r9d
mov qword [rbp - 8], rdx
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], 3
mov ecx, 0xb9
mov qword [rbp - 0x18], rax
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
inc ebx
cmp ebx, dword [rdi + 4]
jl 0x140177981
mov r14, qword [rbp + 0x20]
and qword [rbp + 0x20], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1401779ef
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test r14, r14
cmovne rax, r14
mov qword [rdi + 8], rax
mov dword [rdi + 4], r15d
mov dword [rdi], esi
xor ebx, ebx
mov ecx, ebx
call fcn.140079c60
and qword [rbp - 0x10], 0
lea rax, [0x14002d9d8]
xor r9d, r9d
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x20], 3
lea rdx, [rbp - 0x20]
mov qword [rbp - 8], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
mov rsi, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
ret
mov ebx, 0x8007000e
jmp 0x140177915
Function at 0x140177a6c
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rdi, rcx
movsxd rsi, edx
mov ecx, dword [rcx + 4]
mov r15, r8
test ecx, ecx
jns 0x140177a98
mov ebx, 0x8000ffff
mov ecx, ebx
jmp 0x140177aaf
lea r8, [rsp + 0x70]
mov edx, 1
call fcn.140079280
mov ebx, eax
test eax, eax
jns 0x140177ab9
mov ecx, eax
call fcn.140079c40
jmp 0x140177b63
mov edx, dword [rsp + 0x70]
mov rcx, rdi
call fcn.140178db8
mov ebx, eax
test eax, eax
js 0x140177aad
mov ecx, dword [rdi + 4]
mov rbx, rsi
cmp esi, ecx
jge 0x140177aef
mov rax, qword [rdi + 8]
sub ecx, esi
movsxd r8, ecx
shl r8, 3
lea rdx, [rax + rsi*8]
lea rcx, [rdx + 8]
call sub.msvcrt.dll_memmove
mov rax, qword [rdi + 8]
xor ecx, ecx
mov qword [rax + rbx*8], rcx
mov r14, qword [rdi + 8]
mov rsi, qword [r15]
and qword [r15], rcx
mov rax, qword [r14 + rbx*8]
test rax, rax
je 0x140177b51
lea rcx, [0x140020698]
mov qword [rsp + 0x20], 3
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x88]
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x30], rcx
mov ecx, 0xb9
lea r8d, [r9 + 0x24]
call sub.ntdll.dll_NtQuerySystemInformation
xor eax, eax
test rsi, rsi
cmovne rax, rsi
mov qword [r14 + rbx*8], rax
inc dword [rdi + 4]
xor ebx, ebx
mov ecx, ebx
call fcn.140079c60
lea r11, [rsp + 0x50]
mov eax, ebx
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x140177b8c
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
and qword [rbp + 0x20], 0
mov rdi, rcx
movsxd rsi, edx
cmp dword [rcx], esi
je 0x140177cf6
mov r15d, dword [rcx + 4]
cmp esi, r15d
cmovl r15d, esi
test edx, edx
jle 0x140177c6e
xor ebx, ebx
mov rcx, rsi
test edx, edx
je 0x140177bfb
mov r14, rcx
shl r14, 3
mov rax, r14
shr rax, 3
cmp rax, rcx
je 0x140177bfe
mov ebx, 0x80070216
mov ecx, ebx
call fcn.140079c40
mov r14, qword [rbp + 0x20]
jmp 0x140177bfe
xor r14d, r14d
mov ecx, ebx
call fcn.140079c60
test ebx, ebx
jns 0x140177c15
mov ecx, ebx
call fcn.140079c40
jmp 0x140177cf8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, qword [rbp + 0x20]
mov rbx, rax
test r14, r14
je 0x140177c49
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x140177d50
mov qword [rbp + 0x20], rbx
test r15d, r15d
je 0x140177c6e
mov rdx, qword [rdi + 8]
mov rcx, rbx
movsxd r8, r15d
shl r8, 3
call sub.msvcrt.dll_memcpy
cmp esi, dword [rdi + 4]
jge 0x140177cbd
mov ebx, esi
mov rcx, qword [rdi + 8]
movsxd rax, ebx
lea rdx, [rcx + rax*8]
test rdx, rdx
je 0x140177cb6
and qword [rbp - 0x10], 0
lea rax, [0x140028558]
xor r9d, r9d
mov qword [rbp - 8], rdx
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], 3
mov ecx, 0xb9
mov qword [rbp - 0x18], rax
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
inc ebx
cmp ebx, dword [rdi + 4]
jl 0x140177c75
mov r14, qword [rbp + 0x20]
and qword [rbp + 0x20], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140177ce3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test r14, r14
cmovne rax, r14
mov qword [rdi + 8], rax
mov dword [rdi + 4], r15d
mov dword [rdi], esi
xor ebx, ebx
mov ecx, ebx
call fcn.140079c60
and qword [rbp - 0x10], 0
lea rax, [0x140021058]
xor r9d, r9d
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x20], 3
lea rdx, [rbp - 0x20]
mov qword [rbp - 8], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
mov rsi, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
ret
mov ebx, 0x8007000e
jmp 0x140177c09
Function at 0x1401784c8
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
and qword [rbp - 0x48], 0
lea rax, [0x14002d698]
and qword [rbp - 0x14], 0
mov r15, r9
mov qword [rbp - 0x38], rax
xor r9d, r9d
lea rax, [rbp + 0x38]
mov dword [rbp - 0x18], r8d
mov qword [rbp - 0x30], rax
mov esi, r8d
lea rax, [0x1403ca998]
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x20], rax
lea r8d, [r9 + 0x3c]
lea rax, [rbp + 0x40]
mov qword [rbp - 0x40], 3
mov r14, rdx
mov qword [rbp - 0xc], rax
mov r12, rcx
lea rdx, [rbp - 0x40]
lea ecx, [r8 + 0x7d]
call sub.ntdll.dll_NtQuerySystemInformation
mov ebx, dword [rbp + 0x38]
cmp ebx, 0xc004d304
jne 0x140178556
xor ebx, ebx
jmp 0x14017863f
test ebx, ebx
js 0x140178638
mov ebx, dword [rbp + 0x40]
shl rbx, 3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, qword [rbp - 0x48]
mov rbx, rax
test rdi, rdi
je 0x140178599
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x140178633
lea rax, [0x14002d698]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x40]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x14], rbx
mov qword [rbp - 0x30], rax
xor r9d, r9d
lea rax, [0x1403ca998]
mov qword [rbp - 0x40], 3
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x40]
mov qword [rbp - 0xc], rax
lea r8d, [r9 + 0x3c]
mov qword [rbp - 0x28], r14
lea ecx, [r8 + 0x7d]
mov dword [rbp - 0x18], esi
call sub.ntdll.dll_NtQuerySystemInformation
mov ebx, dword [rbp - 0x50]
test ebx, ebx
js 0x140178638
xor edi, edi
cmp dword [rbp + 0x40], edi
jbe 0x14017863f
mov rsi, qword [rbp + 0x50]
mov rax, qword [rbp - 0x48]
mov r9, r15
mov rdx, r14
mov qword [rsp + 0x20], rsi
mov rcx, r12
mov r8, qword [rax + rdi*8]
call fcn.140179864
mov ebx, eax
test eax, eax
js 0x14017862f
inc edi
cmp edi, dword [rbp + 0x40]
jb 0x140178605
jmp 0x14017863f
mov ecx, eax
jmp 0x14017863a
mov ebx, 0x8007000e
mov ecx, ebx
call fcn.140079c40
mov ecx, ebx
call fcn.140079c60
and qword [rbp - 0x30], 0
lea rax, [0x14002e398]
xor r9d, r9d
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x40], 3
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x28], rax
lea r8d, [r9 + 0x3c]
lea ecx, [r8 + 0x7d]
call sub.ntdll.dll_NtQuerySystemInformation
lea r11, [rsp + 0x80]
mov eax, ebx
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
Function at 0x140179330
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
and qword [rbp + 0x20], 0
mov rdi, rcx
movsxd rsi, edx
cmp dword [rcx], esi
je 0x1401794aa
mov r15d, dword [rcx + 4]
cmp esi, r15d
cmovl r15d, esi
test edx, edx
jle 0x14017941e
xor ebx, ebx
test edx, edx
je 0x1401793a7
lea r14, [rsi + rsi*8]
movabs rax, 0xe38e38e38e38e38f
shl r14, 3
mul r14
shr rdx, 6
cmp rdx, rsi
je 0x1401793aa
mov ebx, 0x80070216
mov ecx, ebx
call fcn.140079c40
mov r14, qword [rbp + 0x20]
jmp 0x1401793aa
xor r14d, r14d
mov ecx, ebx
call fcn.140079c60
test ebx, ebx
jns 0x1401793c1
mov ecx, ebx
call fcn.140079c40
jmp 0x1401794ac
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, qword [rbp + 0x20]
mov rbx, rax
test r14, r14
je 0x1401793f5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x140179504
mov qword [rbp + 0x20], rbx
test r15d, r15d
je 0x14017941e
mov rdx, qword [rdi + 8]
mov rcx, rbx
movsxd rax, r15d
lea r8, [rax + rax*8]
shl r8, 3
call sub.msvcrt.dll_memcpy
cmp esi, dword [rdi + 4]
jge 0x140179471
mov ebx, esi
mov rdx, qword [rdi + 8]
movsxd rax, ebx
lea rcx, [rax + rax*8]
lea rax, [rdx + rcx*8]
test rax, rax
je 0x14017946a
and qword [rbp - 0x10], 0
lea rcx, [0x1400334d8]
xor r9d, r9d
mov qword [rbp - 0x18], rcx
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], 3
mov ecx, 0xb9
mov qword [rbp - 8], rax
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
inc ebx
cmp ebx, dword [rdi + 4]
jl 0x140179425
mov r14, qword [rbp + 0x20]
and qword [rbp + 0x20], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140179497
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test r14, r14
cmovne rax, r14
mov qword [rdi + 8], rax
mov dword [rdi + 4], r15d
mov dword [rdi], esi
xor ebx, ebx
mov ecx, ebx
call fcn.140079c60
and qword [rbp - 0x10], 0
lea rax, [0x14001ab98]
xor r9d, r9d
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x20], 3
lea rdx, [rbp - 0x20]
mov qword [rbp - 8], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
mov rsi, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
ret
mov ebx, 0x8007000e
jmp 0x1401793b5
Function at 0x140179514
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
xor ebx, ebx
movsxd rsi, edx
mov r14, rcx
mov qword [rbp + 0x20], rbx
cmp dword [rcx], esi
je 0x140179628
mov r15d, dword [rcx + 4]
cmp esi, r15d
cmovl r15d, esi
test edx, edx
jle 0x1401795f0
mov rcx, rsi
mov rdi, rcx
shl rdi, 5
mov rax, rdi
shr rax, 5
cmp rax, rcx
je 0x14017957c
mov ebx, 0x80070216
mov ecx, ebx
call fcn.140079c40
mov rdi, qword [rbp + 0x20]
mov ecx, ebx
call fcn.140079c60
test ebx, ebx
jns 0x140179593
mov ecx, ebx
call fcn.140079c40
jmp 0x140179628
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, qword [rbp + 0x20]
mov rbx, rax
test rdi, rdi
je 0x1401795c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x140179680
mov qword [rbp + 0x20], rbx
test r15d, r15d
je 0x1401795f0
mov rdx, qword [r14 + 8]
mov rcx, rbx
movsxd r8, r15d
shl r8, 5
call sub.msvcrt.dll_memcpy
mov rbx, qword [rbp + 0x20]
and qword [rbp + 0x20], 0
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x140179612
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test rbx, rbx
cmovne rax, rbx
xor ebx, ebx
mov qword [r14 + 8], rax
mov dword [r14 + 4], r15d
mov dword [r14], esi
mov ecx, ebx
call fcn.140079c60
and qword [rbp - 0x10], 0
lea rax, [0x140015718]
xor r9d, r9d
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x20], 3
lea rdx, [rbp - 0x20]
mov qword [rbp - 8], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
mov rsi, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
ret
mov ebx, 0x8007000e
jmp 0x140179587
Function at 0x140179690
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
and qword [rbp + 0x20], 0
mov rdi, rcx
movsxd rsi, edx
cmp dword [rcx], esi
je 0x1401797f7
mov r15d, dword [rcx + 4]
cmp esi, r15d
cmovl r15d, esi
test edx, edx
jle 0x140179772
xor ebx, ebx
mov rcx, rsi
test edx, edx
je 0x1401796ff
mov r14, rcx
shl r14, 5
mov rax, r14
shr rax, 5
cmp rax, rcx
je 0x140179702
mov ebx, 0x80070216
mov ecx, ebx
call fcn.140079c40
mov r14, qword [rbp + 0x20]
jmp 0x140179702
xor r14d, r14d
mov ecx, ebx
call fcn.140079c60
test ebx, ebx
jns 0x140179719
mov ecx, ebx
call fcn.140079c40
jmp 0x1401797f9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, qword [rbp + 0x20]
mov rbx, rax
test r14, r14
je 0x14017974d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x140179851
mov qword [rbp + 0x20], rbx
test r15d, r15d
je 0x140179772
mov rdx, qword [rdi + 8]
mov rcx, rbx
movsxd r8, r15d
shl r8, 5
call sub.msvcrt.dll_memcpy
cmp esi, dword [rdi + 4]
jge 0x1401797be
mov ebx, esi
movsxd rdx, ebx
shl rdx, 5
add rdx, qword [rdi + 8]
je 0x1401797b7
and qword [rbp - 0x10], 0
lea rax, [0x140033e98]
xor r9d, r9d
mov qword [rbp - 8], rdx
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], 3
mov ecx, 0xb9
mov qword [rbp - 0x18], rax
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
inc ebx
cmp ebx, dword [rdi + 4]
jl 0x140179779
mov r14, qword [rbp + 0x20]
and qword [rbp + 0x20], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1401797e4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test r14, r14
cmovne rax, r14
mov qword [rdi + 8], rax
mov dword [rdi + 4], r15d
mov dword [rdi], esi
xor ebx, ebx
mov ecx, ebx
call fcn.140079c60
and qword [rbp - 0x10], 0
lea rax, [0x140024e18]
xor r9d, r9d
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x20], 3
lea rdx, [rbp - 0x20]
mov qword [rbp - 8], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
mov rsi, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
ret
mov ebx, 0x8007000e
jmp 0x14017970d
Function at 0x140179d30
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rsi, rcx
xorps xmm0, xmm0
xor eax, eax
lea rcx, [rbp - 0x21]
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rax
mov r15, r8
mov r14, rdx
call qword [sym.imp.OLEAUT32.dll_VariantClear]
xorps xmm0, xmm0
lea rcx, [rbp - 0x39]
xor eax, eax
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], rax
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov r12d, 3
movsd xmm1, qword [rbp - 0x29]
xor edi, edi
and qword [rbp + 0x67], 0
cmp dword [0x140440768], 1
mov rbx, qword [rax + 0x1c0]
mov rax, qword [0x1403c1610]
mov rcx, rbx
cmove rdi, qword [0x14043ff58]
mov word [rbp - 0x39], r12w
mov dword [rbp - 0x31], r12d
movups xmm0, xmmword [rbp - 0x39]
movsd qword [rbp + 7], xmm1
movaps xmmword [rbp - 9], xmm0
call rax
lea rcx, [rbp + 0x67]
mov rax, rbx
mov qword [rsp + 0x20], rcx
lea rdx, [rbp - 9]
mov rcx, rsi
xor r9d, r9d
mov r8, rdi
call rax
mov ebx, eax
test eax, eax
js 0x140179e66
movsd xmm1, qword [rbp - 0x11]
lea eax, [r12 + 5]
mov rbx, qword [rbp + 0x67]
mov word [rbp - 0x21], ax
mov qword [rbp - 0x19], r15
movups xmm0, xmmword [rbp - 0x21]
mov rax, qword [rbx]
movsd qword [rbp + 7], xmm1
movaps xmmword [rbp - 9], xmm0
mov rdi, qword [rax + 0x48]
mov rax, qword [0x1403c1610]
mov rcx, rdi
call rax
mov rax, rdi
lea rdx, [rbp - 9]
mov rcx, rbx
call rax
mov ebx, eax
test eax, eax
js 0x140179e66
mov rax, qword [r14]
mov rbx, qword [rax + 0xa8]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rdx, qword [rbp + 0x67]
mov rax, rbx
xor r8d, r8d
mov rcx, r14
call rax
mov ebx, eax
test eax, eax
jns 0x140179e6d
mov ecx, eax
call fcn.140079c40
mov ecx, ebx
call fcn.140079c60
and qword [rbp + 0x27], 0
lea rax, [0x14001d298]
xor r9d, r9d
mov qword [rbp + 0x1f], rax
lea rax, [rbp + 0x67]
mov qword [rbp + 0x17], r12
lea rdx, [rbp + 0x17]
mov qword [rbp + 0x2f], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret