joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1802c7850
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
mov eax, 0x48
call fcn.1803a1670
sub rsp, rax
mov ebp, dword [rsp + 0xa0]
mov r12, rcx
mov ecx, ebp
movsxd r14, edx
mov ebx, 1
mov edx, r14d
shl ebx, cl
mov esi, r9d
mov rcx, r12
mov rdi, r8
call fcn.180210ec0
test rax, rax
jne 0x1802c78a7
add rsp, 0x48
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x98], r13
mov r13, r14
cmp ebp, 3
jg 0x1802c7925
test r14d, r14d
jle 0x1802c7aac
xor r10d, r10d
movsxd r11, ebx
shl r11, 3
nop word [rax + rax]
xor r9d, r9d
xor eax, eax
test ebx, ebx
jle 0x1802c790d
mov r8, rdi
nop dword [rax]
mov ecx, eax
lea r8, [r8 + 8]
xor ecx, esi
inc eax
lea edx, [rcx - 1]
not ecx
shr edx, 0x1f
shr ecx, 0x1f
and edx, ecx
mov rcx, qword [r8 - 8]
neg edx
and edx, 1
neg rdx
and rdx, rcx
or r9, rdx
cmp eax, ebx
jl 0x1802c78e0
mov rax, qword [r12]
add rdi, r11
mov qword [rax + r10*8], r9
inc r10
cmp r10, r13
jl 0x1802c78d0
jmp 0x1802c7aac
lea ecx, [rbp - 2]
mov edx, esi
sar edx, cl
mov r8d, 1
shl r8d, cl
movsxd rbp, r8d
lea ecx, [rdx - 1]
shr ecx, 0x1f
lea eax, [r8 - 1]
and esi, eax
mov eax, edx
not eax
shr eax, 0x1f
and eax, ecx
mov ecx, edx
neg eax
xor ecx, 1
and eax, 1
neg rax
mov qword [rsp + 0x30], rax
lea eax, [rcx - 1]
not ecx
shr eax, 0x1f
shr ecx, 0x1f
and eax, ecx
mov ecx, edx
neg eax
xor ecx, 2
and eax, 1
xor edx, 3
neg rax
mov qword [rsp + 0x28], rax
lea eax, [rcx - 1]
not ecx
shr eax, 0x1f
shr ecx, 0x1f
and eax, ecx
neg eax
and eax, 1
neg rax
mov qword [rsp + 0x20], rax
lea eax, [rdx - 1]
shr eax, 0x1f
not edx
shr edx, 0x1f
and eax, edx
neg eax
and eax, 1
neg rax
mov qword [rsp + 0x90], rax
test r14d, r14d
jle 0x1802c7aac
xor r14d, r14d
movsxd rax, ebx
shl rax, 3
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
nop word [rax + rax]
xor r11d, r11d
xor r9d, r9d
test rbp, rbp
jle 0x1802c7a88
mov r12, qword [rsp + 0x90]
mov rax, rbp
neg rax
mov r8, rbp
shl r8, 4
mov r10, rbp
add r8, rdi
neg r10
add r10, r10
mov rbx, rbp
lea r15, [rax*8]
nop dword [rax + rax]
mov eax, r9d
lea r8, [r8 + 8]
xor eax, esi
inc r9d
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
mov rax, qword [r8 + rbp*8 - 8]
mov rcx, qword [r8 - 8]
and rax, r12
and rcx, qword [rsp + 0x20]
neg edx
or rcx, rax
and edx, 1
mov rax, qword [r15 + r8 - 8]
neg rdx
and rax, qword [rsp + 0x28]
or rax, rcx
mov rcx, qword [r8 + r10*8 - 8]
and rcx, qword [rsp + 0x30]
or rcx, rax
and rcx, rdx
or r11, rcx
sub rbx, 1
jne 0x1802c7a20
mov r12, qword [rsp + 0x80]
mov rax, qword [rsp + 0x38]
mov rcx, qword [r12]
add rdi, rax
mov qword [rcx + r14*8], r11
inc r14
cmp r14, r13
jl 0x1802c79e0
mov r15, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x88]
mov r13, qword [rsp + 0x98]
mov eax, 1
mov dword [r12 + 8], r14d
add rsp, 0x48
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1802dce10
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbx
push rsi
push rdi
mov eax, 0x1a0
call fcn.1803a1670
sub rsp, rax
mov rax, qword [0x180496d00]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov rbx, r8
mov rsi, rdx
mov r8, r9
lea rdx, str.SHA512
call fcn.180216b30
mov rdi, rax
test rax, rax
je 0x1802dce96
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x150]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, rbx
call fcn.1802158f0
mov rcx, rdi
mov ebx, eax
call fcn.180216b80
test ebx, ebx
jne 0x1802dce9d
mov edx, 0x40
lea rcx, [rsp + 0x150]
call fcn.180001240
xor eax, eax
jmp 0x1802dcf51
movzx eax, byte [rsp + 0x16f]
lea rdx, [rsp + 0x150]
and byte [rsp + 0x150], 0xf8
lea rcx, [rsp + 0xb0]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x16f], al
call fcn.1802dc050
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x30]
call fcn.1802d8a10
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x80]
call fcn.1802d8c90
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x58]
call fcn.1802d8c90
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1802da330
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
call fcn.1802da330
movzx eax, byte [rsp + 0x30]
lea rcx, [rsp + 0x150]
shl al, 7
mov edx, 0x40
xor byte [rsi + 0x1f], al
call fcn.180001240
mov eax, 1
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1803a0e80
add rsp, 0x1a0
pop rdi
pop rsi
pop rbx
ret
Function at 0x1802dcf70
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1d0
call fcn.1803a1670
sub rsp, rax
mov rax, qword [0x180496d00]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x230]
mov r13, rdx
mov r15, qword [rsp + 0x250]
lea rdx, str.SHA512
mov qword [rsp + 0x38], r8
mov r14, rcx
mov rcx, qword [rsp + 0x260]
mov r8, qword [rsp + 0x268]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r9
call fcn.180216b30
mov rdi, rax
call fcn.180216a70
xor r12d, r12d
mov rbx, rax
test r15, r15
mov esi, r12d
cmovne rsi, qword [rsp + 0x258]
cmp byte [rsp + 0x248], r12b
je 0x1802dd011
test rsi, rsi
je 0x1802dd20d
cmp byte [rsp + 0x238], r12b
jne 0x1802dd024
test rsi, rsi
jne 0x1802dd20d
test rdi, rdi
je 0x1802dd20d
test rbx, rbx
je 0x1802dd20d
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.1802160b0
test eax, eax
je 0x1802dd20d
mov rdx, qword [rsp + 0x40]
mov r8d, reloc.WLDAP32.dll_Ordinal_32
mov rcx, rbx
call fcn.1802160f0
test eax, eax
je 0x1802dd20d
lea r8, [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x100]
call fcn.180215df0
test eax, eax
je 0x1802dd20d
movzx eax, byte [rsp + 0x11f]
mov rdx, rdi
movzx r8d, byte [rsp + 0x238]
and al, 0x3f
and byte [rsp + 0x100], 0xf8
or al, 0x40
mov qword [rsp + 0x28], rsi
mov rcx, rbx
mov qword [rsp + 0x20], r15
movzx r15d, byte [rsp + 0x240]
movzx r9d, r15b
mov byte [rsp + 0x11f], al
call fcn.1802dcd10
test eax, eax
je 0x1802dd20d
mov r8d, reloc.WLDAP32.dll_Ordinal_32
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.1802160f0
test eax, eax
je 0x1802dd20d
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, rbx
call fcn.1802160f0
test eax, eax
je 0x1802dd20d
lea r8, [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x140]
call fcn.180215df0
test eax, eax
je 0x1802dd20d
lea rcx, [rsp + 0x140]
call fcn.1802df7d0
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x60]
call fcn.1802dc050
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.1802dbfc0
mov rax, qword [rsp + 0x48]
movzx r9d, r15b
movzx r8d, byte [rsp + 0x238]
mov rdx, rdi
mov qword [rsp + 0x28], rsi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1802dcd10
test eax, eax
je 0x1802dd20d
mov r8d, reloc.WLDAP32.dll_Ordinal_32
mov rdx, r14
mov rcx, rbx
call fcn.1802160f0
test eax, eax
je 0x1802dd20d
mov rdx, qword [rsp + 0x50]
mov r8d, reloc.WLDAP32.dll_Ordinal_32
mov rcx, rbx
call fcn.1802160f0
test eax, eax
je 0x1802dd20d
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, rbx
call fcn.1802160f0
test eax, eax
je 0x1802dd20d
lea r8, [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x180]
call fcn.180215df0
test eax, eax
je 0x1802dd20d
lea rcx, [rsp + 0x180]
call fcn.1802df7d0
lea rcx, [r14 + 0x20]
lea r9, [rsp + 0x140]
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x180]
call fcn.1802dd780
mov r12d, 1
mov edx, 0x40
lea rcx, [rsp + 0x140]
call fcn.180001240
mov edx, 0x40
lea rcx, [rsp + 0x100]
call fcn.180001240
mov rcx, rdi
call fcn.180216b80
mov rcx, rbx
call fcn.1802169c0
mov eax, r12d
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1803a0e80
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
Function at 0x1802dd600
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x70]
mov eax, 0x170
call fcn.1803a1670
sub rsp, rax
mov rax, qword [0x180496d00]
xor rax, rsp
mov qword [rbp + 0x60], rax
movups xmm0, xmmword [rdx]
mov rbx, rcx
lea rcx, [rsp + 0x50]
movups xmm1, xmmword [rdx + 0x10]
movd eax, xmm0
movups xmmword [rbp + 0x40], xmm0
and al, 0xf8
mov byte [rbp + 0x40], al
mov rax, qword [rdx + 0x18]
lea rdx, [rbp + 0x40]
shr rax, 0x38
and al, 0x3f
or al, 0x40
movups xmmword [rbp + 0x50], xmm1
mov byte [rbp + 0x5f], al
call fcn.1802dc050
mov ecx, dword [rsp + 0x78]
mov edx, dword [rbp - 0x60]
mov r8, qword [rbp - 0x3c]
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rsp + 0x7c]
mov dword [rbp + 0x18], edx
mov rdx, qword [rbp - 0x5c]
mov dword [rbp - 0x10], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rbp - 0x80]
mov dword [rbp + 0x1c], edx
mov rdx, qword [rbp - 0x58]
mov dword [rbp - 0xc], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rbp - 0x7c]
mov dword [rbp + 0x20], edx
mov rdx, qword [rbp - 0x54]
mov dword [rbp - 8], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rbp - 0x78]
mov dword [rbp + 0x24], edx
mov rdx, qword [rbp - 0x50]
mov dword [rbp - 4], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rbp - 0x74]
mov dword [rbp + 0x28], edx
mov rdx, qword [rbp - 0x4c]
mov dword [rbp], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rbp - 0x70]
mov dword [rbp + 0x2c], edx
mov rdx, qword [rbp - 0x48]
mov dword [rbp + 4], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rbp - 0x6c]
mov dword [rbp + 0x30], edx
mov rdx, qword [rbp - 0x44]
mov dword [rbp + 8], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov rcx, qword [rbp - 0x68]
mov dword [rbp + 0x34], edx
mov rdx, qword [rbp - 0x40]
mov dword [rbp + 0xc], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov dword [rbp + 0x38], edx
lea rcx, [rsp + 0x20]
mov rdx, qword [rbp - 0x64]
mov dword [rbp + 0x10], eax
lea eax, [rdx + r8]
sub r8d, edx
lea rdx, [rbp + 0x18]
mov dword [rbp + 0x3c], r8d
mov dword [rbp + 0x14], eax
call fcn.1802d8a10
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.1802d8c90
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.1802da330
lea rcx, [rbp + 0x40]
mov edx, reloc.WLDAP32.dll_Ordinal_32
call fcn.180001240
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1803a0e80
mov rbx, qword [rsp + 0x190]
add rsp, 0x170
pop rbp
ret
Function at 0x1802e16b0
Capabilities:
Encode data using xor

Disassembly:
mov r9, rcx
movd xmm4, r8d
mov r10d, r8d
pshufd xmm4, xmm4, 0
lea rcx, [rdx + 0x3c]
lea rax, [r9 + 0x3c]
cmp rdx, rax
ja 0x1802e1701
cmp rcx, r9
jb 0x1802e1701
sub r9, rdx
mov r8d, reloc.WS2_32.dll_recv
nop dword [rax + rax]
mov ecx, dword [r9 + rdx]
lea rdx, [rdx + 4]
mov eax, ecx
xor eax, dword [rdx - 4]
and eax, r10d
xor ecx, eax
mov dword [r9 + rdx - 4], ecx
xor dword [rdx - 4], eax
sub r8, 1
jne 0x1802e16e0
ret
sub r9, rdx
mov eax, 4
nop dword [rax]
movdqu xmm1, xmmword [r9 + rdx]
movdqu xmm2, xmmword [rdx]
lea rdx, [rdx + 0x10]
movdqa xmm3, xmm1
xorps xmm3, xmm2
andps xmm3, xmm4
movdqa xmm0, xmm3
xorps xmm3, xmm2
xorps xmm0, xmm1
movdqu xmmword [r9 + rdx - 0x10], xmm0
movdqu xmmword [rdx - 0x10], xmm3
sub rax, 1
jne 0x1802e1710
ret
Function at 0x1802e9a90
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, Ordinal_41
call fcn.1803a1670
sub rsp, rax
mov r11, rcx
cmp dword [rsp + 0x50], r9d
jne 0x1802e9b89
movzx r10d, byte [r8]
lea eax, [r10 - 0x6a]
cmp al, 1
ja 0x1802e9b89
mov qword [rsp + 0x20], rbx
lea rdx, [r8 + 1]
cmp r10b, 0x6b
jne 0x1802e9b41
lea ebx, [r9 - 3]
xor eax, eax
test ebx, ebx
jle 0x1802e9aea
movzx ecx, byte [rdx]
inc rdx
cmp cl, 0xba
je 0x1802e9aea
cmp cl, 0xbb
jne 0x1802e9b2e
inc eax
cmp eax, ebx
jl 0x1802e9ad4
sub ebx, eax
test eax, eax
jne 0x1802e9b45
call fcn.180237410
lea r8, str.RSA_padding_check_X931
mov edx, 0x56
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.180237530
mov edx, 0x8a
xor r8d, r8d
mov ecx, 4
call fcn.180237690
mov rbx, qword [rsp + 0x20]
mov eax, 0xffffffff
add rsp, 0x28
ret
call fcn.180237410
lea r8, str.RSA_padding_check_X931
mov edx, Ordinal_79
jmp 0x1802e9b01
lea ebx, [r9 - 2]
movsxd rax, ebx
cmp byte [rax + rdx], 0xcc
je 0x1802e9b72
call fcn.180237410
lea r8, str.RSA_padding_check_X931
mov edx, 0x5f
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.180237530
mov edx, Ordinal_143
jmp 0x1802e9b12
mov r8d, ebx
mov rcx, r11
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebx
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
ret
call fcn.180237410
lea r8, str.RSA_padding_check_X931
mov edx, 0x43
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.180237530
xor r8d, r8d
mov edx, 0x89
mov ecx, 4
call fcn.180237690
mov eax, 0xffffffff
add rsp, 0x28
ret
Function at 0x18030a670
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push r13
push r14
mov eax, 0x40
call fcn.1803a1670
sub rsp, rax
mov rsi, qword [rcx + 0x78]
mov rbx, r8
mov r8d, dword [rsi + 0x70]
lea r13, [rsi + 0x70]
mov qword [rsp + 0x38], r13
mov rbp, r9
mov r14, rdx
test r8d, r8d
je 0x18030a6f6
test r9, r9
je 0x18030a6d2
nop dword [rax]
cmp r8d, 0x40
jae 0x18030a6d2
mov eax, r8d
inc r8d
movzx ecx, byte [rax + rsi + 0x30]
xor cl, byte [rbx]
inc rbx
mov byte [r14], cl
inc r14
sub rbp, 1
jne 0x18030a6b0
mov dword [r13], r8d
test rbp, rbp
je 0x18030a829
cmp r8d, 0x40
jne 0x18030a6f6
mov dword [r13], 0
add dword [rsi + 0x20], 1
jne 0x18030a6f6
inc dword [rsi + 0x24]
mov ecx, dword [rsi + 0x20]
lea rax, [rsi + 0x20]
mov qword [rsp + 0x80], r12
mov r12d, ebp
and r12d, 0x3f
mov qword [rsp + 0x88], r15
mov r15d, r12d
sub rbp, r15
mov dword [rsp + 0x30], r12d
cmp rbp, 0x40
jb 0x18030a7b6
mov qword [rsp + 0x78], rdi
lea r13, [rsi + 0x20]
mov r12d, 0x10000000
mov r15d, ecx
nop dword [rax + rax]
mov rdx, rbp
mov qword [rsp + 0x20], r13
shr rdx, 6
mov r9, rsi
cmp rdx, r12
cmova rdx, r12
mov rdi, rdx
lea eax, [rdx + r15]
xor r15d, r15d
mov ecx, eax
cmp rcx, rdx
cmovae r15d, eax
sub rdi, rcx
cmp rcx, rdx
mov rcx, r14
cmovae rdi, rdx
mov rdx, rbx
shl rdi, 6
mov r8, rdi
call fcn.18006fe00
sub rbp, rdi
mov dword [r13], r15d
add rbx, rdi
add r14, rdi
test r15d, r15d
jne 0x18030a79a
inc dword [rsi + 0x24]
cmp rbp, 0x40
jae 0x18030a740
mov r12d, dword [rsp + 0x30]
lea rax, [rsi + 0x20]
mov rdi, qword [rsp + 0x78]
mov r15d, r12d
mov r13, qword [rsp + 0x38]
test r12d, r12d
je 0x18030a819
lea rcx, [rsi + 0x30]
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
mov r9, rsi
movups xmmword [rcx], xmm0
mov r8d, 0x40
mov rdx, rcx
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
call fcn.18006fe00
test r12d, r12d
je 0x18030a815
sub rsi, rbx
sub r14, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + rbx + 0x30]
xor al, byte [rbx]
mov byte [rbx + r14], al
lea rbx, [rbx + 1]
sub r15, 1
jne 0x18030a800
mov dword [r13], r12d
mov r12, qword [rsp + 0x80]
mov r15, qword [rsp + 0x88]
mov eax, 1
add rsp, 0x40
pop r14
pop r13
pop rsi
pop rbp
pop rbx
ret
Function at 0x18031cb20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
mov eax, 0x50
call fcn.1803a1670
sub rsp, rax
mov rax, qword [0x180496d00]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14, qword [rbp + 0x60]
mov rdi, rcx
mov r13, qword [rbp + 0x68]
mov esi, r8d
mov qword [rbp - 0x28], r9
mov r12, rdx
xor r15d, r15d
mov qword [rbp - 0x20], r13
movzx r8d, byte [r14 + 3]
movzx edx, byte [r14 + 7]
movzx eax, byte [r14 + 1]
mov ecx, edx
movzx r10d, byte [r14]
movzx r9d, byte [r14 + 4]
mov ebx, dword [r13]
shl eax, 8
or r10d, eax
shl ecx, 8
movzx eax, byte [r14 + 2]
shl eax, 0x10
or r10d, eax
mov byte [rbp - 0x15], r8b
mov eax, r8d
mov byte [rbp - 0x11], dl
shl eax, 0x18
or r10d, eax
movzx eax, byte [r14 + 5]
shl eax, 8
or r9d, eax
mov dword [rbp - 0x30], r10d
movzx eax, byte [r14 + 6]
or ecx, eax
mov byte [rbp - 0x18], r10b
mov eax, ecx
mov byte [rbp - 0x12], cl
shl eax, 0x10
or r9d, eax
mov eax, r10d
shr eax, 8
mov byte [rbp - 0x17], al
mov eax, r10d
shr eax, 0x10
mov byte [rbp - 0x16], al
mov eax, r9d
shr eax, 8
mov dword [rbp - 0x2c], r9d
mov byte [rbp - 0x14], r9b
mov byte [rbp - 0x13], al
test esi, esi
je 0x18031ccdf
mov r13, qword [rbp - 0x28]
sub r12, rdi
movzx edx, r9b
movzx r8d, r10b
nop dword [rax + rax]
dec esi
test ebx, ebx
jne 0x18031cc79
mov r8d, 1
lea rcx, [rbp - 0x30]
mov rdx, r13
call fcn.1802aaca0
mov r10d, dword [rbp - 0x30]
mov eax, r10d
mov r9d, dword [rbp - 0x2c]
movzx r8d, byte [rbp - 0x30]
movzx edx, byte [rbp - 0x2c]
shr eax, 8
mov byte [rbp - 0x17], al
mov eax, r10d
shr eax, 0x10
mov byte [rbp - 0x16], al
mov eax, r10d
shr eax, 0x18
mov byte [rbp - 0x15], al
mov eax, r9d
shr eax, 8
mov byte [rbp - 0x13], al
mov eax, r9d
shr eax, 0x10
mov byte [rbp - 0x12], al
mov eax, r9d
shr eax, 0x18
mov byte [rbp - 0x11], al
inc r15d
mov byte [rbp - 0x18], r8b
mov byte [rbp - 0x14], dl
movsxd rax, ebx
movzx ecx, byte [rbp + rax - 0x18]
xor cl, byte [rdi]
mov byte [rdi + r12], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x18031cc10
mov r13, qword [rbp - 0x20]
test r15d, r15d
je 0x18031ccdf
mov eax, r10d
mov byte [r14], r8b
shr eax, 8
mov byte [r14 + 1], al
mov eax, r10d
shr eax, 0x10
mov byte [r14 + 2], al
mov eax, r9d
shr eax, 8
mov byte [r14 + 5], al
mov eax, r9d
shr eax, 0x10
shr r10d, 0x18
shr r9d, 0x18
mov byte [r14 + 7], r9b
mov byte [r14 + 3], r10b
mov byte [r14 + 4], dl
mov byte [r14 + 6], al
mov dword [r13], ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1803a0e80
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x18031d9a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x60
call fcn.1803a1670
sub rsp, rax
mov rax, qword [0x180496d00]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r14, qword [rsp + 0xd0]
mov r13, r9
mov rax, qword [rsp + 0xc0]
mov rdi, rcx
mov rcx, qword [rsp + 0xc8]
mov esi, r8d
mov r12, qword [rsp + 0xd8]
mov r15, rdx
movzx r8d, byte [r14 + 3]
xor ebp, ebp
movzx edx, byte [r14 + 7]
movzx r9d, byte [r14]
movzx r10d, byte [r14 + 4]
mov ebx, dword [r12]
mov qword [rsp + 0x28], rax
movzx eax, byte [r14 + 1]
shl eax, 8
or r9d, eax
mov qword [rsp + 0x30], rcx
movzx eax, byte [r14 + 2]
mov ecx, edx
shl eax, 0x10
or r9d, eax
shl ecx, 8
mov eax, r8d
mov qword [rsp + 0x38], r14
shl eax, 0x18
or r9d, eax
mov qword [rsp + 0x40], r12
movzx eax, byte [r14 + 5]
shl eax, 8
or r10d, eax
mov dword [rsp + 0x20], r9d
movzx eax, byte [r14 + 6]
or ecx, eax
mov byte [rsp + 0x48], r9b
mov eax, ecx
mov byte [rsp + 0x4b], r8b
shl eax, 0x10
or r10d, eax
mov byte [rsp + 0x4e], cl
mov eax, r9d
mov dword [rsp + 0x24], r10d
shr eax, 8
mov byte [rsp + 0x49], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x4a], al
mov eax, r10d
shr eax, 8
mov byte [rsp + 0x4c], r10b
mov byte [rsp + 0x4d], al
mov byte [rsp + 0x4f], dl
test esi, esi
je 0x18031db8d
mov r12, qword [rsp + 0x28]
sub r15, rdi
mov r14, qword [rsp + 0x30]
dec esi
test ebx, ebx
jne 0x18031db22
mov r9, r14
lea rcx, [rsp + 0x20]
mov r8, r12
mov rdx, r13
call fcn.1802ad250
mov r9d, dword [rsp + 0x20]
mov eax, r9d
mov r10d, dword [rsp + 0x24]
shr eax, 8
mov byte [rsp + 0x49], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x4a], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x4b], al
mov eax, r10d
shr eax, 8
mov byte [rsp + 0x4d], al
mov eax, r10d
shr eax, 0x10
mov byte [rsp + 0x4e], al
mov eax, r10d
shr eax, 0x18
mov byte [rsp + 0x4f], al
inc ebp
mov byte [rsp + 0x48], r9b
mov byte [rsp + 0x4c], r10b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x48]
xor cl, byte [rdi]
mov byte [rdi + r15], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x18031dab7
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
test ebp, ebp
je 0x18031db8d
mov eax, r9d
mov byte [r14], r9b
shr eax, 8
mov byte [r14 + 1], al
mov eax, r9d
shr eax, 0x10
mov byte [r14 + 2], al
mov eax, r10d
shr eax, 8
mov byte [r14 + 5], al
mov eax, r10d
shr eax, 0x10
shr r9d, 0x18
mov byte [r14 + 4], r10b
shr r10d, 0x18
mov byte [r14 + 7], r10b
mov byte [r14 + 3], r9b
mov byte [r14 + 6], al
mov dword [r12], ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1803a0e80
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x18031f550
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
mov eax, 0x50
call fcn.1803a1670
sub rsp, rax
mov rax, qword [0x180496d00]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r13, qword [rsp + 0xb8]
xor r15d, r15d
mov r14, qword [rsp + 0xb0]
mov ebp, r8d
mov qword [rsp + 0x28], r9
mov r12, rdx
mov rsi, rcx
mov qword [rsp + 0x30], r13
mov ebx, dword [r13]
test ebx, ebx
jns 0x18031f5b3
mov dword [r13], 0xffffffff
jmp 0x18031f738
movzx r10d, byte [r14]
movzx eax, byte [r14 + 1]
mov r9d, r10d
movzx r8d, byte [r14 + 4]
movzx ecx, byte [r14 + 6]
mov edx, r8d
mov qword [rsp + 0x90], rdi
shl r9d, 8
or r9d, eax
shl edx, 8
movzx eax, byte [r14 + 2]
mov r11d, r9d
shl eax, 8
shl r11d, 0x10
or r11d, eax
shl ecx, 8
movzx eax, byte [r14 + 3]
or r11d, eax
mov byte [rsp + 0x38], r10b
movzx eax, byte [r14 + 5]
or edx, eax
mov dword [rsp + 0x20], r11d
movzx eax, byte [r14 + 7]
mov edi, edx
or ecx, eax
shl edi, 0x10
or edi, ecx
mov byte [rsp + 0x39], r9b
mov eax, r11d
mov dword [rsp + 0x24], edi
shr eax, 8
mov byte [rsp + 0x3a], al
mov eax, edi
shr eax, 8
mov byte [rsp + 0x3b], r11b
mov byte [rsp + 0x3c], r8b
mov byte [rsp + 0x3d], dl
mov byte [rsp + 0x3e], al
mov byte [rsp + 0x3f], dil
test ebp, ebp
je 0x18031f72c
mov r13, qword [rsp + 0x28]
sub r12, rsi
movzx r8d, dil
movzx edx, r11b
dec ebp
test ebx, ebx
jne 0x18031f6c8
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.18031eb10
mov r11d, dword [rsp + 0x20]
mov eax, r11d
mov edi, dword [rsp + 0x24]
mov edx, r11d
shr eax, 0x18
mov r8d, edi
mov byte [rsp + 0x38], al
mov eax, r11d
shr eax, 0x10
mov byte [rsp + 0x39], al
mov eax, r11d
shr eax, 8
mov byte [rsp + 0x3a], al
mov eax, edi
shr eax, 0x18
mov byte [rsp + 0x3c], al
mov eax, edi
shr eax, 0x10
mov byte [rsp + 0x3d], al
mov eax, edi
shr eax, 8
mov byte [rsp + 0x3e], al
inc r15d
mov byte [rsp + 0x3b], dl
mov byte [rsp + 0x3f], r8b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x38]
xor cl, byte [rsi]
mov byte [rsi + r12], cl
inc rsi
inc ebx
and ebx, 7
test ebp, ebp
jne 0x18031f661
mov r13, qword [rsp + 0x30]
test r15d, r15d
je 0x18031f72c
mov eax, r11d
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, r11d
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, edi
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, edi
shr eax, 0x10
shr r11d, 8
shr edi, 8
mov byte [r14 + 6], dil
mov byte [r14 + 2], r11b
mov byte [r14 + 5], al
mov byte [r14 + 7], r8b
mov dword [r13], ebx
mov rdi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1803a0e80
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret