joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401b39d0
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
and qword [rax + 8], 0
mov rbp, rcx
mov rax, qword gs:[0x58]
mov r15, r9
mov ecx, 4
mov r12, r8
mov r14, rdx
mov r10, qword [rax]
mov eax, dword [rcx + r10]
cmp dword [0x140440b28], eax
jg 0x1401b3b2a
mov rsi, qword [rbp + 0x18]
xor edi, edi
cmp dword [0x140440d60], 1
cmove rdi, qword [0x140440260]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x178]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rax, rbx
lea r8, [rsp + 0x90]
mov rdx, rdi
mov rcx, rsi
call rax
mov ebx, eax
test eax, eax
js 0x1401b3ac2
mov rax, qword [rsp + 0x90]
lea r9, [0x140440b30]
and qword [rsp + 0x30], 0
mov r8, r15
mov qword [rsp + 0x28], rax
mov rdx, r12
mov rcx, rbp
mov dword [rsp + 0x20], 1
call fcn.1401b519c
mov ebx, eax
test eax, eax
js 0x1401b3ac2
mov rax, qword [r14]
mov rbx, qword [rax + 0xa8]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rdx, qword [rsp + 0x90]
mov rax, rbx
xor r8d, r8d
mov rcx, r14
call rax
mov ebx, eax
test eax, eax
jns 0x1401b3ac9
mov ecx, eax
call fcn.140079c40
mov ecx, ebx
call fcn.140079c60
and qword [rsp + 0x50], 0
lea rax, [0x14001a1d8]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x40], 3
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
lea r11, [rsp + 0x60]
mov eax, ebx
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
lea rcx, [0x140440b28]
call fcn.14037adcc
cmp dword [0x140440b28], 0xffffffff
jne 0x1401b3a19
and qword [0x140440b38], 0
lea rax, str.metaInfoType
and dword [0x140440b40], 0
lea rcx, [0x140440b28]
or dword [0x140440b44], 0xffffffff
mov qword [0x140440b30], rax
call fcn.14037ad5c
jmp 0x1401b3a19
Function at 0x1401b3b80
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
and qword [rax + 8], 0
mov rbp, rcx
mov rax, qword gs:[0x58]
mov r15, r9
mov ecx, 4
mov r12, r8
mov r14, rdx
mov r10, qword [rax]
mov eax, dword [rcx + r10]
cmp dword [0x140440b48], eax
jg 0x1401b3cda
mov rsi, qword [rbp + 0x18]
xor edi, edi
cmp dword [0x140440d60], 1
cmove rdi, qword [0x140440248]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x178]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rax, rbx
lea r8, [rsp + 0x90]
mov rdx, rdi
mov rcx, rsi
call rax
mov ebx, eax
test eax, eax
js 0x1401b3c72
mov rax, qword [rsp + 0x90]
lea r9, [0x140440b50]
and qword [rsp + 0x30], 0
mov r8, r15
mov qword [rsp + 0x28], rax
mov rdx, r12
mov rcx, rbp
mov dword [rsp + 0x20], 2
call fcn.1401b519c
mov ebx, eax
test eax, eax
js 0x1401b3c72
mov rax, qword [r14]
mov rbx, qword [rax + 0xa8]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rdx, qword [rsp + 0x90]
mov rax, rbx
xor r8d, r8d
mov rcx, r14
call rax
mov ebx, eax
test eax, eax
jns 0x1401b3c79
mov ecx, eax
call fcn.140079c40
mov ecx, ebx
call fcn.140079c60
and qword [rsp + 0x50], 0
lea rax, [0x14001a1d8]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x40], 3
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov ecx, 0xb9
lea r8d, [r9 + 0x20]
call sub.ntdll.dll_NtQuerySystemInformation
lea r11, [rsp + 0x60]
mov eax, ebx
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
lea rcx, [0x140440b48]
call fcn.14037adcc
cmp dword [0x140440b48], 0xffffffff
jne 0x1401b3bc9
and qword [0x140440b58], 0
lea rax, str.metaInfoType
and dword [0x140440b60], 0
lea rcx, [0x140440b48]
or dword [0x140440b64], 0xffffffff
xorps xmm0, xmm0
mov qword [0x140440b50], rax
xor eax, eax
mov qword [0x140440b78], rax
lea rax, str.windowsComponentLicenseFileName
and dword [0x140440b78], 0
movups xmmword [0x140440b68], xmm0
mov qword [0x140440b68], rax
lea rax, str.path
mov qword [0x140440b70], rax
mov dword [0x140440b7c], 1
call fcn.14037ad5c
jmp 0x1401b3bc9
Function at 0x1401b6464
Capabilities:
Check if file exists
Copy file
Get file attributes
Move file
Set file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x20], 0
mov rdi, rcx
jne 0x1401b6483
xor ebx, ebx
jmp 0x1401b6600
lea rdx, [rsp + 0x30]
call fcn.1401b0c28
mov ebx, eax
test eax, eax
jns 0x1401b649a
mov esi, eax
jmp 0x1401b65e3
mov rdx, qword [rdi + 8]
lea rax, [rdx - 1]
cmp rax, 0xfffffffffffffffd
seta al
xor ecx, ecx
test al, al
cmove rcx, rdx
test rcx, rcx
je 0x1401b6516
cmp dword [rdi], 0
jne 0x1401b64e3
cmp dword [rdi + 0x20], 0
jne 0x1401b64e3
lea rax, [rdx - 1]
cmp rax, 0xfffffffffffffffd
seta al
xor ecx, ecx
test al, al
cmove rcx, rdx
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
xor ecx, ecx
test eax, eax
sete cl
mov dword [rdi], ecx
mov rcx, qword [rdi + 8]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1401b64fc
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or qword [rdi + 8], 0xffffffffffffffff
cmp dword [rdi + 0x20], 0
jne 0x1401b6516
cmp dword [rdi], 0
je 0x1401b650d
mov rdx, qword [rdi + 0x10]
jmp 0x1401b6511
mov rdx, qword [rdi + 0x18]
call fcn.1401b07e8
mov dword [rdi + 0x20], 1
mov rdx, qword [rdi + 0x18]
call fcn.1401b07e8
mov rdx, qword [rdi + 0x18]
xor r8d, r8d
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x1401b6561
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1401b654c
mov ebx, 0x80004005
jmp 0x1401b655a
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov esi, ebx
jmp 0x1401b65e3
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
mov rcx, qword [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x1401b653b
mov rbx, qword [rdi + 0x10]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1401b6597
bts eax, 0xd
mov rcx, rbx
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov r9, qword [rdi + 0x10]
mov edx, 0xc0000000
mov r8d, 4
mov rcx, rdi
call fcn.1401b787c
mov ebx, eax
mov esi, eax
test eax, eax
jns 0x1401b65bd
mov ecx, eax
call fcn.140079c40
mov ecx, ebx
call fcn.140079c60
test ebx, ebx
js 0x1401b65e3
mov edx, dword [rsp + 0x30]
xor r8d, r8d
and dword [rdi + 0x20], 0
mov rcx, rdi
call fcn.1401b09c4
mov ebx, eax
mov esi, eax
test eax, eax
jns 0x1401b6600
mov ecx, esi
call fcn.140079c40
test ebx, ebx
jns 0x1401b6600
xor r9d, r9d
mov r8d, ebx
mov rcx, rdi
lea edx, [r9 + 3]
call fcn.1401b0864
mov ecx, ebx
call fcn.140079c60
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1402fb9a4
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov r14, qword [rbp + 0x77]
mov r12, r9
and qword [rbp - 0x21], 0
mov r15d, r8d
and dword [rbp + 0x67], 0
mov rdi, rdx
and dword [rbp - 0x39], 0
mov rsi, rcx
cmp dword [r14], r8d
jae 0x1402fb9ee
mov edi, 0x80049e19
jmp 0x1402fbb64
mov rax, qword [rdx]
and qword [rbp - 0x31], 0
and qword [rbp - 0x29], 0
and qword [rbp - 0x19], 0
mov rbx, qword [rax]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rax, rbx
lea r8, [rbp - 0x29]
lea rdx, [0x140412070]
mov rcx, rdi
call rax
test eax, eax
je 0x1402fba30
mov edi, 0x80049e2f
jmp 0x1402fbabe
mov rdi, qword [rbp - 0x29]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x30]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rax, rbx
lea rdx, [rbp - 0x31]
mov rcx, rdi
call rax
mov edi, eax
test eax, eax
js 0x1402fbabe
mov rdx, qword [rbp - 0x31]
lea r8, [rbp - 0x19]
mov rcx, rsi
call fcn.1402fb0d8
mov edi, eax
test eax, eax
js 0x1402fbabe
lea rax, [0x140050598]
mov qword [rbp - 0x11], 3
mov qword [rbp - 9], rax
lea rdx, [rbp - 0x11]
lea rax, [rbp + 0x77]
mov qword [rbp + 7], rsi
mov qword [rbp - 1], rax
xor r9d, r9d
mov rax, qword [rbp - 0x29]
mov ecx, 0xb9
mov qword [rbp + 0xf], rax
mov rax, qword [rbp - 0x19]
mov qword [rbp + 0x17], rax
lea r8d, [r9 + 0x38]
lea rax, [rbp - 0x21]
mov qword [rbp + 0x1f], rax
call sub.ntdll.dll_NtQuerySystemInformation
mov edi, dword [rbp + 0x77]
mov rsi, qword [rbp - 0x31]
test rsi, rsi
je 0x1402fbae7
mov rax, qword [rsi]
mov rbx, qword [rax + 0x10]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rax, rbx
mov rcx, rsi
call rax
and qword [rbp - 0x31], 0
mov rsi, qword [rbp - 0x29]
test rsi, rsi
je 0x1402fbb0b
mov rax, qword [rsi]
mov rbx, qword [rax + 0x10]
mov rax, qword [0x1403c1610]
mov rcx, rbx
call rax
mov rax, rbx
mov rcx, rsi
call rax
test edi, edi
js 0x1402fbb64
mov eax, dword [r14]
mov r8d, r15d
mov r9, qword [rbp + 0x7f]
mov rdx, r12
mov rcx, qword [rbp - 0x21]
mov dword [rbp + 0x67], eax
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
call fcn.1401661ac
mov edi, eax
test eax, eax
js 0x1402fbb64
mov eax, dword [r14]
lea r9, [rbp - 0x39]
mov r8d, dword [rbp + 0x67]
sub eax, r8d
mov rdx, qword [rbp + 0x7f]
mov rcx, qword [rbp - 0x21]
mov dword [rbp - 0x39], eax
call fcn.140166514
mov edi, eax
test eax, eax
js 0x1402fbb64
mov ecx, dword [rbp + 0x67]
add ecx, dword [rbp - 0x39]
mov dword [r14], ecx
mov rcx, qword [rbp - 0x21]
call fcn.140165518
lea r11, [rsp + 0x90]
mov eax, edi
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
Function at 0x140377f88
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rsi, r8
mov ebp, edx
mov rdi, rcx
test r8, r8
je 0x140378132
cmp edx, 0x14
jbe 0x140378132
mov rbx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
and qword [rdi + 0x20], 0
mov rbx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
and qword [rdi + 0x10], 0
lea r15, [rdi + 0x30]
mov rcx, qword [r15]
and dword [rdi + 0x18], 0
test rcx, rcx
je 0x14037800e
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
and qword [r15], 0
mov ecx, dword [rsi + 0xc]
lea r14, [rdi + 0x2c]
shr ecx, 3
mov dword [rdi + 0x28], ecx
mov eax, dword [rsi + 0x10]
mov dword [r14], eax
mov eax, ecx
shr eax, 1
add eax, 4
lea eax, [rax + rax*4]
lea ecx, [rax + rcx*2]
cmp ebp, ecx
jne 0x140378132
mov rbx, qword [rdi + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
and qword [rdi + 0x20], 0
mov ebx, dword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rdi + 0x20], rax
test rax, rax
jne 0x14037807d
mov ebx, 0x8007000e
jmp 0x140378137
mov r8d, dword [rdi + 0x28]
lea rdx, [rsi + 0x14]
mov rcx, rax
call sub.msvcrt.dll_memcpy
test r14, r14
je 0x140378132
mov edx, 4
mov rcx, r14
call fcn.140378fb8
mov ebx, eax
test eax, eax
jne 0x140378137
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x140378132
mov edx, dword [rdi + 0x28]
call fcn.140378fb8
mov ebx, eax
test eax, eax
jne 0x140378137
lea r14, [rdi + 0x38]
cmp qword [r14], 0
jne 0x140378106
lea r9d, [rax + 0x18]
mov dword [rsp + 0x20], 0xf0000000
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
xor edx, edx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140378106
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x140378137
mov rcx, qword [r14]
xor r9d, r9d
mov qword [rsp + 0x28], r15
mov r8d, ebp
mov rdx, rsi
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
je 0x1403780f0
mov dword [rdi + 0xc], 4
jmp 0x140378137
mov ebx, 0x80070057
mov rbp, qword [rsp + 0x58]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
Function at 0x140379520
Capabilities:
Encrypt or decrypt via wincrypt
Generate random numbers via winapi

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
mov r12, r9
mov dword [rax + 0x10], r15d
mov ebp, r8d
mov rsi, rdx
mov rbx, rcx
mov edi, r15d
test rdx, rdx
je 0x14037973b
test r9, r9
je 0x14037973b
mov r14, qword [rsp + 0xa0]
test r14, r14
je 0x14037973b
cmp qword [rcx + 0x30], r15
jne 0x140379583
mov ebx, 0x80049e51
jmp 0x140379740
mov r13d, dword [r14]
lea rdx, str.http:__www.w3.org_2001_04_xmlencaes128_cbc
mov rcx, rsi
mov dword [r14], r15d
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1403795af
cmp dword [rbx + 0xc], 1
lea esi, [rax + 0x10]
je 0x1403795eb
mov ebx, 0x80049e2e
jmp 0x140379740
lea rdx, str.http:__www.w3.org_2001_04_xmlencaes192_cbc
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1403795cb
cmp dword [rbx + 0xc], 2
lea esi, [rax + 0x18]
jmp 0x1403795a3
lea rdx, str.http:__www.w3.org_2001_04_xmlencaes256_cbc
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140379734
cmp dword [rbx + 0xc], 3
lea esi, [rax + 0x20]
jmp 0x1403795a3
mov rcx, qword [rbx + 0x30]
lea r15d, [rsi + rbp]
xor r9d, r9d
mov dword [rsp + 0x30], r15d
lea rax, [rsp + 0x88]
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x28], rax
xor edx, edx
and qword [rsp + 0x20], rdi
lea r8d, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_CryptEncrypt]
test eax, eax
jne 0x14037963e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x140379740
mov ebp, dword [rsp + 0x88]
mov dword [r14], ebp
mov r14, qword [rsp + 0xa8]
test r14, r14
je 0x140379730
cmp r13d, ebp
jae 0x140379668
mov ebx, 0x80049e19
jmp 0x140379740
mov dword [rsp + 0x88], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140379696
mov ebx, 0x8007000e
jmp 0x140379740
mov r8, rbp
xor edx, edx
mov rcx, rdi
call sub.msvcrt.dll_memset
mov r8d, dword [rsp + 0x90]
mov rdx, r12
mov ecx, esi
add rcx, rdi
call sub.msvcrt.dll_memcpy
mov r15d, 2
mov r8d, esi
mov r9d, r15d
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
je 0x1403796ec
mov r9d, r15d
mov r8d, esi
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
mov ebx, eax
bts ebx, 0x1c
jmp 0x140379740
mov rcx, qword [rbx + 0x30]
lea rax, [rsp + 0x88]
xor r9d, r9d
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], rax
xor edx, edx
mov qword [rsp + 0x20], rdi
lea r8d, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_CryptEncrypt]
test eax, eax
je 0x140379625
mov r8d, dword [rsp + 0x88]
mov rdx, rdi
mov rcx, r14
call sub.msvcrt.dll_memcpy
xor ebx, ebx
jmp 0x140379740
mov ebx, 0x80049e5b
jmp 0x140379740
mov ebx, 0x80070057
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140379778
Capabilities:
Encrypt or decrypt via wincrypt

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor edi, edi
mov r12d, r8d
mov dword [rax + 0x10], edi
mov r15, r9
mov rbp, rdx
mov rsi, rcx
mov ebx, edi
test rdx, rdx
je 0x1403798e8
test r9, r9
je 0x1403798e8
mov r14, qword [rsp + 0x80]
test r14, r14
je 0x1403798e8
cmp qword [rcx + 0x30], rdi
jne 0x1403797da
mov edi, 0x80049e51
jmp 0x1403798ed
mov r13d, dword [r14]
lea rdx, str.http:__www.w3.org_2001_04_xmlencaes128_cbc
mov rcx, rbp
mov dword [r14], edi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140379803
cmp dword [rsi + 0xc], 1
je 0x140379839
mov edi, 0x80049e2e
jmp 0x1403798ed
lea rdx, str.http:__www.w3.org_2001_04_xmlencaes192_cbc
mov rcx, rbp
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14037981c
cmp dword [rsi + 0xc], 2
jmp 0x1403797f7
lea rdx, str.http:__www.w3.org_2001_04_xmlencaes256_cbc
mov rcx, rbp
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1403798e1
cmp dword [rsi + 0xc], 3
jmp 0x1403797f7
mov dword [rsp + 0x68], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x140379864
mov edi, 0x8007000e
jmp 0x1403798ed
mov r8d, dword [rsp + 0x68]
mov rdx, r15
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsi + 0x30]
lea rax, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
mov qword [rsp + 0x20], rbx
lea r8d, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
jne 0x1403798b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
jmp 0x1403798ed
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x88]
add eax, 0xfffffff0
mov dword [r14], eax
test rcx, rcx
je 0x1403798ed
cmp r13d, eax
jae 0x1403798d3
mov edi, 0x80049e19
jmp 0x1403798ed
mov r8d, eax
lea rdx, [rbx + 0x10]
call sub.msvcrt.dll_memcpy
jmp 0x1403798ed
mov edi, 0x80049e5b
jmp 0x1403798ed
mov edi, 0x80070057
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x60]
mov eax, edi
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14037aebc
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x18
xor edx, edx
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14037af08
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14037af00
cmp dword [rcx + 0x3c], edx
jl 0x14037af00
cmp dword [rcx + 0x3c], 0x10000000
jae 0x14037af00
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp], rax
cmp dword [rax], 0x4550
cmovne rax, rdx
mov rdx, rax
mov qword [rsp], rax
jmp 0x14037af08
mov rax, rdx
add rsp, 0x18
ret
Function at 0x140027cb4
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.14001babc
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14001babc
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x140027e04
cmp rax, 0xffffffffffffffff
je 0x140027e04
xor edi, edi
test rbp, rbp
jle 0x140027daf
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.14001e0e0
mov rbx, rax
test rax, rax
jne 0x140027d3c
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x140027da5
mov edx, 0x8000
mov ecx, r14d
call fcn.140015690
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.14001c7bc
cmp eax, 0xffffffff
je 0x140027d85
cdqe
sub rbp, rax
test rbp, rbp
jg 0x140027d4c
mov edx, r15d
mov ecx, r14d
call fcn.140015690
jmp 0x140027da5
cmp byte [rsi + 0x38], dil
je 0x140027d9c
cmp dword [rsi + 0x34], 5
jne 0x140027d9c
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x140027da5
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.14001a168
jmp 0x140027e18
jns 0x140027e18
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14001babc
cmp rax, 0xffffffffffffffff
jne 0x140027dd0
cmp byte [rsi + 0x30], dil
je 0x140027e18
mov edi, dword [rsi + 0x2c]
jmp 0x140027e18
mov ecx, r14d
call fcn.140016c88
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x140027e18
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x140027e18
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x140027e11
mov eax, dword [rsi + 0x2c]
jmp 0x140027e16
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14001babc
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x100411cf0
Capabilities:
Encode data using xor

Disassembly:
mov ch, byte [rbx + 0x63878d64]
pushfq
test dword [rbx - 0x5e6a6073], ecx
test dword [rsi + rdx*4 - 0x6b9a9360], eax
mov al, byte [rbp + 0x6b9f969f]
mov word [ebp - 0x5f7e547c], gs
and byte [rsi - 0x7e], 0x86
sahf
xor dword [rdi - 0x61], 0x85877f9c
movabs al, byte [0x6584878ca7787780]
sub dword [rsp + riz*2 - 0x72787e61], 0x7965809e
wait
invalid
Function at 0x1400111e0
Capabilities:
Terminate process

Disassembly:
jmp 0x140014e40
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x14001125d
Capabilities:
Parse pe header

Disassembly:
jmp 0x140012c50
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140012c70
xor al, al
jmp 0x140012cf1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140012c83
xor al, al
jmp 0x140012cf1
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x140012cad
xor al, al
jmp 0x140012cf1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140012cc1
xor al, al
jmp 0x140012cf1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140012cd3
xor al, al
jmp 0x140012cf1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x140012cef
xor al, al
jmp 0x140012cf1
mov al, 1
add rsp, 0x38
ret