joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000c110
Capabilities:
Hash data using sha512

Disassembly:
push rbx
push rdi
push r13
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x140079008]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov r15, r9
mov r13, r8
movzx ebx, dl
mov r14, rcx
cmp r9, 0x40
jbe 0x14000c1bc
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0xd8
call fcn.14004d760
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140017aa0
mov edi, eax
test eax, eax
jne 0x14000c192
mov r8, r15
lea rcx, [rsp + 0x30]
mov rdx, r13
call fcn.140018530
mov edi, eax
test eax, eax
jne 0x14000c192
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x30]
call fcn.140018610
mov edi, eax
mov rax, qword [fcn.14004d760]
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0xd8
call rax
test edi, edi
jne 0x14000c343
lea r13, [rsp + 0x110]
lea r15d, [rdi + 0x40]
mov qword [rsp + 0x1a8], rbp
xor ecx, ecx
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x160], r12
mov byte [rsp + 0x20], bl
mov byte [rsp + 0x21], r15b
cmp dword [r14], ecx
jne 0x14000c263
mov qword [r14 + 8], rcx
movabs rax, 0x6a09e667f3bcc908
mov qword [r14 + 0x10], rcx
mov qword [r14 + 0x18], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [r14 + 0x20], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [r14 + 0x28], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [r14 + 0x30], rax
movabs rax, 0x510e527fade682d1
mov qword [r14 + 0x38], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [r14 + 0x40], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [r14 + 0x48], rax
movabs rax, 0x5be0cd19137e2179
mov qword [r14 + 0x50], rax
mov dword [r14 + 0xd8], ecx
mov dword [r14], 1
lea rsi, [rsp + 0x20]
mov ebp, dword [r14 + 8]
add r14, 8
and ebp, 0x7f
mov ebx, 2
mov r12d, 0x80
sub r12d, ebp
add qword [r14], rbx
cmp qword [r14], rbx
jae 0x14000c294
inc qword [r14 + 8]
test ebp, ebp
je 0x14000c307
cmp r12, rbx
ja 0x14000c307
mov eax, ebp
lea rcx, [r14 + 0x50]
add rcx, rax
lea rdx, [rsp + 0x20]
mov r8, r12
call fcn.14004e150
lea rdx, [r14 + 0x50]
mov rcx, r14
call fcn.140017bd0
mov edi, eax
test eax, eax
jne 0x14000c32b
lea rsi, [rsp + 0x20]
sub rbx, r12
add rsi, r12
xor ebp, ebp
cmp rbx, 0x80
jb 0x14000c302
nop dword [rax + rax]
mov rdx, rsi
mov rcx, r14
call fcn.140017bd0
mov edi, eax
test eax, eax
jne 0x14000c32b
sub rsi, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
cmp rbx, 0x80
jae 0x14000c2e0
test rbx, rbx
je 0x14000c31b
mov eax, ebp
lea rcx, [r14 + 0x50]
add rcx, rax
mov r8, rbx
mov rdx, rsi
call fcn.14004e150
mov r8, r15
mov rdx, r13
mov rcx, r14
call fcn.140018530
mov edi, eax
mov rsi, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x160]
mov r9, qword [fcn.14004d760]
lea rcx, [rsp + 0x110]
xor edx, edx
lea r8d, [rdx + 0x40]
call r9
mov eax, edi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14004c9e0
add rsp, 0x170
pop r15
pop r14
pop r13
pop rdi
pop rbx
ret
Function at 0x14000c860
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r13
lea rbp, [rsp - 0x268]
sub rsp, 0x368
mov rax, qword [0x140079008]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov rbx, r8
mov rdi, rdx
mov r13, rcx
cmp r8, 0x180
jbe 0x14000c8a2
mov eax, 0xffffffc8
jmp 0x14000caff
mov qword [rsp + 0x3a8], rsi
lea rcx, [rbp + 0xa0]
mov qword [rsp + 0x360], r12
xor edx, edx
mov r8d, 0x1a0
mov qword [rsp + 0x350], r15
call fcn.14004d760
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x120
call fcn.14004d760
mov rax, rbx
mov byte [rbp + 0xb3], bl
shr rax, 0x18
lea rcx, [rbp + 0xb8]
mov byte [rbp + 0xb0], al
mov r8, rbx
mov rax, rbx
mov byte [rbp + 0xb7], 0x30
shr rax, 0x10
mov rdx, rdi
mov byte [rbp + 0xb1], al
mov rax, rbx
shr rax, 8
mov byte [rbp + 0xb2], al
call fcn.14004e150
xor r15d, r15d
mov byte [rbp + rbx + 0xb8], 0x80
mov eax, r15d
lea r12, [rbx + 0x19]
lea rcx, [rbp + 0x80]
nop
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x20
jl 0x14000c940
mov r8d, pe_nt_image_headers64
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x20]
call fcn.140032a00
mov esi, eax
mov r8d, 0x10
test eax, eax
jne 0x14000ca65
mov qword [rsp + 0x358], r14
mov r14, r15
nop
xorps xmm0, xmm0
mov rdi, r12
movups xmmword [rbp + 0x40], xmm0
test r12, r12
je 0x14000c9f7
lea rbx, [rbp + 0xa0]
lea rax, [rbp + 0x40]
sub rbx, rax
nop dword [rax]
lea rax, [rbp + 0x40]
mov rdx, r8
nop word [rax + rax]
movzx ecx, byte [rbx + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x14000c9b0
mov rax, rdi
lea rdx, [rbp + 0x40]
add rbx, 0x10
lea rcx, [rsp + 0x20]
cmp rdi, 0x10
cmovae rax, r8
lea r8, [rbp + 0x40]
sub rdi, rax
call fcn.1400335a0
mov esi, eax
test eax, eax
jne 0x14000ca5d
lea r8d, [rax + 0x10]
test rdi, rdi
jne 0x14000c9a0
movups xmm0, xmmword [rbp + 0x40]
inc byte [rbp + 0xa3]
movups xmmword [rbp + r14 + 0x50], xmm0
add r14, 0x10
cmp r14, 0x30
jl 0x14000c980
mov r8d, pe_nt_image_headers64
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.140032a00
mov esi, eax
test eax, eax
jne 0x14000ca5d
mov rbx, r13
nop
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.1400335a0
mov esi, eax
test eax, eax
jne 0x14000ca5d
movups xmm0, xmmword [rbp + 0x70]
add r15d, 0x10
movups xmmword [rbx], xmm0
add rbx, 0x10
cmp r15d, 0x30
jl 0x14000ca30
mov r14, qword [rsp + 0x358]
mov rax, qword [fcn.14004d760]
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8d, 0x120
call rax
mov rax, qword [fcn.14004d760]
lea rcx, [rbp + 0xa0]
xor edx, edx
mov r8d, 0x1a0
call rax
mov rax, qword [fcn.14004d760]
lea rcx, [rbp + 0x50]
xor edx, edx
lea r8d, [rdx + 0x30]
call rax
mov rax, qword [fcn.14004d760]
lea rcx, [rbp + 0x80]
xor edx, edx
lea r8d, [rdx + 0x20]
call rax
mov rax, qword [fcn.14004d760]
lea rcx, [rbp + 0x40]
xor edx, edx
lea r8d, [rdx + 0x10]
call rax
mov r15, qword [rsp + 0x350]
mov r12, qword [rsp + 0x360]
test esi, esi
je 0x14000caf5
mov rax, qword [fcn.14004d760]
xor edx, edx
mov rcx, r13
lea r8d, [rdx + 0x30]
call rax
mov eax, esi
mov rsi, qword [rsp + 0x3a8]
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.14004c9e0
add rsp, 0x368
pop r13
pop rdi
pop rbx
pop rbp
ret
Function at 0x14000f870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rdi
sub rsp, 0x48
mov rdi, rcx
mov rcx, qword [rcx]
mov rbp, qword [rcx + 0x88]
test rbp, rbp
je 0x14000fa50
mov r10, qword [rcx + 0x90]
test r10, r10
je 0x14000fa50
mov rdx, qword [rdi + 0xf8]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rsi
mov rsi, qword [rdi + 0x138]
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
cmp rdx, 0x3d
jb 0x14000fa46
mov rbx, qword [rdi + 0xb0]
cmp byte [rbx], 0x16
jne 0x14000fa46
cmp byte [rbx + 3], 0
jne 0x14000fa46
cmp byte [rbx + 4], 0
jne 0x14000fa46
cmp byte [rbx + 0x13], 0
jne 0x14000fa46
cmp byte [rbx + 0x14], 0
jne 0x14000fa46
cmp byte [rbx + 0x15], 0
jne 0x14000fa46
movzx r8d, byte [rbx + 0x3b]
lea rax, [rdx - 0x3d]
cmp r8, rax
ja 0x14000fa46
movzx r11d, byte [r8 + rbx + 0x3c]
lea rax, [rdx - 0x3c]
cmp r11, rax
ja 0x14000fa46
mov r15, qword [rdi + 0x1a0]
lea rdx, [rbx + 0x3d]
mov r12, qword [rcx + 0x98]
add rdx, r8
mov r14, qword [rdi + 0x1a8]
mov r8d, r11d
mov r9, r15
mov qword [rsp + 0x20], r14
mov rcx, r12
call r10
test eax, eax
je 0x14000fa2d
movups xmm0, xmmword [rbx]
lea r8, [rsi + 0x4000]
mov qword [rsp + 0x20], r14
mov r9, r15
lea rdx, [rsp + 0x60]
movups xmmword [rsi], xmm0
mov rcx, r12
movsd xmm1, qword [rbx + 0x10]
movsd qword [rsi + 0x10], xmm1
movzx eax, byte [rbx + 0x18]
mov byte [rsi + 0x18], al
lea rax, [rsi + 0x1c]
mov qword [rsp + 0x60], rax
mov byte [rsi + 0xd], 3
mov word [rsi + 0x19], 0xfffe
call rbp
test eax, eax
je 0x14000f9d6
mov eax, 0xffff9400
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x30]
add rsp, 0x48
pop rdi
pop rbp
ret
mov r8, qword [rsp + 0x60]
sub r8, rsi
lea rcx, [r8 - 0x19]
lea eax, [r8 - 0x1c]
mov byte [rsi + 0x18], cl
mov byte [rsi + 0x1b], al
mov rax, rcx
shr rax, 0x10
mov byte [rsi + 0x16], al
mov byte [rsi + 0xe], al
mov rax, rcx
shr rax, 8
mov byte [rsi + 0x17], al
mov byte [rsi + 0xf], al
lea rax, [r8 - 0xd]
shr rax, 8
mov byte [rsi + 0xb], al
lea eax, [r8 - 0xd]
mov byte [rsi + 0xc], al
mov byte [rsi + 0x10], cl
mov rdx, qword [rdi + 0x138]
mov rcx, qword [rdi + 0x48]
call qword [rdi + 0x30]
xor eax, eax
jmp 0x14000f9b6
mov rcx, rdi
call fcn.14000b160
test eax, eax
mov ecx, 0xffff9880
cmovne ecx, eax
mov eax, ecx
jmp 0x14000f9b6
mov eax, 0xffff8700
jmp 0x14000f9b6
xor eax, eax
add rsp, 0x48
pop rdi
pop rbp
ret
Function at 0x14001b720
Capabilities:
Hash data with md5

Disassembly:
mov rdx, rcx
test rcx, rcx
je case.default.0x14001b75b
mov rax, qword [rcx]
test rax, rax
je case.default.0x14001b75b
mov eax, dword [rax + 8]
add eax, 0xfffffffd
cmp eax, 6
ja case.default.0x14001b75b
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x1b95c]
add rcx, r8
jmp rcx
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rax], rcx
mov dword [rax + 8], 0x67452301
mov dword [rax + 0xc], 0xefcdab89
mov dword [rax + 0x10], 0x98badcfe
mov dword [rax + 0x14], 0x10325476
xor eax, eax
ret
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rax], rcx
mov dword [rax + 8], 0x67452301
mov dword [rax + 0xc], 0xefcdab89
mov dword [rax + 0x10], 0x98badcfe
mov dword [rax + 0x14], 0x10325476
mov dword [rax + 0x18], 0xc3d2e1f0
xor eax, eax
ret
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rax], rcx
mov dword [rax + 8], 0xc1059ed8
mov dword [rax + 0xc], 0x367cd507
mov dword [rax + 0x10], 0x3070dd17
mov dword [rax + 0x14], 0xf70e5939
mov dword [rax + 0x18], 0xffc00b31
mov dword [rax + 0x1c], 0x68581511
mov dword [rax + 0x20], 0x64f98fa7
mov dword [rax + 0x24], 0xbefa4fa4
mov dword [rax + 0x68], 1
xor eax, eax
ret
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rax], rcx
mov dword [rax + 8], 0x6a09e667
mov dword [rax + 0xc], 0xbb67ae85
mov dword [rax + 0x10], 0x3c6ef372
mov dword [rax + 0x14], 0xa54ff53a
mov dword [rax + 0x18], 0x510e527f
mov dword [rax + 0x1c], 0x9b05688c
mov dword [rax + 0x20], 0x1f83d9ab
mov dword [rax + 0x24], 0x5be0cd19
mov dword [rax + 0x68], ecx
xor eax, eax
ret
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
movabs rcx, 0xcbbb9d5dc1059ed8
mov qword [rax + 0x10], rcx
movabs rcx, 0x629a292a367cd507
mov qword [rax + 0x18], rcx
movabs rcx, 0x9159015a3070dd17
mov qword [rax + 0x20], rcx
movabs rcx, 0x152fecd8f70e5939
mov qword [rax + 0x28], rcx
movabs rcx, 0x67332667ffc00b31
mov qword [rax + 0x30], rcx
movabs rcx, 0x8eb44a8768581511
mov qword [rax + 0x38], rcx
movabs rcx, 0xdb0c2e0d64f98fa7
mov qword [rax + 0x40], rcx
movabs rcx, 0x47b5481dbefa4fa4
mov qword [rax + 0x48], rcx
mov dword [rax + 0xd0], 1
xor eax, eax
ret
mov rax, qword [rdx + 8]
xor ecx, ecx
movabs rdx, 0x6a09e667f3bcc908
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdx
movabs rdx, 0xbb67ae8584caa73b
mov qword [rax + 0x18], rdx
movabs rdx, 0x3c6ef372fe94f82b
mov qword [rax + 0x20], rdx
movabs rdx, 0xa54ff53a5f1d36f1
mov qword [rax + 0x28], rdx
movabs rdx, 0x510e527fade682d1
mov qword [rax + 0x30], rdx
movabs rdx, 0x9b05688c2b3e6c1f
mov qword [rax + 0x38], rdx
movabs rdx, 0x1f83d9abfb41bd6b
mov qword [rax + 0x40], rdx
movabs rdx, 0x5be0cd19137e2179
mov qword [rax + 0x48], rdx
mov dword [rax + 0xd0], ecx
xor eax, eax
ret
mov eax, 0xffffaf00
ret
Function at 0x14001bb60
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x70
mov rax, qword [0x140079008]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, r8
mov r14, rdx
mov rdi, rcx
test rcx, rcx
je 0x14001bdac
mov rcx, qword [rcx]
test rcx, rcx
je 0x14001bdac
mov rbp, qword [rdi + 0x10]
test rbp, rbp
je 0x14001bdac
movzx eax, byte [rcx + 0xd]
cmp r8, rax
jbe 0x14001bc74
mov rcx, rdi
call fcn.14001b720
mov ebx, eax
test eax, eax
jne 0x14001bd8d
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call fcn.14001b980
mov ebx, eax
test eax, eax
jne 0x14001bd8d
mov rax, qword [rdi]
test rax, rax
je case.default.0x14001bc0a
mov eax, dword [rax + 8]
add eax, 0xfffffffd
cmp eax, 6
ja case.default.0x14001bc0a
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x1bdcc]
add rcx, rdx
jmp rcx
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x20]
call fcn.140017870
jmp 0x14001bc5a
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x20]
call fcn.1400394a0
jmp 0x14001bc5a
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x20]
call fcn.140023580
jmp 0x14001bc5a
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x20]
call fcn.140021e10
jmp 0x14001bc5a
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x20]
call fcn.140018610
mov ebx, eax
test eax, eax
jne 0x14001bd8d
mov rcx, qword [rdi]
lea r14, [rsp + 0x20]
mov rbp, qword [rdi + 0x10]
movzx esi, byte [rcx + 0xc]
movzx r8d, byte [rcx + 0xd]
mov edx, 0x36
mov rcx, rbp
lea rbx, [r8 + rbp]
call fcn.14004d760
mov rax, qword [rdi]
mov edx, 0x5c
mov rcx, rbx
movzx r8d, byte [rax + 0xd]
call fcn.14004d760
xor eax, eax
test rsi, rsi
je 0x14001bd6a
cmp rsi, 0x10
jb 0x14001bd32
lea rdx, [rbx - 1]
lea r8, [r14 - 1]
add rdx, rsi
add r8, rsi
cmp rbx, r8
ja 0x14001bccc
cmp rdx, r14
jae 0x14001bd32
lea rcx, [rbp - 1]
add rcx, rsi
cmp rbx, rcx
ja 0x14001bcdd
cmp rdx, rbp
jae 0x14001bd32
cmp rbp, r8
ja 0x14001bce7
cmp rcx, r14
jae 0x14001bd32
mov rdx, rsi
and rdx, 0xfffffffffffffff0
mov r8, r14
mov r9, rbx
sub r8, rbp
mov rcx, rbp
sub r9, rbp
nop dword [rax]
movdqu xmm1, xmmword [r8 + rcx]
add rax, 0x10
movdqu xmm0, xmmword [rcx]
lea rcx, [rcx + 0x10]
pxor xmm0, xmm1
movdqu xmmword [rcx - 0x10], xmm0
movdqu xmm0, xmmword [r9 + rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [r9 + rcx - 0x10], xmm1
cmp rax, rdx
jb 0x14001bd00
cmp rax, rsi
jae 0x14001bd6a
mov rcx, rbp
lea r8, [r14 + rax]
sub rcx, r14
sub rbx, r14
sub rsi, rax
nop word [rax + rax]
movzx eax, byte [r8]
xor byte [rcx + r8], al
movzx eax, byte [r8]
xor byte [rbx + r8], al
lea r8, [r8 + 1]
sub rsi, 1
jne 0x14001bd50
mov rcx, rdi
call fcn.14001b720
mov ebx, eax
test eax, eax
jne 0x14001bd8d
mov rax, qword [rdi]
mov rdx, rbp
mov rcx, rdi
movzx r8d, byte [rax + 0xd]
call fcn.14001b980
mov ebx, eax
mov rax, qword [fcn.14004d760]
lea rcx, [rsp + 0x20]
xor edx, edx
lea r8d, [rdx + 0x40]
call rax
mov eax, ebx
jmp 0x14001bdb1
mov ebx, 0xffffaf00
jmp 0x14001bd8d
mov eax, 0xffffaf00
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14004c9e0
add rsp, 0x70
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140027110
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x20
mov rbx, rcx
mov rsi, rdx
mov rcx, qword [rcx]
mov r10, qword [rcx + 0x78]
test r10, r10
jne 0x140027160
cmp qword [rcx + 0x148], r10
je 0x140027150
cmp qword [rcx + 0x140], r10
je 0x140027150
cmp qword [rcx + 0x130], r10
je 0x140027150
cmp qword [rcx + 0x138], r10
jne 0x140027160
mov eax, 0xffff8a00
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov rdx, qword [rdx]
mov rax, r8
sub rax, rdx
mov qword [rsp + 0x38], rdi
cmp rax, 2
jl 0x140027281
movzx eax, byte [rdx]
movzx r9d, byte [rdx + 1]
lea rdx, [rdx + 2]
shl ax, 8
or r9w, ax
mov qword [rsi], rdx
je 0x140027281
movzx edi, r9w
sub r8, rdx
cmp rdi, r8
jg 0x140027281
test r10, r10
je 0x140027214
mov rcx, qword [rcx + 0x80]
mov r8, rdx
mov rdx, rbx
mov r9d, edi
call r10
test eax, eax
je 0x14002726c
cmp qword [rbx], 0
je 0x1400271ff
mov rax, qword [rbx + 0x160]
mov dl, 1
mov dword [rbx + 0x168], 0x15
mov rcx, rbx
mov qword [rbx + 0x170], 2
mov byte [rax], 2
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x73
call fcn.14000f210
mov rdi, qword [rsp + 0x38]
mov eax, 0xffff9380
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
cmp rdi, qword [rcx + 0x148]
jne 0x1400271c5
mov r9, qword [rcx + 0x140]
mov byte [rsp + 0x30], 0
test rdi, rdi
je 0x14002725f
sub r9, rdx
mov r8, rdi
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + rdx]
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
xor cl, al
movzx eax, byte [rsp + 0x30]
or cl, al
mov byte [rsp + 0x30], cl
sub r8, 1
jne 0x140027240
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x1400271c5
add qword [rsi], rdi
mov rdi, qword [rsp + 0x38]
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov rdi, qword [rsp + 0x38]
mov eax, 0xffff8400
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
Function at 0x140035b20
Capabilities:
Encrypt data using openssl rsa

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
lea rbx, [0x14006abf0]
mov rcx, rbx
test rsi, rsi
je 0x140035b76
cmp qword [0x14006abf0], 0
je 0x140035b76
mov rdi, qword [rsi + 8]
nop
cmp qword [rcx + 8], rdi
jne 0x140035b69
mov rdx, qword [rsi + 0x10]
mov r8, rdi
mov rcx, qword [rcx]
call fcn.14005dd10
test eax, eax
je 0x140035b88
add rbx, 0x28
mov rcx, rbx
cmp qword [rbx], 0
jne 0x140035b50
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rsi, qword [rsp + 0x38]
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14003e4c0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov r14, qword [rcx + 0x158]
lea rax, [r8 - 4]
mov rbp, qword [rcx + 0x160]
mov rdi, r8
shl r14, 3
mov rbx, rdx
shl rbp, 3
mov rsi, rcx
cmp rax, 0xc
ja 0x14003e611
lea rdx, [rcx + 0x168]
mov rcx, rbx
call fcn.14004e150
test r14, r14
jne 0x14003e515
test rbp, rbp
je 0x14003e604
lea rdx, [rsi + 0x188]
mov rax, rbp
shr rax, 0x38
mov r8, rdx
xor byte [rdx], al
mov rcx, rsi
mov rax, rbp
shr rax, 0x30
xor byte [rsi + 0x189], al
mov rax, rbp
shr rax, 0x28
xor byte [rsi + 0x18a], al
mov rax, rbp
shr rax, 0x20
xor byte [rsi + 0x18b], al
mov rax, rbp
shr rax, 0x18
xor byte [rsi + 0x18c], al
mov rax, rbp
shr rax, 0x10
xor byte [rsi + 0x18d], al
mov rax, rbp
shr rax, 8
xor byte [rsi + 0x18e], al
mov rax, r14
xor byte [rsi + 0x18f], bpl
shr rax, 0x38
xor byte [rsi + 0x190], al
mov rax, r14
shr rax, 0x30
xor byte [rsi + 0x191], al
mov rax, r14
shr rax, 0x28
xor byte [rsi + 0x192], al
mov rax, r14
shr rax, 0x20
xor byte [rsi + 0x193], al
mov rax, r14
shr rax, 0x18
xor byte [rsi + 0x194], al
mov rax, r14
shr rax, 0x10
xor byte [rsi + 0x195], al
mov rax, r14
shr rax, 8
xor byte [rsi + 0x196], al
xor byte [rsi + 0x197], r14b
call fcn.14003dae0
test rdi, rdi
je 0x14003e604
sub rsi, rbx
nop
movzx eax, byte [rsi + rbx + 0x188]
xor byte [rbx], al
lea rbx, [rbx + 1]
sub rdi, 1
jne 0x14003e5f0
xor eax, eax
add rsp, 0x20
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 0xffffffec
add rsp, 0x20
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14003e630
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x140079008]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xa8]
mov rsi, rcx
mov rcx, qword [rsp + 0xa0]
mov rbp, rdx
mov rdi, qword [rsp + 0xb0]
xor edx, edx
mov rbx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.14003e030
test eax, eax
jne 0x14003e7d0
mov r9, r14
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.14003e310
test eax, eax
jne 0x14003e7d0
mov rbx, qword [rsp + 0xb8]
lea rdx, [rsp + 0x30]
mov r8, rbx
mov rcx, rsi
call fcn.14003e4c0
test eax, eax
jne 0x14003e7d0
xor r8d, r8d
mov eax, r8d
test rbx, rbx
je 0x14003e7ce
cmp rbx, 8
jb 0x14003e782
mov rdx, rbx
lea rcx, [rsp + 0x30]
and rdx, 0xfffffffffffffff8
mov r8, rdi
sub r8, rcx
xorps xmm4, xmm4
xorps xmm3, xmm3
nop
movd xmm2, dword [rdi + rax]
lea rcx, [r8 + rax]
movd xmm1, dword [rsp + rax + 0x30]
xorps xmm0, xmm0
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
movd xmm1, dword [rsp + rax + 0x34]
por xmm2, xmm4
punpcklbw xmm1, xmm0
movdqa xmm4, xmm2
punpcklwd xmm1, xmm0
movd xmm2, dword [rsp + rcx + 0x34]
add rax, 8
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
pxor xmm2, xmm1
por xmm2, xmm3
movdqa xmm3, xmm2
cmp rax, rdx
jb 0x14003e700
por xmm3, xmm4
movdqa xmm0, xmm3
psrldq xmm0, 8
por xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
por xmm3, xmm0
movd r8d, xmm3
cmp rax, rbx
jae 0x14003e7ac
lea rcx, [rsp + 0x30]
sub rdi, rcx
nop
lea rcx, [rsp + 0x30]
add rcx, rax
inc rax
movzx edx, byte [rdi + rcx]
movzx ecx, byte [rcx]
xor edx, ecx
or r8d, edx
cmp rax, rbx
jb 0x14003e790
test r8d, r8d
je 0x14003e7ce
test rbp, rbp
je 0x14003e7c7
mov rax, qword [fcn.14004d760]
mov r8, rbp
xor edx, edx
mov rcx, r14
call rax
mov eax, 0xffffffee
jmp 0x14003e7d0
xor eax, eax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14004c9e0
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400534fc
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x140053328
Function at 0x14001a5d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, rdx
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov ebx, ecx
shr ebx, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov r15, rax
movzx r14d, byte [rax + 1]
add rax, 2
lea r10, [r11 + r14]
cmp byte [r15], bl
jne 0x14001a660
cmp r11, r10
ja 0x14001a6d6
cmp r10, rdx
ja 0x14001a6ea
add r11, r9
xor r15d, r15d
nop word cs:[rax + rax]
cmp r14, r15
je 0x14001a662
lea r12, [r15 + 1]
cmp byte [r11 + r15], cl
mov r15, r12
jne 0x14001a640
jmp 0x14001a6c4
ja 0x14001a66a
mov r11, r10
cmp rax, r8
jne 0x14001a604
add rsi, rdi
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r8, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
js 0x14001a6a0
mov rdi, r8
sub ecx, edx
jns 0x14001a6bb
jmp 0x14001a6c6
cmp r8, rsi
je 0x14001a6fb
movzx r8d, byte [rdi + 1]
add rdi, 2
and edx, 0x7f
shl edx, 8
or edx, r8d
sub ecx, edx
js 0x14001a6c6
xor al, 1
cmp rdi, rsi
jne 0x14001a680
jmp 0x14001a6c6
xor eax, eax
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, [0x1413b4a08]
mov rcx, r11
mov rdx, r10
call fcn.140050c40
ud2
lea r8, [0x1413b4a08]
mov rcx, r10
call fcn.1400509c0
ud2
lea rcx, [0x1413b9098]
lea r8, [0x1413b49f0]
mov edx, 0x2b
call fcn.140050a40
ud2

Function at 0x14001fe90
Capabilities:
Encode data using xor

Disassembly:
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae fcn.140017eb0
cmp rax, rcx
je 0x14001feb5
cmp rdx, 4
jae 0x14001feb8
xor eax, eax
xor r8d, r8d
jmp 0x14001ff50
xor eax, eax
ret
mov r8, rdx
and r8, 0xfffffffffffffffc
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x140053730]
movdqa xmm3, xmmword [0x140053540]
pxor xmm1, xmm1
nop dword [rax]
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x14001fee0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x14001ff67
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x14001ff50
ret