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

Disassembly:
push rbx
sub rsp, 0x90
mov rax, qword [0x140199040]
xor rax, rsp
mov qword [rsp + 0x80], rax
movzx eax, byte [rcx]
mov ebx, edx
mov r8, rcx
test al, al
je 0x14003c790
cmp al, 0x25
jne 0x14003c784
cmp byte [r8 + 1], al
jne 0x14003c790
inc r8
movzx eax, byte [r8 + 1]
inc r8
test al, al
jne 0x14003c777
movzx edx, byte [r8]
cmp dl, 0x25
jne 0x14003c8f4
cmp byte [r8 + 1], dl
je 0x14003c8f4
lea r11, [rsp + 0x20]
mov r9, r8
nop
lea eax, [rdx - 0x41]
movsx r10d, dl
cmp al, 0x19
ja 0x14003c7cd
lea ecx, [r10 - 0x41]
mov eax, 1
shl eax, cl
test eax, 0x900
je 0x14003c7f5
sub dl, 0x61
cmp dl, 0x19
ja 0x14003c7e7
lea ecx, [r10 - 0x61]
mov eax, 1
shl eax, cl
test eax, 0x2480a80
je 0x14003c7f5
movzx edx, byte [r9 + 1]
inc r9
test dl, dl
jne 0x14003c7b0
jmp 0x14003c7f8
inc r9
cmp r8, r9
jae 0x14003c82f
movabs rdx, 0x800000000000009
nop word [rax + rax]
movzx ecx, byte [r8]
inc r8
lea eax, [rcx - 0x24]
cmp al, 0x3b
ja 0x14003c824
bt rdx, rax
jb 0x14003c82a
mov byte [r11], cl
inc r11
cmp r8, r9
jb 0x14003c810
movaps xmm3, xmm2
mov byte [r11], 0
movq r9, xmm2
lea r8, [rsp + 0x20]
mov edx, 0x40
lea rcx, [rsp + 0x40]
call fcn.140002790
cmp byte [rsp + 0x40], 0x20
lea rcx, [rsp + 0x40]
jne 0x14003c868
nop dword [rax + rax]
inc rcx
cmp byte [rcx], 0x20
je 0x14003c860
lea eax, [rbx - 8]
cmp eax, 1
jbe 0x14003c8e6
movzx r9d, byte [rcx]
movzx r8d, r9b
cmp r9b, 0x2d
jne 0x14003c88a
movzx r8d, byte [rcx + 1]
lea rax, [rcx + 1]
mov rcx, rax
movzx eax, r8b
cmp r8b, 0x2b
jne 0x14003c898
movzx eax, byte [rcx + 1]
lea rdx, [rcx + 1]
xorps xmm1, xmm1
cmovne rdx, rcx
cmp al, 0x30
jl 0x14003c8d4
movsd xmm2, qword [0x14018eb08]
nop
cmp al, 0x39
ja 0x14003c8d4
movzx eax, al
inc rdx
sub eax, 0x30
mulsd xmm1, xmm2
movd xmm0, eax
movzx eax, byte [rdx]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cmp al, 0x30
jge 0x14003c8b0
cmp r9b, 0x2d
jne 0x14003c8ef
xorps xmm1, xmmword [0x14018edf0]
movaps xmm0, xmm1
jmp 0x14003c8f7
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
movaps xmm1, xmm0
movaps xmm0, xmm1
jmp 0x14003c8f7
movaps xmm0, xmm2
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14004f320
add rsp, 0x90
pop rbx
ret
Function at 0x140044d60
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x140044d88
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x140044dae
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x140044db0
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x140044e09
test ecx, ecx
jle 0x140044de9
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x140044e09
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x140044e09
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret

Function at 0x140044e30
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140044e52
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x140044e68
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x140044e84
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140044e86
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x140044ec2
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x140044f5e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x140044efd
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x140044f3e
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x140044f5e
cmp rbx, rax
ja 0x140044f10
test rbx, rbx
je 0x140044f5e
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
Function at 0x1400453c0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140199040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x1400453ed
xor eax, eax
jmp 0x140045559
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x140045427
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x140045427
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x140045559
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14004554c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14004546a
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x140045495
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x140045551
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140045504
sub eax, 1
je 0x140045504
cmp eax, 2
jne 0x14004554c
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x140045551
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140045532
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x14004554c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x140045551
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14004f320
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x1400466e0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140199040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x1400467b3
cmp byte [rcx + 0x71], 0
je 0x1400467b3
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x1400467af
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140046774
sub eax, 1
je 0x140046778
cmp eax, 2
jne 0x1400467af
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14004f320
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x1400467a6
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x1400467af
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14004675c
xor al, al
jmp 0x14004675c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14004f320
add rsp, 0x60
pop rbx
ret
Function at 0x1400487d0
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x140199040]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor edx, edx
lea r9, [rsp + 0x20]
mov rsi, rcx
xor r14d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov edi, r14d
lea ecx, [rdx + 0xb]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
jne 0x140048859
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, dword [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x3000
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
mov rdx, rax
mov ecx, 0xb
mov rdi, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
je 0x140048810
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rbp
test eax, eax
js 0x140048937
mov ebx, r14d
cmp dword [rdi], ebx
jbe 0x140048937
nop dword [rax]
mov eax, ebx
xorps xmm0, xmm0
imul rcx, rax, 0x128
movups xmmword [rsp + 0x28], xmm0
movzx edx, word [rcx + rdi + 0x2e]
lea rbp, [rcx + rdi]
add rdx, 0x30
mov qword [rsp + 0x38], r14
add rdx, rcx
mov qword [rsp + 0x40], r14
add rdx, rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r14b
jne 0x1400488b5
lea rcx, [rsp + 0x28]
call fcn.140047320
cmp qword [rsi + 0x18], 0xf
mov rdx, rsi
jbe 0x1400488d5
mov rdx, qword [rsi]
cmp qword [rsp + 0x40], 0xf
lea rcx, [rsp + 0x28]
cmova rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x14004896d
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x14004892d
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048928
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400489b6
call fcn.14004f410
inc ebx
cmp ebx, dword [rdi]
jb 0x140048880
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14004f320
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
mov rbx, qword [rbp + 0x18]
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x1400489c2
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400489bd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400489bd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004f410
mov rax, rbx
jmp 0x14004894a
Function at 0x1400489d0
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x158
mov rax, qword [0x140199040]
xor rax, rsp
mov qword [rsp + 0x140], rax
lea rcx, str.ntdll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.RtlGetVersion
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor edx, edx
test rax, rax
je 0x140048b7d
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x11c
call rax
mov eax, dword [rsp + 0x2c]
mov edx, eax
cmp eax, 0x47bb
ja 0x140048b02
je 0x140048ad4
cmp eax, 0x3fab
ja 0x140048abb
je 0x140048a59
cmp eax, 0x295a
je 0x140048a8a
cmp eax, 0x3839
je 0x140048a8a
cmp eax, 0x3ad7
jne 0x140048b7d
mov qword [0x140199f58], 0x450
mov qword [0x140199f50], 0x2e0
mov qword [0x140199f60], 0x3c0
mov qword [0x140199f68], 0x2e8
jmp 0x140048b59
mov qword [0x140199f58], 0x450
mov qword [0x140199f50], 0x2e8
mov qword [0x140199f60], 0x3c0
mov qword [0x140199f68], 0x2f0
jmp 0x140048b59
cmp eax, 0x42ee
je 0x140048a59
cmp eax, 0x4563
je 0x140048a59
cmp eax, 0x47ba
jne 0x140048b7d
mov qword [0x140199f58], 0x450
mov qword [0x140199f50], 0x2e8
mov qword [0x140199f60], 0x3c8
mov qword [0x140199f68], 0x2f0
jmp 0x140048b59
cmp eax, 0x4a64
ja 0x140048b1f
je 0x140048b2d
mov ecx, eax
sub ecx, 0x4a61
je 0x140048b2d
sub ecx, 1
je 0x140048b2d
cmp ecx, 1
jmp 0x140048b2b
cmp eax, 0x4a65
je 0x140048b2d
cmp eax, 0x55f0
jne 0x140048b7d
mov qword [0x140199f68], 0x448
mov qword [0x140199f60], 0x520
mov qword [0x140199f50], 0x440
mov qword [0x140199f58], 0x5a8
lea rcx, str.___Found_offsets_for__d__n
call fcn.14003c910
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14004f320
add rsp, 0x158
ret
lea rcx, str.____No_Support_for__d__n_check_https:__www.vergiliusproject.com_kernels_x64_Windows_2011_Insider_20Preview_20_Jun_202021___EPROCESS_to_update_the_code_n
call fcn.14003c910
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x140049050
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x140199040]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rdi, rcx
xor esi, esi
xor edx, edx
lea ecx, [rsi + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
xor edx, edx
lea rcx, [rsp + 0x24]
mov r8d, 0x12c
mov rbx, rax
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x130
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x1400490ff
nop dword [rax]
nop word [rax + rax]
lea rax, [rsp + 0x4c]
mov r8, rdi
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400490e3
inc rax
test ecx, ecx
jne 0x1400490d0
test edx, edx
je 0x1400490fb
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x1400490c0
jmp 0x1400490ff
mov esi, dword [rsp + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14004f320
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x14004cc20
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov r9, qword [rcx]
mov r10, rcx
mov rdx, qword [0x14019a300]
movabs rdi, 0x22aaaa8a20000
mov r8, rdx
mov rax, rdx
shl rax, 0x11
movabs rbx, 0x71d67fffeda60000
shr r8, 0xc
movabs r11, 0x555555555
and r8, rdi
xor r8, rax
mov rax, rdx
shr rax, 0x1d
and r8, rbx
and rax, r11
xor r8, rax
xor r8, rdx
mov rcx, r8
mov rax, r8
shr rax, 0x25
and ecx, 0x7ffbf40
xor rcx, rax
mov rax, r8
and rax, 0xffffffffffffbf77
shr rcx, 6
shl rax, 0x25
xor rcx, rax
xor rcx, qword [r10 + 8]
xor rcx, r9
xor rcx, r8
mov qword [r10 + 8], rcx
mov rcx, qword [0x14019a308]
mov rdx, rcx
mov rax, rcx
shl rax, 0x11
shr rdx, 0xc
and rdx, rdi
xor rdx, rax
mov rax, rcx
shr rax, 0x1d
and rdx, rbx
and rax, r11
xor rdx, rax
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rax, 0x25
and ecx, 0x7ffbf40
xor rcx, rax
mov rax, rdx
and rax, 0xffffffffffffbf77
shr rcx, 6
shl rax, 0x25
xor rcx, rax
lea rax, [r9 + 0x10]
xor rcx, rax
xor rcx, qword [r10 + 0x10]
xor rcx, rdx
mov qword [r10 + 0x10], rcx
mov rcx, qword [0x14019a310]
mov rdx, rcx
mov rax, rcx
shl rax, 0x11
shr rdx, 0xc
and rdx, rdi
xor rdx, rax
mov rax, rcx
shr rax, 0x1d
and rdx, rbx
and rax, r11
xor rdx, rax
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
and ecx, 0x7ffbf40
shr rax, 0x25
xor rcx, rax
mov rax, rdx
shr rcx, 6
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rcx, rax
lea rax, [r9 + 0x20]
xor rcx, rax
xor rcx, rdx
xor qword [r10 + 0x18], rcx
mov rcx, qword [0x14019a318]
mov rdx, rcx
mov rax, rcx
shl rax, 0x11
shr rdx, 0xc
and rdx, rdi
xor rdx, rax
mov rax, rcx
shr rax, 0x1d
and rdx, rbx
and rax, r11
xor rdx, rax
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rax, 0x25
and ecx, 0x7ffbf40
xor rcx, rax
mov rax, rdx
and rax, 0xffffffffffffbf77
shr rcx, 6
shl rax, 0x25
xor rcx, rax
lea rax, [r9 + 0x30]
xor rcx, rax
xor rcx, qword [r10 + 0x20]
xor rcx, rdx
mov qword [r10 + 0x20], rcx
mov rcx, qword [0x14019a320]
mov rdx, rcx
mov rax, rcx
shl rax, 0x11
shr rdx, 0xc
and rdx, rdi
mov rdi, qword [rsp + 0x10]
xor rdx, rax
mov rax, rcx
shr rax, 0x1d
and rdx, rbx
mov rbx, qword [rsp + 8]
and rax, r11
xor rdx, rax
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
and ecx, 0x7ffbf40
shr rax, 0x25
xor rcx, rax
mov rax, rdx
shr rcx, 6
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rcx, rax
lea rax, [r9 + 0x40]
xor rcx, rax
xor rcx, qword [r10 + 0x28]
xor rcx, rdx
mov qword [r10 + 0x28], rcx
ret
Function at 0x14005008c
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400500d6
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400500d6
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400500d6
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400500d6
cmp dword [rcx + 0x84], 0xe
jbe 0x1400500d6
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400500d8
xor al, al
add rsp, 0x28
ret

Function at 0x14005038c
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x1400503c6
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x1400503cb
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x140050414
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x140052970]
cmp byte [rcx + rax], 0
je 0x140050414
dec r8
sub rdx, 1
jne 0x1400503fa
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret
Function at 0x140001f70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0x90
mov rdi, r8
mov rsi, rcx
test r8, r8
je 0x140002168
xor r14d, r14d
cmp qword [0x14001dc18], r14
jne 0x140002149
mov eax, 0xe
mov dword [rbp - 0x19], eax
movdqa xmm0, xmmword [str._r1_v___._4]
movdqu xmmword [rbp - 0x15], xmm0
mov edx, r14d
test eax, eax
je 0x140001fe7
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
lea eax, [rdx + 0x48]
xor byte [rcx], al
inc edx
mov eax, dword [rbp - 0x19]
cmp edx, eax
jb 0x140001fd0
mov byte [rbp + rax - 0x15], r14b
mov qword [rbp + 0x27], r14
mov qword [rbp + 0x37], r14
mov qword [rbp + 0x3f], 0xf
mov byte [rbp + 0x27], 0
lea rax, [rbp - 0x15]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140002010
lea rdx, [rbp - 0x15]
lea rcx, [rbp + 0x27]
call fcn.140002e50
nop
mov eax, 0xc
mov dword [rbp - 0x19], eax
movdqa xmm0, xmmword [str._8__46T]
movdqu xmmword [rbp - 0x15], xmm0
mov edx, r14d
test eax, eax
je 0x140002067
nop dword [rax]
nop dword [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
lea eax, [rdx + 0x48]
xor byte [rcx], al
inc edx
mov eax, dword [rbp - 0x19]
cmp edx, eax
jb 0x140002050
mov byte [rbp + rax - 0x15], 0
mov qword [rbp + 7], r14
mov qword [rbp + 0x17], r14
mov qword [rbp + 0x1f], 0xf
mov byte [rbp + 7], 0
lea rax, [rbp - 0x15]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140002084
mov r8, rbx
lea rdx, [rbp - 0x15]
lea rcx, [rbp + 7]
call fcn.140002e50
nop
lea rcx, [rbp + 7]
call fcn.14000b1e0
mov rdx, rax
lea r8, [rbp + 0x27]
mov rcx, rsi
call fcn.140002390
mov qword [0x14001dc18], rax
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x1400020fb
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400020f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400020f6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc74
mov qword [rbp + 0x17], r14
mov qword [rbp + 0x1f], 0xf
mov byte [rbp + 7], 0
mov rdx, qword [rbp + 0x3f]
cmp rdx, 0x10
jb 0x140002149
inc rdx
mov rcx, qword [rbp + 0x27]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002144
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002144
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc74
mov qword [rbp - 1], r14
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 1]
mov rcx, rsi
call fcn.140003270
test al, al
je 0x140002168
mov rax, qword [rbp - 1]
jmp 0x14000216a
xor eax, eax
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret