joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401d6b00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
push rbx
sub rsp, 0x60
cmp byte [0x1402f0ad9], 0
mov rbx, rcx
jne 0x1401d6d31
cmp byte [0x1402f0ad8], 0
jne 0x1401d6d31
mov qword [rax + 0x18], rdi
mov rdi, qword [0x1402f0cc0]
cmp byte [rdi + 0xa7], 0
je 0x1401d6d29
movdqa xmm0, xmmword [0x1402b9d10]
lea rcx, [rax - 0x47]
mov qword [rax + 8], rbp
mov edx, 0xfd0c5087
movdqu xmmword [rax - 0x48], xmm0
mov qword [rax + 0x10], rsi
mov dword [rax - 0x38], 0x327265
mov byte [rax - 0x34], 0
call fcn.140033860
mov rcx, qword [rdi + 0x180]
mov rdx, qword [rdi + 0x188]
mov rsi, qword [0x1402f0c20]
mov rbp, qword [0x1402f0bc0]
cmp rcx, rdx
je 0x1401d6ba2
nop dword [rax]
cmp dword [rcx + 0x30], eax
je 0x1401d6d37
add rcx, 0x50
cmp rcx, rdx
jne 0x1401d6b90
mov byte [rbx + 0x218], 0
mov rax, qword [rbx + 0x20]
cmp byte [rax + 0x2b0], 0
je 0x1401d6bd3
mov rcx, rbx
call fcn.1401d7f10
mov rdi, qword [0x1402f0cc0]
mov rsi, qword [0x1402f0c20]
mov rbp, qword [0x1402f0bc0]
movdqa xmm0, xmmword [0x1402b9cc0]
lea rcx, [rsp + 0x39]
mov edx, 0xfd0c5087
mov dword [rsp + 0x48], 0x61686365
movdqu xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x4c], 0x75656772
mov word [rsp + 0x50], reloc.WS2_32.dll_WSASetLastError
mov byte [rsp + 0x52], 0
call fcn.140033860
mov rcx, qword [rdi + 0x180]
mov rdx, qword [rdi + 0x188]
cmp rcx, rdx
je 0x1401d6c2e
nop
cmp dword [rcx + 0x30], eax
je 0x1401d6c46
add rcx, 0x50
cmp rcx, rdx
jne 0x1401d6c20
cmp byte [rbp + 0x6c], 0
jne 0x1401d6c46
cmp byte [rdi + 0xe8], 0
je 0x1401d6c4d
cmp byte [rdi + 0x130], 0
je 0x1401d6c4d
mov byte [rsi + 0x198], 0
mov rcx, rbx
call fcn.1401d81f0
mov rax, qword [rbx + 0x1e8]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
cmp byte [rax + 0x2b0], 0
je 0x1401d6c80
cmp byte [rbx + 0x218], 0
jne 0x1401d6c80
mov rcx, rbx
call fcn.1401d7b70
mov rax, qword [0x1402f0c20]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x2b2], 0
je 0x1401d6cdc
cmp byte [rbx + 0x218], 0
jne 0x1401d6cdc
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x2b0], 0
je 0x1401d6cb2
mov rcx, rbx
call fcn.1401d7850
mov rax, qword [rbx + 8]
cmp byte [rax + 0x2b0], 0
je 0x1401d6cc7
mov rcx, rbx
call fcn.1401d6f50
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x2b0], 0
je 0x1401d6cdc
mov rcx, rbx
call fcn.1401d7500
mov rax, qword [0x1402f0c20]
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x2b2], 0
je 0x1401d6d29
cmp byte [rbx + 0x218], 0
jne 0x1401d6d29
mov rax, qword [rbx + 0x200]
cmp byte [rax + 0x2b0], 0
je 0x1401d6d11
mov rcx, rbx
call fcn.1401d6f50
mov rax, qword [rbx + 0x208]
cmp byte [rax + 0x2b0], 0
je 0x1401d6d29
mov rcx, rbx
call fcn.1401d7500
mov rdi, qword [rsp + 0x80]
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x218], 1
mov word [rsi + 0x198], 0
mov byte [rbp + 0x6c], 0
jmp 0x1401d6ba9
Function at 0x1401d86f0
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.140139ee0
call fcn.140139ee0
mov rax, qword [0x1402f0b90]
movzx ecx, byte [rax + 0x2b0]
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
je 0x1401d8769
mov rax, qword [rbx + 8]
cmp byte [rax + 0x48], 0
jne 0x1401d8769
mov rax, qword [0x1402f0cc0]
cmp byte [rax + 0xe8], 0
je 0x1401d8741
cmp byte [rax + 0x130], 0
jne 0x1401d8769
call fcn.140139ee0
mov rbx, rax
call fcn.140139ee0
mov rcx, qword [0x1402f0b90]
movzx edx, byte [rcx + 0x2b0]
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp fcn.140069cb0
add rsp, 0x20
pop rbx
ret
Function at 0x1401e12f0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rdi, rdx
mov rsi, rcx
mov rbx, qword [0x1402f0cc0]
cmp dword [rbx + 0x2b8], 0
jbe 0x1401e1328
cmp dword [rbx + 0x2b4], 0
je 0x1401e1571
movss xmm0, dword [0x1402f0af0]
comiss xmm0, dword [rbx + 0x2c0]
jb 0x1401e1571
mov eax, dword [rbx + 0x2b0]
test eax, eax
je 0x1401e1571
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x2e8]
jb 0x1401e1571
cmp byte [rbx + 0x270], 0
jne 0x1401e1571
mov al, 0x79
mov dword [rsp + 0x20], 0x75736179
mov dword [rsp + 0x24], 0x32716f
mov byte [rsp + 0x28], 0
movzx eax, al
mov edx, 0x811c9dc5
xor eax, edx
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x21]
call fcn.140033860
mov edx, eax
mov rcx, qword [rbx + 0x180]
mov rax, qword [rbx + 0x188]
cmp rcx, rax
je 0x1401e1571
cmp dword [rcx + 0x30], edx
je 0x1401e13ca
add rcx, 0x50
cmp rcx, rax
jne 0x1401e13b7
jmp 0x1401e1571
movsd xmm0, qword [rdi + 8]
movss xmm1, dword [rbx + 8]
movsd qword [rsp + 0x30], xmm0
subss xmm1, xmm0
movss xmm2, dword [rbx + 0x10]
subss xmm2, dword [rdi + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401e1405
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401e140d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [rsi + 0x60]
comiss xmm1, xmm0
jb 0x1401e1571
movss xmm1, dword [rsi + 0x54]
movss xmm6, dword [0x1402b86c8]
addss xmm1, xmm6
movss xmm0, dword [0x1402f0ad4]
comiss xmm0, xmm1
jbe 0x1401e1571
mov rcx, qword [0x1402f0c20]
call fcn.1401537a0
test al, al
je 0x1401e1571
movss xmm1, dword [rsi + 0x58]
addss xmm1, xmm6
movss xmm0, dword [0x1402f0ad4]
comiss xmm0, xmm1
jbe 0x1401e1571
call fcn.140139ee0
mov r14, rax
movsd xmm6, qword [rdi + 8]
mov r15d, dword [rdi + 0x10]
mov rcx, qword [0x1402f0bc0]
cmp byte [rcx + 0x6c], 0
jne 0x1401e1564
mov rbp, qword [0x1402f0cc0]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov rdx, qword [0x1402f3eb8]
sub rdx, qword [0x1402f3eb0]
je 0x1401e14ea
lea rcx, [rsp + 0x40]
call fcn.140012e50
mov rdi, qword [rsp + 0x40]
mov rbx, qword [0x1402f3eb8]
mov rdx, qword [0x1402f3eb0]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x170]
call fcn.140062b20
test al, al
jne 0x1401e1564
mov rax, qword [0x1402f0c20]
cmp dword [rax + 0x154], 1
je 0x1401e1564
mov rax, qword [0x1402f10d8]
test rax, rax
jne 0x1401e153a
mov ecx, 0x36e490
call fcn.14022033c
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.1401cf6f0
nop
mov qword [0x1402f10d8], rax
movsd qword [rsp + 0x30], xmm6
mov dword [rsp + 0x38], r15d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1401cec00
mov r8, qword [rax]
xor edx, edx
mov rcx, r14
call fcn.140069d30
movss xmm0, dword [0x1402f0ad4]
movss dword [rsi + 0x58], xmm0
mov rbx, qword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401f8000
Capabilities:
Check http status code

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x110
mov rax, qword [0x1402e8018]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov r14, rdx
mov rbx, rcx
lea rdx, [rsp + 0x20]
call fcn.1401f7450
mov r9, rax
test rax, rax
je 0x1401f8059
mov r8, qword [rsp + 0x20]
mov al, 3
sub r9, rbx
mov qword [r14], r8
mov byte [r14 + 8], al
lea rax, [r9 + 1]
jmp 0x1401f81da
lea rdx, [0x140293960]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strpbrk
test rax, rax
je 0x1401f8090
movzx edi, byte [rax]
or edi, 0x20
cmp edi, 0x6e
je 0x1401f81d8
cmp edi, 0x78
jne 0x1401f8092
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1401f8340
jmp 0x1401f809f
xor edi, edi
lea rdx, [rsp + 0x20]
mov rcx, rbx
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtod
mov rcx, qword [rsp + 0x20]
lea rbp, [0x140296870]
cmp rcx, rbx
je 0x1401f80e5
movzx eax, byte [rcx]
test byte [rax + rbp + 1], 8
je 0x1401f80d2
nop word [rax + rax]
inc rcx
mov qword [rsp + 0x20], rcx
movzx eax, byte [rcx]
test byte [rax + rbp + 1], 8
jne 0x1401f80c0
xor r9d, r9d
cmp byte [rcx], r9b
cmove r9, rcx
test r9, r9
jne 0x1401f81c4
mov edx, reloc.WLDAP32.dll_Ordinal_46
mov rcx, rbx
call sub.VCRUNTIME140.dll_strchr
mov rsi, rax
test rax, rax
je 0x1401f81d8
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rbx + rcx], 0
jne 0x1401f8105
cmp rcx, 0xc8
ja 0x1401f81d8
lea rdx, [rsp + 0x30]
mov rcx, rbx
sub rdx, rbx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1401f8130
call sub.api_ms_win_crt_locale_l1_1_0.dll_localeconv
sub rsi, rbx
lea rdx, [rsp + 0x20]
mov rcx, qword [rax]
movzx eax, byte [rcx]
lea rcx, [rsp + 0x30]
mov byte [rsp + rsi + 0x30], al
cmp edi, 0x78
jne 0x1401f8166
call fcn.1401f8340
jmp 0x1401f816b
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtod
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x30]
cmp rcx, rax
je 0x1401f81d8
movzx eax, byte [rcx]
test byte [rax + rbp + 1], 8
je 0x1401f81a2
nop dword [rax]
nop dword [rax + rax]
inc rcx
mov qword [rsp + 0x20], rcx
movzx eax, byte [rcx]
test byte [rax + rbp + 1], 8
jne 0x1401f8190
xor r9d, r9d
cmp byte [rcx], r9b
cmove r9, rcx
test r9, r9
je 0x1401f81d8
lea rcx, [rsp + 0x30]
mov rax, rbx
sub rax, rcx
add r9, rax
test r9, r9
je 0x1401f81d8
mov al, reloc.WS2_32.dll_send
movsd qword [r14], xmm0
sub r9, rbx
mov byte [r14 + 8], al
lea rax, [r9 + 1]
jmp 0x1401f81da
xor eax, eax
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140220090
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x1401f8340
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r15
sub rsp, 0x20
mov qword [rsp + 0x40], rbx
mov r15, rdx
mov rbx, rcx
call sub.api_ms_win_crt_locale_l1_1_0.dll_localeconv
xor edi, edi
lea r12, [0x140296870]
xorps xmm1, xmm1
mov r10d, edi
mov esi, edi
mov r9d, edi
mov r8, qword [rax]
mov r11d, edi
movsx ebp, byte [r8]
mov qword [r15], rbx
movzx eax, byte [rbx]
test byte [rax + r12 + 1], 8
je 0x1401f839f
nop
movzx eax, byte [rbx + 1]
inc rbx
test byte [rax + r12 + 1], 8
jne 0x1401f8390
mov qword [rsp + 0x48], r14
lea rdx, [rbx + 1]
cmp al, 0x2d
jne 0x1401f83b4
mov r14d, 1
jmp 0x1401f83bd
cmp al, 0x2b
mov r14d, edi
cmovne rdx, rbx
cmp byte [rdx], 0x30
mov rbx, qword [rsp + 0x40]
jne 0x1401f84f8
movzx eax, byte [rdx + 1]
sub al, 0x58
test al, 0xdf
jne 0x1401f84f8
movsd xmm2, qword [0x1402939d0]
add rdx, 2
nop word [rax + rax]
movzx r8d, byte [rdx]
movsx rcx, r8b
cmp ecx, ebp
jne 0x1401f840c
test r11d, r11d
jne 0x1401f8461
mov r11d, 1
inc rdx
jmp 0x1401f83f0
test byte [r8 + r12 + 1], 0x10
je 0x1401f8461
test r10d, r10d
jne 0x1401f8423
cmp r8b, 0x30
jne 0x1401f8423
inc esi
jmp 0x1401f8454
inc r10d
cmp r10d, 0x1e
jg 0x1401f8451
test byte [rcx + r12 + 1], 2
je 0x1401f8439
add ecx, 0xffffffd0
jmp 0x1401f843f
or ecx, 0x20
sub ecx, 0x57
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
addsd xmm1, xmm0
jmp 0x1401f8454
inc r9d
test r11d, r11d
je 0x1401f845c
dec r9d
inc rdx
jmp 0x1401f83f0
lea eax, [rsi + r10]
test eax, eax
je 0x1401f84f8
mov qword [r15], rdx
lea r9d, [r9*4]
movzx eax, byte [rdx]
sub al, 0x50
test al, 0xdf
jne 0x1401f84df
movzx r10d, byte [rdx + 1]
cmp r10b, 0x2d
jne 0x1401f8493
mov eax, 2
jmp 0x1401f84a0
cmp r10b, 0x2b
mov rax, rdi
sete al
inc rax
lea r8, [rax + rdx]
movzx edx, byte [rax + rdx]
test byte [rdx + r12 + 1], 2
je 0x1401f84f8
movsx eax, dl
lea edi, [rdi + rdi*4]
inc r8
lea edi, [rdi - 0x18]
lea edi, [rax + rdi*2]
movzx eax, byte [r8]
movzx edx, al
test byte [rax + r12 + 1], 2
jne 0x1401f84b0
mov eax, edi
mov qword [r15], r8
neg eax
cmp r10b, 0x2d
cmovne eax, edi
add r9d, eax
test r14d, r14d
je 0x1401f84eb
xorps xmm1, xmmword [0x1402b9d60]
mov edx, r9d
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_ldexp
jmp 0x1401f84fb
xorps xmm0, xmm0
mov r14, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r12
pop rdi
ret
Function at 0x1401fd7e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rdx, r8
je 0x1401fd8f7
push rbx
sub rsp, 0x20
mov qword [rsp + 0x30], rdi
mov r11, r8
lea rdi, [0x140000000]
mov r10, rdx
mov rbx, rcx
movzx edx, byte [r10 + 9]
movzx eax, dl
and al, 7
cmp al, 3
jne case.0x1401fd84a.8
xor dl, 7
mov byte [r10 + 9], dl
test dl, 0x20
je case.0x1401fd84a.8
movzx eax, byte [r10 + 8]
add eax, 0xfffffffc
cmp eax, 0x22
ja case.0x1401fd84a.8
cdqe
movzx eax, byte [rdi + rax + 0x1fd90c]
mov ecx, dword [rdi + rax*4 + 0x1fd8f8]
add rcx, rdi
jmp rcx
and dl, 0xe7
or dl, 0x20
mov byte [r10 + 9], dl
jmp case.0x1401fd84a.8
mov rcx, qword [r10 + 0x10]
lea rax, [r10 + 0x18]
cmp rcx, rax
je 0x1401fd86d
and dl, 0xc7
jmp 0x1401fd873
and dl, 0xe7
or dl, 0x20
mov byte [r10 + 9], dl
test byte [rcx + 8], 0x40
je case.0x1401fd84a.8
mov rdx, qword [rcx]
test byte [rdx + 9], 0x18
je case.0x1401fd84a.8
mov rcx, rbx
call fcn.1401fdf90
jmp case.0x1401fd84a.8
cmp word [r10 + 0xa], 0
jne case.0x1401fd84a.5
mov rax, qword [r10 + 0x18]
test rax, rax
je 0x1401fd8b7
test byte [rax + 9], 0x18
je 0x1401fd8b7
mov rdx, rax
mov rcx, rbx
call fcn.1401fdf90
movzx edx, byte [r10 + 9]
and dl, 0xe7
or dl, 0x20
mov byte [r10 + 9], dl
jmp case.0x1401fd84a.8
mov rcx, r10
call fcn.1401fcca0
mov rcx, qword [rbx + 0x88]
mov qword [rax], rcx
mov qword [rbx + 0x88], r10
and byte [r10 + 9], 0xc7
mov r10, qword [r10]
cmp r10, r11
jne 0x1401fd803
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
ret
Function at 0x1401fee80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rdi, rcx
xor ebp, ebp
mov rcx, rdx
mov esi, ebp
mov r15d, ebp
mov r12d, r8d
mov rbx, rdx
call fcn.140200a50
movzx ecx, byte [rbx + 0xb]
mov r14d, 1
shl r14d, cl
test eax, eax
je 0x1401feefd
mov r10d, ebp
mov r11d, eax
nop dword [rax]
mov rax, qword [rbx + 0x10]
test byte [r10 + rax + 8], 0x40
je 0x1401feef3
mov rdx, qword [r10 + rax]
test byte [rdx + 9], 0x18
je 0x1401feef3
mov rcx, rdi
mov esi, 1
call fcn.1401fdf90
add r10, 0x10
sub r11, 1
jne 0x1401feed0
mov r11d, ebp
test r14d, r14d
je 0x1401fefa2
nop dword [rax]
mov rdx, qword [rbx + 0x18]
mov ecx, r14d
sub ecx, r11d
mov eax, r11d
dec ecx
test r12d, r12d
cmovne eax, ecx
lea rcx, [rax + rax*2]
movzx eax, byte [rdx + rcx*8 + 8]
lea r10, [rdx + rcx*8]
movzx ecx, byte [rdx + rcx*8 + 9]
and cl, 0x40
test al, 0xf
jne 0x1401fef49
test cl, cl
je 0x1401fef96
mov byte [r10 + 9], listen
jmp 0x1401fef96
test cl, cl
je 0x1401fef7a
mov rdx, qword [r10 + 0x10]
test rdx, rdx
je 0x1401fef7a
movzx ecx, byte [rdx + 8]
movzx r8d, byte [rdx + 9]
and cl, 0xf
cmp cl, 4
jne 0x1401fefc3
test r8b, 0x18
je 0x1401fef7a
mov rcx, rdi
call fcn.1401fdf90
movzx eax, byte [r10 + 8]
and al, 0x40
test al, al
je 0x1401fef96
mov rdx, qword [r10]
test byte [rdx + 9], 0x18
je 0x1401fef96
mov rcx, rdi
mov esi, 1
call fcn.1401fdf90
inc r11d
cmp r11d, r14d
jb 0x1401fef10
cmp byte [rdi + 0x65], 0
jne 0x1401fefe4
mov rcx, qword [rdi + 0x90]
mov qword [rbx + 0x30], rcx
mov qword [rdi + 0x90], rbx
and byte [rbx + 9], 0xc7
jmp 0x1401ff055
mov ecx, r8d
and al, 0x40
and ecx, 0x18
je 0x1401fef7c
mov ebp, 1
test al, al
je 0x1401fef96
mov rax, qword [r10]
test byte [rax + 9], 0x18
je 0x1401fef96
mov r15d, ebp
jmp 0x1401fef96
test r15d, r15d
je 0x1401ff001
mov rax, qword [rdi + 0xa0]
mov qword [rbx + 0x30], rax
mov qword [rdi + 0xa0], rbx
and byte [rbx + 9], 0xc7
jmp 0x1401ff055
test ebp, ebp
je 0x1401ff01d
mov rax, qword [rdi + 0xa8]
mov qword [rbx + 0x30], rax
mov qword [rdi + 0xa8], rbx
and byte [rbx + 9], 0xc7
jmp 0x1401ff055
movzx eax, byte [rbx + 9]
movzx ecx, al
and cl, 7
cmp cl, 5
jne 0x1401ff04b
mov rcx, rbx
call fcn.1401fcca0
mov rcx, qword [rdi + 0x90]
mov qword [rax], rcx
mov qword [rdi + 0x90], rbx
and byte [rbx + 9], 0xc7
jmp 0x1401ff055
cmp cl, 6
jne 0x1401ff055
xor al, 2
mov byte [rbx + 9], al
mov rbx, qword [rsp + 0x40]
mov eax, esi
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
Function at 0x1401ff1d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov eax, 1
movzx ecx, byte [rdx + 0xb]
mov rbx, rdx
shl eax, cl
mov rcx, rdx
cdqe
lea r8, [rax + rax*2]
mov rax, qword [rdx + 0x18]
lea rbp, [rax + r8*8]
call fcn.140200a50
xor esi, esi
test eax, eax
je 0x1401ff248
mov r10d, esi
mov r11d, eax
nop word [rax + rax]
mov rax, qword [rbx + 0x10]
test byte [r10 + rax + 8], 0x40
je 0x1401ff23e
mov rdx, qword [r10 + rax]
test byte [rdx + 9], 0x18
je 0x1401ff23e
mov rcx, rdi
call fcn.1401fdf90
add r10, 0x10
sub r11, 1
jne 0x1401ff220
mov r10, qword [rbx + 0x18]
cmp r10, rbp
jae 0x1401ff2a4
movzx eax, byte [r10 + 8]
test al, 0xf
jne 0x1401ff268
test byte [r10 + 9], 0x40
je 0x1401ff29b
mov byte [r10 + 9], listen
jmp 0x1401ff29b
test byte [r10 + 9], 0x40
je 0x1401ff286
mov rdx, qword [r10 + 0x10]
test byte [rdx + 9], 0x18
je 0x1401ff286
mov rcx, rdi
call fcn.1401fdf90
movzx eax, byte [r10 + 8]
test al, 0x40
je 0x1401ff29b
mov rdx, qword [r10]
test byte [rdx + 9], 0x18
je 0x1401ff29b
mov rcx, rdi
call fcn.1401fdf90
add r10, 0x18
cmp r10, rbp
jb 0x1401ff251
movzx eax, byte [rbx + 9]
movzx ecx, al
and cl, 7
cmp cl, 5
jne 0x1401ff30f
movzx eax, byte [rbx + 8]
add eax, 0xfffffffb
cmp eax, 0x21
ja case.0x1401ff2da.9
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x1ff348]
mov ecx, dword [rdx + rax*4 + 0x1ff330]
add rcx, rdx
jmp rcx
lea rsi, [rbx + 0x30]
jmp case.0x1401ff2da.9
lea rsi, [rbx + 0x10]
jmp case.0x1401ff2da.9
lea rsi, [rbx + 0x40]
jmp case.0x1401ff2da.9
lea rsi, [rbx + 0x78]
jmp case.0x1401ff2da.9
lea rsi, [rbx + 0x20]
mov rax, qword [rdi + 0x90]
mov qword [rsi], rax
mov qword [rdi + 0x90], rbx
and byte [rbx + 9], 0xc7
jmp 0x1401ff319
cmp cl, 6
jne 0x1401ff319
xor al, 2
mov byte [rbx + 9], al
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x1401ff830
Capabilities:
Encode data using xor

Disassembly:
mov eax, edx
mov r9, rcx
xor eax, r8d
test rdx, rdx
je 0x1401ff85f
nop dword [rax]
movzx r8d, byte [r9 + rdx - 1]
mov ecx, eax
shl ecx, 5
add r8d, ecx
mov ecx, eax
shr ecx, 2
add r8d, ecx
xor eax, r8d
sub rdx, 1
jne 0x1401ff840
ret

Function at 0x1401ffab0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x20
mov rsi, r8
mov rbp, rdx
cmp r8, 0x28
ja 0x1401ffad5
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
jmp fcn.1401ff580
movabs rax, 0x7fffffffffffffdf
cmp rsi, rax
jae 0x1401ffb3d
mov rax, qword [rcx + 0x18]
add r8, 0x19
mov qword [rsp + 0x30], rbx
mov edx, reloc.WS2_32.dll_sendto
mov qword [rsp + 0x38], rdi
mov ebx, dword [rax + 0x60]
call fcn.1401fd130
mov r8, rsi
mov rdx, rbp
mov rdi, rax
mov dword [rax + 0xc], ebx
lea rcx, [rax + 0x18]
mov byte [rax + 0xa], 0
mov byte [rax + rsi + 0x18], 0
mov qword [rax + 0x10], rsi
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rsp + 0x30]
mov rax, rdi
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
call fcn.1402076b0
int3
Function at 0x14021f944
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rdi, rdx
lea r8, [rsp + 0x60]
mov ebx, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov r8d, ebx
mov ecx, 0x1300
neg eax
sbb r9d, r9d
and qword [rsp + 0x30], 0
and r9d, dword [rsp + 0x60]
xor edx, edx
and dword [rsp + 0x28], 0
mov dword [rsp + 0x60], r9d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x14021f9c8
mov r8, qword [rdi]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, reloc.WS2_32.dll_accept
cmp byte [rcx + rax], 0
je 0x14021f9c8
dec r8
sub rdx, 1
jne 0x14021f9ae
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret

Function at 0x1402210ac
Capabilities:
Parse pe header

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

Function at 0x140221830
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x50
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor edi, edi
cmp byte [r8 + 6], dil
je 0x140221864
mov ecx, edi
nop dword [rax]
lea eax, [rcx + 0x4a]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 5
jb 0x140221850
mov byte [r8 + 6], dil
lea rax, [r8 + 5]
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
cmp r8, rax
jne 0x140221891
mov qword [rsp + 0x30], rdi
mov byte [rsp + 0x20], dil
jmp 0x1402218af
mov qword [rsp + 0x30], 5
mov eax, dword [r8]
mov dword [rsp + 0x20], eax
movzx eax, byte [r8 + 4]
mov byte [rsp + 0x24], al
mov byte [rsp + 0x25], dil
mov r9, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1402218bd
mov rdx, qword [rdx]
mov r8, rdx
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.140078640
mov qword [rbx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x140221934
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022192f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14022192f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140220300
mov rax, rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
Function at 0x140221950
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x50
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor edi, edi
cmp byte [r8 + 7], dil
je 0x140221984
mov ecx, edi
nop dword [rax]
lea eax, [rcx + 0x4a]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 6
jb 0x140221970
mov byte [r8 + 7], dil
lea rax, [r8 + 6]
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
cmp r8, rax
jne 0x1402219b1
mov qword [rsp + 0x30], rdi
mov byte [rsp + 0x20], dil
jmp 0x1402219d0
mov qword [rsp + 0x30], 6
mov eax, dword [r8]
mov dword [rsp + 0x20], eax
movzx eax, word [r8 + 4]
mov word [rsp + 0x24], ax
mov byte [rsp + 0x26], dil
mov r9, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1402219de
mov rdx, qword [rdx]
mov r8, rdx
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.140078640
mov qword [rbx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x140221a55
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140221a50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140221a50
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140220300
mov rax, rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret