joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14009280c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], r9
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
sub rsp, 0x60
mov rbp, rdx
mov esi, ecx
call fcn.140092a8c
mov r11, qword [rbp]
lea r8, [rsp + 0x40]
lea rdx, str.server
mov rcx, rbp
call qword [r11 + pe_nt_image_headers64]
test eax, eax
jne 0x14009295a
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14009295a
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
call qword [rax + 0x40]
test eax, eax
jne 0x14009295a
xor ebx, ebx
cmp dword [rsp + 0x20], ebx
jle 0x14009295a
mov rbp, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x28]
mov edx, ebx
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
jne 0x140092946
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140092946
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
call qword [rax + 0x50]
test eax, eax
jne 0x14009293b
cmp dword [rsp + 0x38], 1
jne 0x14009293b
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x50]
lea rdx, str.properties
mov rax, qword [rcx]
call qword [rax + Ordinal_301]
test eax, eax
jne 0x140092923
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140092923
lea rdx, str.name
call fcn.140014904
mov rdi, rax
test rax, rax
je 0x140092923
lea edx, [rsi + rsi]
lea r8, [0x1400e17cc]
lea rcx, str._s__s_n
mov r9, rax
call fcn.14000c030
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r8d, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x28]
lea ecx, [rsi + 1]
mov r9, rbp
call fcn.140092a8c
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
inc ebx
cmp ebx, dword [rsp + 0x20]
jl 0x140092887
mov rbp, qword [rsp + 0x88]
mov rax, qword [rbp]
lea r8, [rsp + 0x48]
lea rdx, str.group
mov rcx, rbp
call qword [rax + pe_nt_image_headers64]
test eax, eax
jne 0x140092a7c
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140092a7c
mov rax, qword [rcx]
lea rdx, [rsp + 0x24]
call qword [rax + 0x40]
test eax, eax
jne 0x140092a7c
xor ebx, ebx
cmp dword [rsp + 0x24], ebx
jle 0x140092a7c
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x30]
mov edx, ebx
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
jne 0x140092a70
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140092a70
mov rax, qword [rcx]
lea rdx, [rsp + 0x3c]
call qword [rax + 0x50]
test eax, eax
jne 0x140092a65
cmp dword [rsp + 0x3c], 1
jne 0x140092a65
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x58]
lea rdx, str.properties
mov rax, qword [rcx]
call qword [rax + Ordinal_301]
test eax, eax
jne 0x140092a48
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140092a48
lea rdx, str.name
call fcn.140014904
mov rdi, rax
test rax, rax
je 0x140092a48
lea edx, [rsi + rsi]
lea r8, [0x1400e17cc]
lea rcx, str._s__s__n
mov r9, rax
call fcn.14000c030
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r9, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x30]
lea ecx, [rsi + 1]
call fcn.14009280c
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
inc ebx
cmp ebx, dword [rsp + 0x24]
jl 0x1400929a8
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
Function at 0x14009ce48
Capabilities:
Encode data using base64 via winapi

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0x50
xor ebx, ebx
lea rax, [r11 + 0x18]
mov rbp, rdx
mov dword [rsp + 0x38], ebx
mov qword [r11 - 0x38], rax
lea r8, str.PKCS8_PRIVATEKEY
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x28], ebx
mov qword [r11 - 0x48], rbx
mov rsi, rcx
call sub.ncrypt.dll_NCryptExportKey
cmp eax, ebx
jne 0x14009cfb2
mov edx, dword [rsp + 0x80]
lea ecx, [rbx + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
cmp rax, rbx
je 0x14009cfc0
lea rax, [rsp + 0x80]
mov dword [rsp + 0x38], ebx
lea r8, str.PKCS8_PRIVATEKEY
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x80]
xor r9d, r9d
mov dword [rsp + 0x28], eax
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call sub.ncrypt.dll_NCryptExportKey
cmp eax, ebx
jne 0x14009cf99
mov esi, dword [rsp + 0x80]
lea rax, [rsp + 0x88]
xor r9d, r9d
mov r8d, 0x80000001
mov rcx, rdi
mov edx, esi
mov dword [rsp + 0x88], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
cmp eax, ebx
je 0x14009cf3d
lea rax, [rsp + 0x88]
lea r9, [rsp + 0x40]
lea rcx, str.PRIVATE_KEY
mov r8d, esi
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140013a70
jmp 0x14009cf3f
mov eax, ebx
cmp eax, ebx
je 0x14009cf8a
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rdx, qword [rsp + 0x40]
mov rcx, rbp
mov r8d, eax
call fcn.140009ce8
cmp eax, ebx
je 0x14009cf69
mov ebx, 1
jmp 0x14009cf7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_crypto_keyutil_export_pkcs8_file___kull_m_file_writeData__0x_08x__n
mov edx, eax
call fcn.14000c030
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x14009cfa7
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_crypto_keyutil_export_pkcs8_file___kull_m_string_EncodeB64_headers__0x_08x__n
jmp 0x14009cfa0
lea rcx, str.ERROR_kuhl_m_crypto_keyutil_export_pkcs8_file___NCryptExportKey_data_:_0x_08x_n
mov edx, eax
call fcn.14000c030
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x14009cfc0
lea rcx, str.ERROR_kuhl_m_crypto_keyutil_export_pkcs8_file___NCryptExportKey_init_:_0x_08x_n
mov edx, eax
call fcn.14000c030
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400a0044
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
push rsi
push rdi
push r12
sub rsp, 0x50
xor ebx, ebx
lea rax, [r11 + 0x20]
mov r12, r8
mov qword [r11 - 0x38], rax
mov qword [r11 - 0x40], rbx
lea r8, str.SupplementalCredentials
xor r9d, r9d
mov qword [r11 - 0x48], rbx
mov rdi, rdx
mov rbp, rcx
mov dword [r11 + 0x20], ebx
call fcn.14000ed54
cmp eax, ebx
je 0x1400a01dc
cmp dword [rsp + 0x88], 0x90
jbe 0x1400a01dc
mov edx, dword [rsp + 0x88]
lea ecx, [rbx + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
cmp rax, rbx
je 0x1400a01dc
lea rax, [rsp + 0x88]
lea r8, str.SupplementalCredentials
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, rdi
mov rcx, rbp
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
call fcn.14000ed54
cmp eax, ebx
je 0x1400a01c7
lea rcx, str._nSupplemental_Credentials:_n
call fcn.14000c030
mov edx, dword [rsi + 0xc]
lea ecx, [rbx + 0x40]
add edx, 0xc
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
cmp rax, rbx
je 0x1400a01d3
mov ebp, dword [rsp + 0x88]
lea r9d, [rbx + 0x18]
lea rcx, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0xf0000000
add ebp, 0xffffffe0
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
cmp eax, ebx
je 0x1400a0171
lea rcx, [rsp + 0x48]
lea rax, [rdi + 4]
lea r8, [rsi + 0x20]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
lea rdx, [rsi + 0x10]
mov r9d, ebp
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.140004c90
jmp 0x1400a0187
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kull_m_crypto_genericAES128Decrypt___CryptAcquireContext__0x_08x__n
mov edx, eax
call fcn.14000c030
mov eax, ebx
cmp eax, ebx
je 0x1400a01bc
mov eax, dword [rdi + 4]
cmp eax, dword [rsi + 0xc]
jne 0x1400a01b1
mov rdx, qword [rsp + 0x40]
lea rcx, [rdi + 0xc]
mov r8, rax
mov ebx, 1
call sub.msvcrt.dll_memcpy
mov rcx, rdi
call fcn.1400b7d94
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1400a01d3
lea rcx, str.ERROR_kuhl_m_lsadump_getSupplementalCreds___kull_m_registry_RegQueryValueEx_data__n
call fcn.14000c030
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbp, qword [rsp + 0x78]
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop r12
pop rdi
pop rsi
ret
Function at 0x1400aeec0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movzx eax, r8w
movzx r10d, dl
mov r11, r9
shl r10d, 0x10
xor r9b, r9b
mov rsi, rcx
or r10d, eax
movabs rax, 0x2004000000
add r10d, r10d
movsxd rdi, r10d
xor r10b, r10b
or rdi, rax
xor r8b, r8b
movzx edx, r8b
mov rax, rdi
inc r8b
lea ecx, [rdx + 0xd]
shr rax, cl
lea ecx, [rdx + 1]
and al, 1
xor r10b, al
mov rax, rdi
shr rax, cl
and al, 1
xor r9b, al
cmp r8b, 0xc
jb 0x1400aef00
movzx eax, r10b
and eax, 1
shl eax, 0x19
movsxd rcx, eax
xor eax, eax
test r9b, r9b
sete al
and eax, 1
or rcx, rax
or rdi, rcx
test r11, r11
je 0x1400aef4f
mov qword [r11], rdi
mov rcx, rdi
mov dword [rsi], 0x90625062
shr rcx, 0x28
call fcn.1400aee88
mov rcx, rdi
movzx ebx, al
shr rcx, 0x24
or ebx, 0x1d00
shl ebx, 8
call fcn.1400aee88
mov rcx, rdi
movzx r11d, al
shr rcx, 0x20
or ebx, r11d
shl ebx, 8
call fcn.1400aee88
mov rcx, rdi
movzx r11d, al
shr rcx, 0x1c
or ebx, r11d
mov dword [rsi + 4], ebx
call fcn.1400aee88
mov rcx, rdi
movzx ebx, al
shr rcx, 0x18
shl ebx, 8
call fcn.1400aee88
mov rcx, rdi
movzx r11d, al
shr rcx, 0x14
or ebx, r11d
shl ebx, 8
call fcn.1400aee88
mov rcx, rdi
movzx r11d, al
shr rcx, 0x10
or ebx, r11d
shl ebx, 8
call fcn.1400aee88
mov rcx, rdi
movzx r11d, al
shr rcx, 0xc
or ebx, r11d
mov dword [rsi + 8], ebx
call fcn.1400aee88
mov rcx, rdi
movzx ebx, al
shr rcx, 8
shl ebx, 8
call fcn.1400aee88
mov rcx, rdi
movzx r11d, al
shr rcx, 4
or ebx, r11d
shl ebx, 8
call fcn.1400aee88
mov cl, dil
movzx r11d, al
or ebx, r11d
shl ebx, 8
call fcn.1400aee88
movzx r11d, al
or ebx, r11d
mov dword [rsi + 0xc], ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x1400af050
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
mov byte [rax + 8], 0
xor eax, eax
mov rsi, rdx
mov r9, rcx
movabs r8, 0xff80000000000000
xor r11b, r11b
mov word [rsp + 0x11], ax
mov byte [rsp + 0x13], al
movzx ebp, r11b
mov rdx, rsi
lea r10, [rsp + 0x10]
mov ebx, ebp
neg ebx
lea ecx, [rbx*4 + 0x24]
shr rdx, cl
xor cl, cl
and dl, 0xf
xor dil, dil
mov al, dl
shr al, cl
inc cl
and al, 1
xor byte [r10], al
inc r10
xor dil, al
cmp cl, 4
jb 0x1400af0a4
lea eax, [rbp + rbp*4]
movzx edx, dl
mov ecx, Ordinal_54
sub ecx, eax
movzx eax, dil
inc r11b
shl rdx, cl
lea ecx, [rbx + rbx*4 + 0x32]
shl rax, cl
or rdx, rax
or r8, rdx
cmp r11b, 0xa
jb 0x1400af082
movzx eax, byte [rsp + 0x12]
movzx ecx, byte [rsp + 0x13]
mov rbx, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
add ecx, ecx
or ecx, eax
movzx eax, byte [rsp + 0x11]
mov dword [r9], 0x148040
add ecx, ecx
or ecx, eax
movzx eax, byte [rsp + 0x10]
add ecx, ecx
or ecx, eax
lea eax, [rcx + rcx]
cdqe
or r8, rax
mov rax, r8
mov dword [r9 + 8], r8d
shr rax, 0x20
mov dword [r9 + 4], eax
pop rdi
ret
Function at 0x1400be71c
Capabilities:
Accept command line arguments

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0x20
mov rax, rdx
mov rbp, rcx
lea rdx, [r11 + 0x10]
mov rcx, qword [rax + 8]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rsi, rax
test rax, rax
je 0x1400be7d1
mov edx, dword [rsp + 0x38]
test edx, edx
jle 0x1400be7ba
xor ebx, ebx
test edx, edx
jle 0x1400be7b1
mov rdi, rax
mov rcx, qword [rdi]
lea rdx, str._HTC:
mov r8d, 5
call qword [sym.imp.ntdll.dll__wcsnicmp]
test eax, eax
je 0x1400be789
inc ebx
add rdi, 8
cmp ebx, dword [rsp + 0x38]
jl 0x1400be761
jmp 0x1400be7b1
movsxd rax, ebx
xor edx, edx
mov rcx, qword [rsi + rax*8]
lea r8d, [rdx + 0xa]
add rcx, 0xa
call qword [sym.imp.ntdll.dll_wcstoul]
mov rcx, rbp
mov edx, eax
mov ebx, eax
call fcn.1400be7fc
test rbx, rbx
jne 0x1400be7c6
lea rcx, str.__No_shared_memory__no_SSO_enabled___n
jmp 0x1400be7c1
lea rcx, str.ERROR_Citrix_SSO_Program_args___No_command_module_
call fcn.14000c030
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1400be7e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_Citrix_SSO_Program_args___CommandLineToArgvW__0x_08x__n
mov edx, eax
call fcn.14000c030
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
Function at 0x1400be7fc
Capabilities:
Encode data using xor
Encrypt data using dpapi
Read file via mapping

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
mov rbx, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor esi, esi
lea r9, [rsp + 0x60]
mov rdx, rbx
mov dword [rsp + 0x30], esi
mov r8, rax
mov rcx, rdi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
cmp eax, esi
je 0x1400be950
mov rcx, qword [rsp + 0x60]
lea edx, [rsi + 4]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0x61c
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
cmp rax, rsi
je 0x1400be92f
lea ecx, [rsi + 0x40]
mov edx, 0x610
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
cmp rax, rsi
je 0x1400be924
lea rdx, [rdi + 0xc]
mov rcx, rax
mov r8d, 0x610
call sub.msvcrt.dll_memcpy
lea r8d, [rsi + 1]
mov edx, 0x610
mov rcx, rbx
call sub.ADVAPI32.dll_SystemFunction041
cmp eax, esi
jl 0x1400be90d
mov eax, dword [rbx + 0x400]
lea rdx, [rbx + 0x404]
cmp eax, esi
jbe 0x1400be8df
mov r8, rdx
mov r9, rax
mov cl, byte [r8]
mov al, cl
xor al, sil
mov sil, cl
xor al, 0x43
mov byte [r8], al
inc r8
sub r9, 1
jne 0x1400be8c6
mov eax, dword [rbx + 0x604]
mov r9d, dword [rbx + 0x400]
lea r8, [rbx + 0x200]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
lea rcx, str._Username__:__s_n_Domain____:__s_n_Password__:__.s_n_flags_type:_0x_08x_n
mov rdx, rbx
call fcn.14000c030
jmp 0x1400be91b
lea rcx, str.ERROR_Citrix_SSO_Program_FileMapping___RtlDecryptMemory:_0x_08x_n
mov edx, eax
call fcn.14000c030
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
jmp 0x1400be943
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_Citrix_SSO_Program_FileMapping___MapViewOfFile__0x_08x__n
mov edx, eax
call fcn.14000c030
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400be964
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_Citrix_SSO_Program_FileMapping___DuplicateHandle__0x_08x__n
mov edx, eax
call fcn.14000c030
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
Function at 0x1400c567c
Capabilities:
Get file size
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0x40
xor ebp, ebp
xor r9d, r9d
mov edx, 0x80000000
and qword [rax - 0x38], rbp
and dword [rax - 0x40], ebp
lea r8d, [rbp + 3]
mov dword [rax - 0x48], r8d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
test rax, rax
je 0x1400c57cc
cmp rax, 0xffffffffffffffff
je 0x1400c57cc
lea rdx, [rsp + 0x80]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1400c57ad
mov r14d, 0x10000000
lea ecx, [rbp + 0x40]
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x1400c57c1
mov rax, qword [rsp + 0x80]
xor ecx, ecx
test rax, rax
jle 0x1400c57a2
lea r12, [rcx + 0x10000000]
mov rbx, rax
mov rdx, rcx
sub rbx, rcx
cmp r12, rax
mov rcx, rdi
cmovl rbx, r14
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x1400c577a
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
mov r8d, ebx
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400c576b
mov edx, dword [rsp + 0x78]
mov r8d, 1
mov rcx, rsi
call fcn.1400c5558
add ebp, eax
jmp 0x1400c578e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_sekurlsa_sk_search_file___ReadFile__0x_08x__n
jmp 0x1400c5787
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_sekurlsa_sk_search_file___SetFilePointerEx__0x_08x__n
mov edx, eax
call fcn.14000c030
mov rax, qword [rsp + 0x80]
mov rcx, r12
cmp r12, rax
jl 0x1400c570d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1400c57c1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_sekurlsa_sk_search_file___GetFileSizeEx__0x_08x__n
mov edx, eax
call fcn.14000c030
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400c57e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_sekurlsa_sk_search_file___CreateFile__0x_08x__n
mov edx, eax
call fcn.14000c030
mov eax, ebp
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400c90c4
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x530
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rbx, qword [rsp + 0x158]
lea rdx, [rsp + 0x40]
mov rcx, rbx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x1400c912f
and qword [rsp + 0x38], 0
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x50]
mov r9, rax
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x60]
mov r8, rbx
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RtlVirtualUnwind]
jmp 0x1400c914f
mov rax, qword [rsp + 0x538]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x538]
mov qword [rsp + 0xf8], rax
lea rcx, [0x1400d2620]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add rsp, 0x530
pop rbx
ret
Function at 0x1400ce2cc
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
xor edi, edi
mov rsi, rcx
cmp rcx, rdi
jne 0x1400ce30a
call qword [sym.imp.msvcrt.dll__errno]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
mov dword [rax], SQLAllocHandle
call fcn.1400c9168
jmp 0x1400ce410
mov eax, dword [rcx + 0x18]
test al, 0x83
je 0x1400ce410
test al, 0x40
jne 0x1400ce410
test al, 2
je 0x1400ce32c
or eax, 0x20
mov dword [rcx + 0x18], eax
jmp 0x1400ce410
or eax, 1
mov dword [rcx + 0x18], eax
test eax, 0x10c
je 0x1400ce2e5
mov rbx, qword [rcx + 0x10]
mov qword [rcx], rbx
call qword [sym.imp.msvcrt.dll__fileno]
mov r8d, dword [rsi + 0x24]
mov ecx, eax
mov rdx, rbx
call qword [sym.imp.msvcrt.dll__read]
mov dword [rsi + 8], eax
cmp eax, edi
je 0x1400ce400
cmp eax, 0xffffffff
je 0x1400ce400
test byte [rsi + 0x18], 0x82
jne 0x1400ce3d2
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__fileno]
cmp eax, 0xffffffff
je 0x1400ce3bc
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__fileno]
cmp eax, 0xfffffffe
je 0x1400ce3bc
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__fileno]
mov rbx, qword [sym.imp.msvcrt.dll___pioinfo]
mov rcx, rsi
movsxd rdi, eax
sar rdi, 5
call qword [sym.imp.msvcrt.dll__fileno]
mov r11d, eax
and r11d, 0x1f
imul r11, r11, 0x38
add r11, qword [rbx + rdi*8]
jmp 0x1400ce3c3
mov r11, qword [sym.imp.msvcrt.dll___badioinfo]
mov al, byte [r11 + 8]
and al, 0x82
cmp al, 0x82
jne 0x1400ce3d2
bts dword [rsi + 0x18], 0xd
cmp dword [rsi + 0x24], 0x200
jne 0x1400ce3ef
test byte [rsi + 0x18], 8
je 0x1400ce3ef
bt dword [rsi + 0x18], 0xa
jb 0x1400ce3ef
mov dword [rsi + 0x24], 0x1000
mov rcx, qword [rsi]
dec dword [rsi + 8]
movzx eax, byte [rcx]
inc rcx
mov qword [rsi], rcx
jmp 0x1400ce413
neg eax
mov dword [rsi + 8], edi
sbb eax, eax
and eax, 0x10
add eax, 0x10
or dword [rsi + 0x18], eax
or eax, 0xffffffff
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x1400d0190
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
xor edi, edi
mov rsi, rcx
cmp rcx, rdi
jne 0x1400d01ce
call qword [sym.imp.msvcrt.dll__errno]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
mov dword [rax], SQLAllocHandle
call fcn.1400c9168
jmp 0x1400d02df
mov eax, dword [rcx + 0x18]
test al, 0x83
je 0x1400d02df
test al, 0x40
jne 0x1400d02df
test al, 2
je 0x1400d01f0
or eax, 0x20
mov dword [rcx + 0x18], eax
jmp 0x1400d02df
or eax, 1
mov dword [rcx + 0x18], eax
test eax, 0x10c
je 0x1400d01a9
mov rbx, qword [rcx + 0x10]
mov qword [rcx], rbx
call qword [sym.imp.msvcrt.dll__fileno]
mov r8d, dword [rsi + 0x24]
mov ecx, eax
mov rdx, rbx
call qword [sym.imp.msvcrt.dll__read]
mov dword [rsi + 8], eax
cmp eax, edi
je 0x1400d02cf
cmp eax, 1
je 0x1400d02cf
cmp eax, 0xffffffff
je 0x1400d02cf
test byte [rsi + 0x18], 0x82
jne 0x1400d029f
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__fileno]
cmp eax, 0xffffffff
je 0x1400d0289
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__fileno]
cmp eax, 0xfffffffe
je 0x1400d0289
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__fileno]
mov rbx, qword [sym.imp.msvcrt.dll___pioinfo]
mov rcx, rsi
movsxd rdi, eax
sar rdi, 5
call qword [sym.imp.msvcrt.dll__fileno]
mov r11d, eax
and r11d, 0x1f
imul r11, r11, 0x38
add r11, qword [rbx + rdi*8]
jmp 0x1400d0290
mov r11, qword [sym.imp.msvcrt.dll___badioinfo]
mov al, byte [r11 + 8]
and al, 0x82
cmp al, 0x82
jne 0x1400d029f
bts dword [rsi + 0x18], 0xd
cmp dword [rsi + 0x24], 0x200
jne 0x1400d02bc
test byte [rsi + 0x18], 8
je 0x1400d02bc
bt dword [rsi + 0x18], 0xa
jb 0x1400d02bc
mov dword [rsi + 0x24], 0x1000
mov rcx, qword [rsi]
add dword [rsi + 8], 0xfffffffe
movzx eax, word [rcx]
add rcx, 2
mov qword [rsi], rcx
jmp 0x1400d02e4
neg eax
mov dword [rsi + 8], edi
sbb eax, eax
and eax, 0x10
add eax, 0x10
or dword [rsi + 0x18], eax
mov eax, 0xffff
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x140007390
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
movaps xmm9, xmmword [rdx]
movaps xmm10, xmmword [rdx + 0xa0]
movaps xmmword [rcx], xmm9
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movaps xmmword [rcx + 0xa0], xmm10
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x58
ret