joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180093930
Capabilities:
Hash data using sha1
Hash data using sha224
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov edi, ecx
xor esi, esi
mov qword [rsp + 0x38], rsi
mov ecx, 0x110
call fcn.1800098d0
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x180093b27
mov rcx, rax
call fcn.18003c8d0
nop
lea rax, vtable.s836175zz.0
mov qword [rbx], rax
call fcn.180018e00
mov byte [0x1802d80d0], al
call fcn.180093440
test edi, edi
jle 0x180093b22
mov ecx, edi
sub ecx, 0xa0
je 0x180093afb
sub ecx, 0x40
je 0x180093ac1
sub ecx, 0x20
je 0x180093a83
sub ecx, 0x80
je 0x180093a18
cmp ecx, 0x80
jne 0x180093b22
mov rax, qword [0x1802e2cc0]
mov qword [rbx + 0x40], rax
mov rax, qword [0x1802e2cc8]
mov qword [rbx + 0x48], rax
mov rax, qword [0x1802e2cd0]
mov qword [rbx + 0x50], rax
mov rax, qword [0x1802e2cd8]
mov qword [rbx + 0x58], rax
mov rax, qword [0x1802e2ce0]
mov qword [rbx + 0x60], rax
mov rax, qword [0x1802e2ce8]
mov qword [rbx + 0x68], rax
mov rax, qword [0x1802e2cf0]
mov qword [rbx + 0x70], rax
mov rax, qword [0x1802e2cf8]
jmp 0x180093a6c
mov rax, qword [0x1802e2a00]
mov qword [rbx + 0x40], rax
mov rax, qword [0x1802e2a08]
mov qword [rbx + 0x48], rax
mov rax, qword [0x1802e2a10]
mov qword [rbx + 0x50], rax
mov rax, qword [0x1802e2a18]
mov qword [rbx + 0x58], rax
mov rax, qword [0x1802e2a20]
mov qword [rbx + 0x60], rax
mov rax, qword [0x1802e2a28]
mov qword [rbx + 0x68], rax
mov rax, qword [0x1802e2a30]
mov qword [rbx + 0x70], rax
mov rax, qword [0x1802e2a38]
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], rsi
mov qword [rbx + 0x88], rsi
jmp 0x180093b22
mov dword [rbx + 0x14], 0x6a09e667
mov dword [rbx + 0x18], 0xbb67ae85
mov dword [rbx + 0x1c], 0x3c6ef372
mov dword [rbx + 0x20], 0xa54ff53a
mov dword [rbx + 0x24], 0x510e527f
mov dword [rbx + 0x28], 0x9b05688c
mov dword [rbx + 0x2c], 0x1f83d9ab
mov qword [rbx + 0x30], 0x5be0cd19
mov dword [rbx + 0x38], esi
jmp 0x180093b22
mov dword [rbx + 0x14], 0xc1059ed8
mov dword [rbx + 0x18], 0x367cd507
mov dword [rbx + 0x1c], 0x3070dd17
mov dword [rbx + 0x20], 0xf70e5939
mov dword [rbx + 0x24], 0xffc00b31
mov dword [rbx + 0x28], 0x68581511
mov dword [rbx + 0x2c], 0x64f98fa7
mov dword [rbx + 0x30], 0xbefa4fa4
jmp 0x180093b1e
mov dword [rbx + 0x14], 0x67452301
mov dword [rbx + 0x18], 0xefcdab89
mov dword [rbx + 0x1c], 0x98badcfe
mov dword [rbx + 0x20], 0x10325476
mov dword [rbx + 0x24], 0xc3d2e1f0
mov qword [rbx + 0x34], rsi
mov dword [rbx + 0x10], edi
jmp 0x180093b2a
mov rbx, rsi
mov qword [rsp + 0x38], rbx
mov rax, rbx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x180093de0
Capabilities:
Hash data using sha1
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, 0x200
jmp fcn.180093930

Function at 0x180093df0
Capabilities:
Hash data using sha1
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, 0x100
jmp fcn.180093930

Function at 0x180093e00
Capabilities:
Hash data using sha1
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, 0x180
jmp fcn.180093930
Function at 0x180099e60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x1e0
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov rsi, r8
mov edi, edx
mov rbx, rcx
test r8, r8
jne 0x180099e98
xor al, al
jmp 0x180099f70
lea rcx, [rsp + 0x20]
call fcn.180099360
test edi, edi
je 0x180099ebe
test rbx, rbx
je 0x180099ebe
mov r9b, reloc.WS2_32.dll_select
lea rcx, [rsp + 0x20]
mov r8d, edi
mov rdx, rbx
call fcn.18009a750
movzx eax, byte [rsp + 0x1c0]
mov byte [rsp + 0x187], 0
mov byte [rsp + rax + 0xf8], 6
movzx edx, byte [rsp + 0x1c0]
or byte [rsp + 0x187], 0x80
inc dl
cmp dl, 0x8f
jae 0x180099f0d
movzx eax, dl
lea rcx, [rsp + 0xf8]
add rcx, rax
mov eax, 0x8f
sub al, dl
xor edx, edx
movzx r8d, al
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x30]
mov edx, reloc.WS2_32.dll_select
nop word [rax + rax]
mov rcx, qword [rax + 0xc8]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x180099f20
lea rcx, [rsp + 0x30]
call fcn.180099460
mov eax, dword [rsp + 0x48]
lea rcx, [rsp + 0x20]
movaps xmm0, xmmword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
movups xmmword [rsi], xmm0
movsd qword [rsi + 0x10], xmm1
mov dword [rsi + 0x18], eax
lea rax, vtable.s868203zz.0
mov qword [rsp + 0x20], rax
call fcn.18003c9e0
mov al, 1
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.180009610
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x180099fe0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x1e0
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov rsi, r8
mov edi, edx
mov rbx, rcx
test r8, r8
jne 0x18009a018
xor al, al
jmp 0x18009a0e7
lea rcx, [rsp + 0x20]
call fcn.180099360
test edi, edi
je 0x18009a03e
test rbx, rbx
je 0x18009a03e
mov r9b, send
lea rcx, [rsp + 0x20]
mov r8d, edi
mov rdx, rbx
call fcn.18009a750
movzx eax, byte [rsp + 0x1c0]
mov byte [rsp + 0x17f], 0
mov byte [rsp + rax + 0xf8], 6
movzx edx, byte [rsp + 0x1c0]
or byte [rsp + 0x17f], 0x80
inc dl
cmp dl, 0x87
jae 0x18009a08d
movzx eax, dl
lea rcx, [rsp + 0xf8]
add rcx, rax
mov eax, 0x87
sub al, dl
xor edx, edx
movzx r8d, al
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x30]
mov edx, send
nop word [rax + rax]
mov rcx, qword [rax + 0xc8]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x18009a0a0
lea rcx, [rsp + 0x30]
call fcn.180099460
movaps xmm0, xmmword [rsp + 0x30]
lea rax, vtable.s868203zz.0
movaps xmm1, xmmword [rsp + 0x40]
lea rcx, [rsp + 0x20]
movups xmmword [rsi], xmm0
mov qword [rsp + 0x20], rax
movups xmmword [rsi + 0x10], xmm1
call fcn.18003c9e0
mov al, 1
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.180009610
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x18009a150
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x1e0
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov rsi, r8
mov edi, edx
mov rbx, rcx
test r8, r8
jne 0x18009a188
xor al, al
jmp 0x18009a260
lea rcx, [rsp + 0x20]
call fcn.180099360
test edi, edi
je 0x18009a1ae
test rbx, rbx
je 0x18009a1ae
mov r9b, ntohs
lea rcx, [rsp + 0x20]
mov r8d, edi
mov rdx, rbx
call fcn.18009a750
movzx eax, byte [rsp + 0x1c0]
mov byte [rsp + 0x15f], 0
mov byte [rsp + rax + 0xf8], 6
movzx edx, byte [rsp + 0x1c0]
or byte [rsp + 0x15f], 0x80
inc dl
cmp dl, 0x67
jae 0x18009a1fd
movzx eax, dl
lea rcx, [rsp + 0xf8]
add rcx, rax
mov eax, 0x67
sub al, dl
xor edx, edx
movzx r8d, al
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x30]
mov edx, ntohs
nop word [rax + rax]
mov rcx, qword [rax + 0xc8]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x18009a210
lea rcx, [rsp + 0x30]
call fcn.180099460
movaps xmm0, xmmword [rsp + 0x30]
lea rax, vtable.s868203zz.0
movaps xmm1, xmmword [rsp + 0x40]
lea rcx, [rsp + 0x20]
movups xmmword [rsi], xmm0
mov qword [rsp + 0x20], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x20], xmm0
call fcn.18003c9e0
mov al, 1
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.180009610
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x18009a2d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x1e0
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov rsi, r8
mov edi, edx
mov rbx, rcx
test r8, r8
jne 0x18009a308
xor al, al
jmp 0x18009a3e9
lea rcx, [rsp + 0x20]
call fcn.180099360
test edi, edi
je 0x18009a32e
test rbx, rbx
je 0x18009a32e
mov r9b, 9
lea rcx, [rsp + 0x20]
mov r8d, edi
mov rdx, rbx
call fcn.18009a750
movzx eax, byte [rsp + 0x1c0]
mov byte [rsp + 0x13f], 0
mov byte [rsp + rax + 0xf8], 6
movzx edx, byte [rsp + 0x1c0]
or byte [rsp + 0x13f], 0x80
inc dl
cmp dl, 0x47
jae 0x18009a37d
movzx eax, dl
lea rcx, [rsp + 0xf8]
add rcx, rax
mov eax, 0x47
sub al, dl
xor edx, edx
movzx r8d, al
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x30]
mov edx, 9
nop word [rax + rax]
mov rcx, qword [rax + 0xc8]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x18009a390
lea rcx, [rsp + 0x30]
call fcn.180099460
movaps xmm0, xmmword [rsp + 0x30]
lea rax, vtable.s868203zz.0
movaps xmm1, xmmword [rsp + 0x40]
lea rcx, [rsp + 0x20]
movups xmmword [rsi], xmm0
mov qword [rsp + 0x20], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi + 0x10], xmm1
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
call fcn.18003c9e0
mov al, 1
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.180009610
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x18009a680
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movzx eax, r8b
lea rdi, [rcx + 0x10]
mov rbx, rdx
movzx esi, r9b
lea eax, [rax*8]
mov byte [rax + rcx + 0xd7], 0
lea r11d, [rax - 1]
mov r10d, eax
movzx eax, byte [rcx + 0x1a0]
mov byte [rax + rcx + 0xd8], 6
or byte [r10 + rcx + 0xd7], 0x80
movzx edx, byte [rcx + 0x1a0]
inc dl
movzx eax, dl
cmp eax, r11d
jge 0x18009a6f5
nop dword [rax]
movzx eax, dl
inc dl
mov byte [rax + rcx + 0xd8], 0
movzx eax, dl
cmp eax, r11d
jl 0x18009a6e0
test r8b, r8b
je 0x18009a715
mov rax, rdi
movzx edx, r8b
mov rcx, qword [rax + 0xc8]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x18009a701
mov rcx, rdi
call fcn.180099460
test sil, sil
je 0x18009a740
sub rdi, rbx
mov rcx, rsi
nop dword [rax + rax]
movzx eax, byte [rdi + rbx]
mov byte [rbx], al
lea rbx, [rbx + 1]
sub rcx, 1
jne 0x18009a730
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x18009a750
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
mov qword [rsp + 0x40], rbp
movzx ecx, byte [rcx + 0x1a0]
mov esi, r8d
mov qword [rsp + 0x50], r14
mov rdi, rdx
movzx r14d, r9b
test cl, cl
je 0x18009a814
movzx eax, r14b
movzx r8d, sil
shl al, 3
lea r9, [rbx + rcx]
sub al, cl
movzx r10d, al
cmp r10d, esi
cmovbe r8d, r10d
xor dl, dl
test r8b, r8b
je 0x18009a7be
movzx ecx, dl
inc dl
movzx eax, byte [rcx + rdi]
mov byte [rcx + r9 + 0xd8], al
cmp dl, r8b
jb 0x18009a7a1
movzx ecx, byte [rbx + 0x1a0]
movzx eax, dl
add cl, dl
add rdi, rax
movzx ecx, cl
movzx eax, dl
sub esi, eax
mov byte [rbx + 0x1a0], cl
mov eax, r14d
shl eax, 3
cmp ecx, eax
jne 0x18009a814
test r14b, r14b
je 0x18009a804
lea rcx, [rbx + 0x10]
mov rdx, r14
nop word [rax + rax]
mov rax, qword [rcx + 0xc8]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x18009a7f0
lea rcx, [rbx + 0x10]
call fcn.180099460
mov byte [rbx + 0x1a0], 0
mov ebp, r14d
shl ebp, 3
cmp esi, ebp
jb 0x18009a87e
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], r15
mov r12d, ebp
nop dword [rax + rax]
test r14b, r14b
je 0x18009a862
mov r8, rdi
lea rax, [rbx + 0x10]
sub r8, rbx
mov rdx, r14
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r8 + rax - 0x10]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x18009a850
lea rcx, [rbx + 0x10]
call fcn.180099460
sub esi, ebp
add rdi, r12
cmp esi, ebp
jae 0x18009a830
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
xor dl, dl
mov rbp, qword [rsp + 0x40]
test esi, esi
je 0x18009a8a7
nop
movzx ecx, dl
inc dl
movzx eax, byte [rcx + rdi]
mov byte [rcx + rbx + 0xd8], al
movzx eax, dl
cmp eax, esi
jb 0x18009a890
add byte [rbx + 0x1a0], dl
add rsp, 0x20
pop rdi
pop rsi
pop rbx
ret
Function at 0x1800cf4d0
Capabilities:
Encrypt data using salsa20 or chacha
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, r8
mov rbx, rdx
test r8, r8
je 0x1800cf6d7
lea rcx, [rdx + 0x18]
call fcn.18001fd80
cmp eax, 0x20
jne 0x1800cf6d7
lea rbp, [rbx + 0x50]
mov rcx, rbp
call fcn.18001fd80
cmp eax, 0xc
jb 0x1800cf6d7
lea rcx, [rbx + 0x18]
call fcn.18001f920
mov rcx, rbp
mov rbx, rax
call fcn.18001f920
mov dword [rdi], 0x61707865
mov r8, rax
mov dword [rdi + 4], 0x3320646e
mov dword [rdi + 8], 0x79622d32
mov dword [rdi + 0xc], 0x6b206574
movzx ecx, byte [rbx + 2]
movzx eax, byte [rbx]
movzx edx, byte [rbx + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rbx + 1]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov dword [rdi + 0x10], edx
movzx eax, byte [rbx + 6]
movzx ecx, byte [rbx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 4]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x14], ecx
movzx eax, byte [rbx + 0xa]
movzx ecx, byte [rbx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 8]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x18], ecx
movzx eax, byte [rbx + 0xe]
movzx ecx, byte [rbx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xc]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x1c], ecx
movzx eax, byte [rbx + 0x12]
movzx ecx, byte [rbx + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x10]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x20], ecx
movzx eax, byte [rbx + 0x16]
movzx ecx, byte [rbx + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x15]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x14]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x24], ecx
movzx ecx, byte [rbx + 0x1b]
movzx eax, byte [rbx + 0x1a]
shl ecx, 8
or ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x19]
or ecx, eax
movzx eax, byte [rbx + 0x18]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x28], ecx
movzx eax, byte [rbx + 0x1e]
movzx ecx, byte [rbx + 0x1f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x1d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x1c]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x30], 0
mov dword [rdi + 0x2c], ecx
movzx eax, byte [r8 + 2]
movzx ecx, byte [r8 + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x34], ecx
movzx eax, byte [r8 + 6]
movzx ecx, byte [r8 + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 4]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x38], ecx
movzx eax, byte [r8 + 0xa]
movzx ecx, byte [r8 + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 8]
shl ecx, 8
or ecx, eax
mov al, 1
mov dword [rdi + 0x3c], ecx
jmp 0x1800cf6d9
xor al, al
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1800dc500
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
movsxd rdi, r8d
add rcx, 8
mov rsi, rdx
call fcn.18001f920
lea rcx, [rbx + 0x38]
mov rbp, rax
call fcn.18001f920
mov r9d, dword [rsi + rdi*4 + 4]
mov rcx, rdi
mov r10d, dword [rsi + rcx*4]
lea rdi, [rsi + rdi*4]
xor r10d, dword [rbp]
lea rsi, [rsi + rcx*4]
xor ebx, ebx
mov r11, rax
nop
inc ebx
mov ecx, r10d
and ecx, 0xff0000
mov eax, r10d
shr rax, 0x18
bts rcx, 0x18
shr rcx, 0x10
mov edx, dword [r11 + rcx*4]
add edx, dword [r11 + rax*4]
mov eax, r10d
and eax, 0xff00
bts rax, 0x11
shr rax, 8
xor edx, dword [r11 + rax*4]
movzx eax, r10b
or rax, 0x300
add edx, dword [r11 + rax*4]
xor edx, dword [rbp + rbx*4]
inc ebx
xor r9d, edx
mov ecx, r9d
and ecx, 0xff0000
mov eax, r9d
shr rax, 0x18
bts rcx, 0x18
shr rcx, 0x10
mov edx, dword [r11 + rcx*4]
add edx, dword [r11 + rax*4]
mov eax, r9d
and eax, 0xff00
bts rax, 0x11
shr rax, 8
xor edx, dword [r11 + rax*4]
movzx eax, r9b
or rax, 0x300
add edx, dword [r11 + rax*4]
xor edx, dword [rbp + rbx*4]
xor r10d, edx
cmp ebx, 0xe
jbe 0x1800dc550
xor r9d, dword [rbp + 0x44]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov dword [rsi], r9d
mov rsi, qword [rsp + 0x40]
mov dword [rdi + 4], r10d
add rsp, 0x20
pop rdi
ret
Function at 0x1800dc9e0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, rcx
xor ebx, ebx
add rcx, 8
mov qword [rsp + 0x20], rbx
mov r13d, r8d
call fcn.18001fd80
cdq
lea rcx, [r14 + 0x38]
and edx, 3
add eax, edx
sar eax, 2
movsxd rsi, eax
call fcn.18001fd80
cdq
lea rcx, [r14 + 8]
and edx, 3
add eax, edx
sar eax, 2
mov dword [rsp + 0x88], eax
call fcn.18001f920
lea rcx, [r14 + 0x38]
mov r15, rax
call fcn.18001f920
mov r12, rax
test rsi, rsi
jle 0x1800dcaea
mov r10, qword [rsp + 0x78]
mov r9d, ebx
mov eax, ebx
nop
movsxd rcx, eax
inc eax
cdq
idiv r13d
movzx r8d, byte [rcx + r10]
movsxd rax, edx
shl r8d, 8
movzx ecx, byte [rax + r10]
lea eax, [rdx + 1]
cdq
or ecx, r8d
idiv r13d
shl ecx, 8
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [rdx + 1]
cdq
or r8d, ecx
idiv r13d
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [rdx + 1]
cdq
or ecx, r8d
xor dword [r15 + r9*4], ecx
inc r9
idiv r13d
mov eax, edx
cmp r9, rsi
jl 0x1800dca60
mov rdi, rbx
xor r8d, r8d
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.1800dc500
mov eax, dword [rsp + 0x20]
mov dword [r15 + rdi*4], eax
mov eax, dword [rsp + 0x24]
mov dword [r15 + rdi*4 + 4], eax
add rdi, 2
cmp rdi, rsi
jl 0x1800dcac0
movsxd rdi, dword [rsp + 0x88]
test rdi, rdi
jle 0x1800dcb2a
nop word [rax + rax]
xor r8d, r8d
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.1800dc500
mov eax, dword [rsp + 0x20]
mov dword [r12 + rbx*4], eax
mov eax, dword [rsp + 0x24]
mov dword [r12 + rbx*4 + 4], eax
add rbx, 2
cmp rbx, rdi
jl 0x1800dcb00
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1800e2dd0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbp
push rbx
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x210]
mov r13, rcx
mov rcx, qword [rbp + 0x218]
mov r14d, r9d
mov qword [rsp + 0x20], rcx
mov ebx, r8d
mov qword [rsp + 0x28], rax
mov r15, rdx
test rax, rax
je 0x1800e3027
mov qword [rsp + 0x2b8], rsi
lea eax, [r9 - 2]
mov ecx, 0x80
mov qword [rsp + 0x2b0], rdi
cmp eax, 1
mov qword [rsp + 0x2a8], r12
mov esi, 0x40
cmovbe esi, ecx
mov ecx, r14d
call fcn.18003c370
movsxd r12, eax
cmp ebx, esi
jle 0x1800e2e79
lea r9, [rbp + 0x50]
mov r8d, r14d
mov edx, ebx
mov rcx, r15
call fcn.18003b370
lea r15, [rbp + 0x50]
mov ebx, r12d
mov r8d, esi
lea rcx, [rsp + 0x30]
xor edx, edx
mov edi, esi
call sub.VCRUNTIME140.dll_memset
mov r8d, esi
lea rcx, [rbp - 0x40]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp ebx, esi
lea rcx, [rsp + 0x30]
mov eax, esi
mov rdx, r15
cmovle eax, ebx
movsxd rbx, eax
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8, rbx
lea rcx, [rbp - 0x40]
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
movdqa xmm2, xmmword [str.6666666666666666Pbkdf2_bin]
xor ecx, ecx
movdqa xmm3, xmmword [0x18023ed20]
mov eax, ecx
nop word [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x30]
add ecx, 0x40
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rsp + rax + 0x30], xmm0
movdqu xmm0, xmmword [rbp + rax - 0x40]
pxor xmm0, xmm3
movdqu xmmword [rbp + rax - 0x40], xmm0
movdqu xmm0, xmmword [rsp + rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax - 0x30]
movdqu xmmword [rsp + rax + 0x40], xmm1
pxor xmm0, xmm3
movdqa xmm1, xmm3
movdqu xmmword [rbp + rax - 0x30], xmm0
movdqu xmm0, xmmword [rsp + rax + 0x50]
pxor xmm0, xmm2
movdqu xmmword [rsp + rax + 0x50], xmm0
movdqu xmm0, xmmword [rbp + rax - 0x20]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x60]
movdqu xmmword [rbp + rax - 0x20], xmm1
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax - 0x10]
movdqu xmmword [rsp + rax + 0x60], xmm1
pxor xmm0, xmm3
movdqu xmmword [rbp + rax - 0x10], xmm0
add rax, 0x40
cmp rax, rdi
jl 0x1800e2ee0
movsxd rax, ecx
cmp rax, rdi
jge 0x1800e2fa2
nop dword [rax]
nop dword [rax + rax]
xor byte [rsp + rax + 0x30], 0x36
xor byte [rbp + rax - 0x40], 0x5c
inc rax
cmp rax, rdi
jl 0x1800e2f90
mov r9, qword [rsp + 0x20]
lea rax, [rsp + 0x30]
lea r8, [rbp + 0x90]
mov qword [r13 + 8], rax
mov edx, r14d
mov dword [r13 + 0x808], esi
mov rcx, r13
call fcn.18003b6d0
mov r8, rdi
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xd0]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0xd0]
mov r8, r12
add rcx, rdi
lea rdx, [rbp + 0x90]
call sub.VCRUNTIME140.dll_memcpy
mov r9, qword [rsp + 0x28]
lea edx, [r12 + rsi]
mov r8d, r14d
lea rcx, [rbp + 0xd0]
call fcn.18003b370
mov r12, qword [rsp + 0x2a8]
mov al, 1
mov rdi, qword [rsp + 0x2b0]
mov rsi, qword [rsp + 0x2b8]
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.180009610
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop rbx
pop rbp
ret
Function at 0x1800ebc10
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [0x1802e3da0], 0
mov edi, edx
mov esi, ecx
jne 0x1800ebc37
call sub.KERNEL32.dll_GetTickCount
mov dword [0x1802e3da0], eax
call fcn.1800582f0
mov ebx, eax
imul ebx, dword [0x1802e3da0]
call fcn.180058300
mov r8d, eax
xor edx, edx
mov eax, ebx
div r8d
mov dword [0x1802e3da0], edx
mov eax, edx
test edx, edx
jne 0x1800ebc6b
call sub.KERNEL32.dll_GetTickCount
mov dword [0x1802e3da0], eax
mov r8d, edi
mov edx, esi
mov ecx, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.180058680