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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r14, rcx
test r8, r8
je 0x140040ba7
mov rbx, r8
mov rdi, rdx
movzx ebp, byte [rdx]
cmp ebp, 0x2b
je 0x140040adf
cmp ebp, 0x2d
jne 0x140040aeb
dec rbx
je 0x140040c53
inc rdi
cmp bpl, 0x2d
sete r9b
lea rcx, [rsp + 0x40]
mov rdx, rdi
mov r8, rbx
call fcn.140390160
cmp byte [rsp + 0x50], 2
jne 0x140040bb1
cmp rbx, 3
jb 0x140040cf9
mov eax, 3
mov esi, 3
cmovb rsi, rbx
movzx r8d, byte [str.naninf]
xor r8b, byte [rdi]
cmp rsi, 1
je 0x140040b57
movzx edx, byte [0x1403bc739]
xor dl, byte [rdi + 1]
or r8b, dl
cmp rsi, 2
je 0x140040b57
movzx edx, byte [0x1403bc73a]
xor dl, byte [rdi + 2]
or r8b, dl
test r8b, 0xdf
je 0x140040c6b
lea rax, [rsi - 1]
cmp rax, 3
jae 0x140040c7a
test rsi, rsi
je 0x140040cc3
xor eax, eax
lea r8, [0x1403bc73b]
xor edx, edx
nop word cs:[rax + rax]
movzx ecx, byte [rdx + r8]
xor cl, byte [rdi + rdx]
or al, cl
inc rdx
cmp rsi, rdx
jne 0x140040b90
jmp 0x140040cc3
call fcn.140390600
jmp 0x140040c58
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.140082a80
cmp rax, 1
je 0x140040c44
mov r12, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov rcx, r12
mov rdx, r13
call fcn.140090f10
mov r15, rax
mov esi, edx
cmp byte [rsp + 0x31], 0
je 0x140040c65
test esi, esi
js 0x140040c65
inc r13
mov rcx, r12
mov rdx, r13
call fcn.140090f10
cmp r15, rax
setne al
cmp esi, edx
setne cl
or cl, al
je 0x140040c27
mov rcx, rdi
mov rdx, rbx
call fcn.140039b10
mov r15, rax
mov esi, edx
shl rsi, 0x34
or rsi, r15
mov rcx, rsi
call fcn.1403900a0
cmp byte [rsp + 0x30], 0
je 0x140040c44
xorps xmm0, xmmword [0x1403b8050]
movsd qword [r14 + 8], xmm0
mov byte [r14], 0
jmp 0x140040d07
call fcn.140390610
mov byte [r14 + 1], al
mov byte [r14], 1
jmp 0x140040d07
test esi, esi
jns 0x140040c27
jmp 0x140040c17
movsd xmm0, qword [0x1403b9450]
cmp rax, rbx
je 0x140040cdf
jmp 0x140040cf9
xor ecx, ecx
lea rsi, [0x1403bc73b]
xor edx, edx
nop word cs:[rax + rax]
movzx ebx, byte [rdx + rsi]
movzx r8d, byte [rdx + rsi + 1]
xor bl, byte [rdi + rdx]
xor r8b, byte [rdi + rdx + 1]
or bl, cl
movzx eax, byte [rdx + rsi + 2]
xor al, byte [rdi + rdx + 2]
or al, r8b
movzx ecx, byte [rdx + rsi + 3]
xor cl, byte [rdi + rdx + 3]
or al, bl
add rdx, 4
or cl, al
jmp 0x140040c90
test al, 0xdf
jne 0x140040cf9
mov rcx, rdi
mov rdx, rbx
call fcn.140390580
movsd xmm0, qword [0x1403b8010]
cmp rax, rbx
jne 0x140040cf9
cmp bpl, 0x2d
jne 0x140040cec
xorps xmm0, xmmword [0x1403b8050]
movsd qword [r14 + 8], xmm0
xor eax, eax
mov byte [r14], al
jmp 0x140040d07
call fcn.140390610
mov byte [r14 + 1], al
mov al, 1
mov byte [r14], al
mov rax, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140066c20
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
mov r8, rcx
add qword [rcx + 0x10], 8
mov r10, qword [rcx + 0x40]
test r10, r10
je 0x140066c69
mov eax, 8
mov r14d, 8
sub r14, r10
cmp r14, 8
cmovb rax, r14
cmp rax, 3
jbe 0x140066c71
mov r11d, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rax
jb 0x140066c83
jmp 0x140066c9a
xor r14d, r14d
jmp 0x140066d29
xor r9d, r9d
xor r11d, r11d
mov rcx, r9
or rcx, 1
cmp rcx, rax
jae 0x140066c9a
movzx esi, word [rdx + r9]
lea ecx, [r9*8]
shl rsi, cl
or r11, rsi
or r9, 2
cmp r9, rax
jae 0x140066cb1
movzx eax, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rax, cl
or r11, rax
lea ecx, [r10*8]
shl r11, cl
or r11, qword [r8 + 0x38]
mov qword [r8 + 0x38], r11
cmp r10, 8
jbe 0x140066cd3
add r10, 8
jmp 0x140066e1b
mov rdi, qword [r8 + 0x30]
mov rcx, qword [r8 + 0x28]
mov rax, qword [r8 + 0x18]
add rax, rcx
rol rcx, 0xd
xor rdi, r11
xor rcx, rax
rol rax, 0x20
mov rsi, qword [r8 + 0x20]
add rsi, rdi
rol rdi, 0x10
xor rdi, rsi
add rax, rdi
rol rdi, 0x15
xor rdi, rax
add rsi, rcx
rol rcx, 0x11
mov qword [r8 + 0x30], rdi
xor rcx, rsi
rol rsi, 0x20
mov qword [r8 + 0x28], rcx
mov qword [r8 + 0x20], rsi
xor rax, r11
mov qword [r8 + 0x18], rax
mov r9d, 8
sub r9, r14
mov r10d, r9d
and r10d, 7
and r9, 0xfffffffffffffff8
cmp r14, r9
jae 0x140066db3
mov rsi, qword [r8 + 0x30]
mov rax, qword [r8 + 0x18]
mov rcx, qword [r8 + 0x20]
mov rdi, qword [r8 + 0x28]
nop word cs:[rax + rax]
add rax, rdi
rol rdi, 0xd
mov rbx, qword [rdx + r14]
xor rdi, rax
rol rax, 0x20
xor rsi, rbx
add rcx, rsi
rol rsi, 0x10
xor rsi, rcx
add rax, rsi
rol rsi, 0x15
add rcx, rdi
rol rdi, 0x11
xor rdi, rcx
rol rcx, 0x20
xor rsi, rax
xor rax, rbx
add r14, 8
cmp r14, r9
jb 0x140066d60
mov qword [r8 + 0x30], rsi
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x28], rdi
mov qword [r8 + 0x20], rcx
cmp r10d, 3
jbe 0x140066dd1
mov r11d, dword [rdx + r14]
mov r9d, 4
mov rax, r9
or rax, 1
cmp rax, r10
jb 0x140066de3
jmp 0x140066dfd
xor r9d, r9d
xor r11d, r11d
mov rax, r9
or rax, 1
cmp rax, r10
jae 0x140066dfd
lea rax, [r9 + r14]
movzx eax, word [rdx + rax]
lea ecx, [r9*8]
shl rax, cl
or r11, rax
or r9, 2
cmp r9, r10
jae 0x140066e17
add r14, r9
movzx eax, byte [rdx + r14]
shl r9d, 3
mov ecx, r9d
shl rax, cl
or r11, rax
mov qword [r8 + 0x38], r11
mov qword [r8 + 0x40], r10
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x140074370
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rsi
sub rsp, 0x80
mov rsi, rdx
cmp dword [rcx], 2
jne 0x140074408
movdqu xmm0, xmmword [rcx + 8]
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqu xmmword [rsp + 0x48], xmm1
pshufd xmm0, xmm0, 0xee
pxor xmm0, xmmword [0x1403bc2d0]
movdqu xmmword [rsp + 0x58], xmm0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
xor eax, eax
cmp qword [rsi + 0x18], 0
setne al
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.1400852e0
cmp qword [rsi + 0x18], 0
je 0x140074494
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
lea rcx, [rsp + 0x30]
jmp 0x1400744ac
mov rdx, qword [rsi + 0x18]
xor ecx, ecx
test rdx, rdx
setne cl
movabs rax, 0xcbf29ce484222325
xor rax, rcx
movabs rcx, 0x1efac7090aef4a21
imul rax, rcx
test rdx, rdx
je 0x1400745a1
mov r8, qword [rsi + 8]
test r8, r8
je 0x140074620
mov r10, qword [rsi]
movabs r11, 0x100000001b3
lea r9, [r8 - 1]
mov rsi, r8
and rsi, 7
je 0x1400745ad
mov rdx, rax
mov rcx, r10
nop dword [rax]
movzx eax, byte [rcx]
inc rcx
xor rax, rdx
imul rax, r11
mov rdx, rax
dec rsi
jne 0x140074470
cmp r9, 7
jae 0x1400745b6
jmp 0x140074620
movzx eax, byte [rsi]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x28]
mov r8d, 8
call fcn.1400852e0
mov r8, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
shl r8, 0x38
or r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
add rsi, rax
rol rax, 0xd
xor rcx, r8
xor rax, rsi
rol rsi, 0x20
mov rdx, qword [rsp + 0x50]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add rsi, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, rsi
xor rax, rdx
rol rdx, 0x20
xor rsi, r8
add rsi, rax
rol rax, 0xd
xor rax, rsi
rol rsi, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add rsi, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, rsi
add rsi, rax
rol rax, 0xd
xor rax, rsi
rol rsi, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add rsi, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, rsi
add rsi, rax
rol rax, 0xd
xor rax, rsi
add rdx, rcx
shl rcx, 0x10
xor rcx, rdx
shr rcx, 0x2b
add rdx, rax
shr rax, 0x2f
xor rax, rdx
shr rdx, 0x20
xor rax, rcx
xor rax, rdx
jmp 0x140074620
movzx edx, byte [rsi]
xor rax, rdx
imul rax, rcx
jmp 0x140074620
mov rcx, r10
cmp r9, 7
jb 0x140074620
add r10, r8
nop dword [rax]
movzx edx, byte [rcx]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 1]
xor rax, rdx
imul rax, r11
movzx edx, byte [rcx + 2]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 3]
xor rax, rdx
imul rax, r11
movzx edx, byte [rcx + 4]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 5]
xor rax, rdx
imul rax, r11
movzx edx, byte [rcx + 6]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 7]
add rcx, 8
xor rax, rdx
imul rax, r11
cmp rcx, r10
jne 0x1400745c0
and eax, 0x7fff
add rsp, 0x80
pop rsi
ret
Function at 0x140093b70
Capabilities:
Get session user name

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov dword [rbp - 4], 0
lea rdx, [rbp - 4]
xor ecx, ecx
call qword [sym.imp.advapi32.dll_GetUserNameW]
test eax, eax
jne 0x140093c87
mov ebx, dword [rbp - 4]
test rbx, rbx
je 0x140093bd0
lea rdi, [rbx + rbx]
mov edx, 2
mov rcx, rdi
call fcn.1400938a0
test rax, rax
jne 0x140093bd5
mov edx, 2
mov rcx, rdi
call fcn.1403b6040
ud2
mov eax, 2
mov qword [rbp - 0x18], rbx
mov dword [rbp - 4], ebx
lea rdx, [rbp - 4]
mov qword [rbp - 0x10], rax
mov rcx, rax
call qword [sym.imp.advapi32.dll_GetUserNameW]
test eax, eax
je 0x140093c31
mov eax, dword [rbp - 4]
lea r8, [rax - 1]
test rax, rax
cmove r8, rax
mov rcx, rsi
mov rdx, qword [rbp - 0x10]
call fcn.140372790
mov rdx, qword [rbp - 0x18]
test edx, edx
je 0x140093c25
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp - 0x10]
call fcn.1400938b0
mov rax, rsi
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov ecx, 7
mov edx, 1
call fcn.1400938a0
test rax, rax
je 0x140093ca1
mov dword [rax + 3], 0x6e776f6e
mov dword [rax], 0x6e6b6e75
mov qword [rbp - 0x30], rax
movaps xmm0, xmmword [0x1403bc330]
movups xmmword [rbp - 0x28], xmm0
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x30]
call fcn.14037d270
movups xmm0, xmmword [rbp - 0x50]
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp - 0x18]
test edx, edx
jne 0x140093c13
jmp 0x140093c25
lea rcx, str.assertion_failed:_successC:Usershrdp.cargo_registry_srcgithub.com_1ecc6299db9ec823whoami_1.2.3_srcwindows.rs
lea r8, [0x1403be6b8]
mov edx, 0x19
call fcn.1403b6260
ud2
mov ecx, 7
mov edx, 1
call fcn.1403b6040
ud2

Function at 0x1400b9a00
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x10]
mov r8d, 0x20
call fcn.1403655d0
test rax, rax
je 0x1400b9a6c
mov qword [rbp + 0x18], rax
mov rcx, rax
mov qword [rbp + 0x10], rdx
call qword [rdx]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400b9abd
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x18]
call fcn.1400938b0
jmp 0x1400b9abd
movaps xmm0, xmmword [rbp - 0x10]
movaps xmm1, xmmword [rbp]
movaps xmmword [rbp - 0x50], xmm1
movaps xmmword [rbp - 0x60], xmm0
lea r8, [0x1403c9ad4]
lea rcx, [rbp - 0x40]
lea rdx, [rbp - 0x60]
mov r9d, 8
call fcn.140365420
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x18]
mov qword [rdi + 0x28], rcx
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rdi + 0x18], xmm0
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rdi + 8], xmm0
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x38], rcx
mov qword [rdi], rax
mov qword [rdi + 0x40], rbx
mov rax, 0xffffffffffffff00
add rax, qword [rdi + 0x30]
mov qword [rdi + 0x38], rax
mov rcx, rdi
mov edx, 6
mov r8, rsi
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop rbp
jmp fcn.140362ec0
Function at 0x1400ef9e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm6
xor ecx, ecx
call fcn.14037a610
test rax, rax
je 0x1400efbc0
movdqu xmm8, xmmword [rax]
inc qword [rax]
pshufd xmm7, xmm8, 0x44
pxor xmm7, xmmword [str.uespemosarenegylmodnarodsetybdet]
pshufd xmm6, xmm8, 0xee
pxor xmm6, xmmword [0x1403bc2d0]
mov ebx, 1
lea r14, [rsp + 0x68]
xorps xmm9, xmm9
lea r15, [rsp + 0x30]
lea r12, [rsp + 0x28]
nop
movdqa xmmword [rsp + 0x30], xmm8
mov qword [rsp + 0x40], 0
movdqu xmmword [rsp + 0x48], xmm7
movdqu xmmword [rsp + 0x58], xmm6
movups xmmword [r14], xmm9
mov qword [rsp + 0x28], rbx
mov r8d, 8
mov rcx, r15
mov rdx, r12
call fcn.1400852e0
mov rdi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
shl rdi, 0x38
or rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
add rdx, rax
rol rax, 0xd
xor rcx, rdi
xor rax, rdx
rol rdx, 0x20
mov rsi, qword [rsp + 0x50]
add rsi, rcx
rol rcx, 0x10
xor rcx, rsi
add rdx, rcx
rol rcx, 0x15
add rsi, rax
rol rax, 0x11
xor rcx, rdx
xor rax, rsi
rol rsi, 0x20
xor rdx, rdi
add rdx, rax
rol rax, 0xd
xor rax, rdx
rol rdx, 0x20
xor rsi, 0xff
add rsi, rcx
rol rcx, 0x10
xor rcx, rsi
add rdx, rcx
rol rcx, 0x15
add rsi, rax
rol rax, 0x11
xor rax, rsi
rol rsi, 0x20
xor rcx, rdx
add rdx, rax
rol rax, 0xd
xor rax, rdx
rol rdx, 0x20
add rsi, rcx
rol rcx, 0x10
xor rcx, rsi
add rdx, rcx
rol rcx, 0x15
add rsi, rax
rol rax, 0x11
xor rax, rsi
rol rsi, 0x20
xor rcx, rdx
add rdx, rax
rol rax, 0xd
add rsi, rcx
rol rcx, 0x10
xor rcx, rsi
rol rcx, 0x15
xor rax, rdx
add rsi, rax
rol rax, 0x11
mov rdx, rsi
rol rdx, 0x20
xor rax, rsi
xor rax, rcx
inc rbx
xor rax, rdx
je 0x1400efa60
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rax, [0x1403ccfe8]
mov qword [rsp + 0x20], rax
lea rcx, [0x1403ccf50]
lea r9, fcn.14000b670
lea r8, [rsp + 0x30]
mov edx, 0x46
call fcn.1403b64f0
ud2
Function at 0x140153450
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rdx
mov qword [rbp - 0x30], rcx
add r9, r8
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], r9
mov word [rbp - 0x18], 0
mov dword [rbp - 0x10], 1
lea rcx, [rbp - 0x48]
lea rdx, [rbp - 0x28]
call fcn.14019dfc0
mov dword [rbp - 4], 0x800
mov dword [rbp - 8], 0
mov ecx, 0x800
mov edx, 1
call fcn.1400938a0
test rax, rax
je 0x1401535ca
mov rbx, rax
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [0x1403d2960]
movups xmmword [rbp - 0x20], xmm0
mov rdi, qword [rbp - 0x48]
lea r12, [rbp - 4]
lea r15, [rbp - 8]
mov r14, qword [rbp - 0x20]
mov r13, qword [rbp - 0x18]
sub r14, r13
nop
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call sub.advapi32.dll_RegQueryValueExW
cmp eax, 0xea
jne 0x14015352d
mov r8d, dword [rbp - 4]
cmp r14, r8
jae 0x1401534f0
lea rcx, [rbp - 0x28]
mov rdx, r13
call fcn.1403abe40
mov rbx, qword [rbp - 0x28]
jmp 0x1401534e3
test eax, eax
jne 0x14015354c
mov eax, dword [rbp - 4]
mov qword [rbp - 0x18], rax
mov eax, dword [rbp - 8]
cmp eax, 0xb
jbe 0x1401535a9
movabs rax, 0xde00000002
jmp 0x140153554
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp - 0x30]
mov qword [rcx], rax
mov byte [rcx + 0x18], 0xc
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x14015357a
mov r8, rdx
not r8
shr r8, 0x3f
mov rcx, rbx
call fcn.1400938b0
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x140153594
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call fcn.1400938b0
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x30]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rdx], xmm0
mov byte [rdx + 0x18], al
mov rdx, qword [rbp - 0x40]
test rdx, rdx
jne 0x140153583
jmp 0x140153594
mov ecx, 0x800
mov edx, 1
call fcn.1403b6040
ud2
Function at 0x140162ef0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, rdx
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x18], rax
test rax, rax
je 0x140163052
mov rbx, rcx
add rcx, 0x40
mov qword [rbp - 8], rdi
mov rdx, rdi
call fcn.140074370
mov r13d, dword [rbx + 0x58]
movzx ecx, r13w
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0xc], eax
and eax, r13d
movzx r15d, ax
mov rsi, qword [rbx]
mov r14, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x20], rax
xor ebx, ebx
xor r12d, r12d
jmp 0x140162f76
movzx eax, byte [rcx]
mov rcx, qword [rbp - 8]
cmp al, byte [rcx]
je 0x140163008
nop
inc r12
inc r15
cmp r15, r14
cmovae r15, rbx
jb 0x140162f88
test r14, r14
je 0x140163020
movzx ecx, word [rsi + r15*4]
cmp rcx, 0xffff
je 0x140163022
movzx eax, word [rsi + r15*4 + 2]
mov edx, eax
and edx, r13d
mov edi, r15d
sub edi, edx
and edi, dword [rbp - 0x28]
cmp r12, rdi
ja 0x140163022
cmp ax, word [rbp - 0xc]
jne 0x140162f70
cmp qword [rbp - 0x18], rcx
jbe 0x14016305f
imul rcx, rcx, 0x68
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + rcx + 0x18]
test rax, rax
sete dl
mov rbx, qword [rbp - 8]
cmp qword [rbx + 0x18], 0
sete bl
xor bl, dl
mov ebx, 0
jne 0x140162f70
add rcx, qword [rbp - 0x20]
test rax, rax
je 0x140162f60
mov rdx, qword [rbp - 8]
call fcn.1403613b0
test al, al
je 0x140162f70
mov sil, 1
mov rdi, qword [rbp - 8]
mov rax, qword [rdi + 0x18]
test rax, rax
jne 0x140163031
jmp 0x14016303f
jmp 0x140163020
xor esi, esi
mov rdi, qword [rbp - 8]
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x14016303f
lea rcx, [rdi + 0x10]
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
call qword [rax + 0x10]
mov eax, esi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor esi, esi
mov rax, qword [rdi + 0x18]
test rax, rax
jne 0x140163031
jmp 0x14016303f
lea r8, [0x1403d4730]
mov rdx, qword [rbp - 0x18]
call fcn.1403b62b0
ud2
Function at 0x140163da0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rbx, rdx
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140163ef2
mov rdi, rcx
add rcx, 0x40
mov qword [rbp - 8], rbx
mov rdx, rbx
call fcn.140074370
mov ecx, dword [rdi + 0x58]
movzx edx, cx
mov qword [rbp - 0x28], rdx
mov dword [rbp - 0x14], eax
mov qword [rbp - 0x30], rcx
and eax, ecx
movzx r13d, ax
mov rsi, qword [rdi]
mov r14, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x10], rax
xor edi, edi
xor r15d, r15d
jmp 0x140163e26
movzx eax, byte [rcx]
mov rcx, qword [rbp - 8]
cmp al, byte [rcx]
je 0x140163eb2
inc r15
inc r13
cmp r13, r14
cmovae r13, rdi
jb 0x140163e38
test r14, r14
je 0x140163ef0
movzx ecx, word [rsi + r13*4]
cmp rcx, 0xffff
je 0x140163ebe
movzx eax, word [rsi + r13*4 + 2]
mov edx, eax
and edx, dword [rbp - 0x30]
mov ebx, r13d
sub ebx, edx
and ebx, dword [rbp - 0x28]
cmp r15, rbx
ja 0x140163ebe
cmp ax, word [rbp - 0x14]
jne 0x140163e20
cmp qword [rbp - 0x20], rcx
jbe 0x140163eff
imul r12, rcx, 0x68
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + r12 + 0x18]
test rax, rax
sete cl
mov rdx, qword [rbp - 8]
cmp qword [rdx + 0x18], 0
sete dl
xor dl, cl
jne 0x140163e20
mov rcx, qword [rbp - 0x10]
add rcx, r12
test rax, rax
je 0x140163e11
mov rdx, qword [rbp - 8]
call fcn.1403613b0
test al, al
je 0x140163e20
mov rax, qword [rbp - 0x10]
lea rdi, [rax + r12]
add rdi, 0x20
mov rbx, qword [rbp - 8]
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x140163ed9
lea rcx, [rbx + 0x10]
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
call qword [rax + 0x10]
mov rax, rdi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jmp 0x140163ef0
xor edi, edi
mov rax, qword [rbx + 0x18]
test rax, rax
jne 0x140163ecb
jmp 0x140163ed9
lea r8, [0x1403d4730]
mov rdx, qword [rbp - 0x20]
call fcn.1403b62b0
ud2
Function at 0x1402528b0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
test rdx, rdx
je 0x1402528f9
mov rsi, rdx
mov r14, rcx
xor edi, edi
mov r15d, 0xffffffff
nop
lea rcx, [r14 + rdi]
mov rbx, rsi
sub rbx, rdi
cmp rbx, r15
cmovae rbx, r15
mov edx, ebx
call sub.advapi32.dll_SystemFunction036
test al, al
sete al
je 0x1402528fb
add rdi, rbx
cmp rdi, rsi
jb 0x1402528d0
jmp 0x1402528fb
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140254eb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
mov rax, qword [rsp + 0xc0]
mov rbp, qword [rcx]
bswap rbp
mov qword [rsp + 0x30], rcx
mov rbx, qword [rcx + 8]
bswap rbx
and rax, 0xfffffffffffffff0
je 0x140254ffb
mov rcx, qword [rsp + 0x28]
xor rcx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rcx
xor r13d, r13d
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], rax
nop word [rax + rax]
mov r14, qword [r9 + r13]
mov r15, qword [r9 + r13 + 8]
bswap r15
xor r15, rbx
bswap r14
xor r14, rbp
mov rcx, r15
mov rdx, qword [rsp + 0x28]
call fcn.140254c10
mov rdi, rax
mov rbx, rdx
mov rcx, r14
mov rdx, qword [rsp + 0x20]
call fcn.140254c10
mov r12, rax
mov qword [rsp + 0x50], rdx
xor r14, r15
mov rcx, r14
mov rdx, qword [rsp + 0x38]
call fcn.140254c10
xor rbx, rdi
xor rbx, r12
xor rax, rbx
mov rcx, rdi
shl rcx, 0x3f
mov rsi, rdi
shl rsi, 0x3e
xor rsi, rcx
mov rbp, rdi
shl rbp, 0x39
xor rbp, rsi
xor rbp, rax
mov rsi, rbp
mov r11, qword [rsp + 0x50]
xor rsi, r11
mov rcx, rdi
shr rcx, 1
mov r9, rax
shl r9, 0x3f
mov r8, rbp
shr r8, 1
xor r8, rsi
mov rsi, rdi
shr rsi, 2
xor rsi, rcx
mov rcx, rax
shl rcx, 0x3e
mov r10, rbp
shr r10, 2
shr rdi, 7
shl rax, 0x39
xor rax, rcx
xor rdi, r11
xor rdi, rsi
xor rbx, rdx
xor rbx, rdi
xor rbx, r9
mov r9, qword [rsp + 0x48]
xor rbx, rax
mov rax, qword [rsp + 0x40]
shr rbp, 7
xor rbp, r10
xor rbp, r8
add r13, 0x10
cmp rax, r13
jne 0x140254f10
bswap rbp
bswap rbx
mov rax, qword [rsp + 0x30]
mov qword [rax], rbp
mov qword [rax + 8], rbx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140261b50
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
mov rdi, r9
mov rbx, r8
mov rsi, rdx
mov r13, rcx
mov r14, qword [rsp + 0x2a8]
mov r15, qword [rsp + 0x2b0]
mov r12, qword [rsp + 0x2a0]
lea rcx, [0x14056a158]
call fcn.1402633d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmm0, xmmword [0x140415280]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [0x140415290]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x1404152a0]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x1404152b0]
movaps xmmword [rsp + 0x60], xmm0
lea rax, [0x140415250]
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 0
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov rdx, rsi
mov r8, rbx
call fcn.140251a30
mov rcx, rbp
mov rdx, rdi
mov r8, r12
call fcn.140251a30
mov rcx, rbp
mov rdx, r14
mov r8, r15
call fcn.140251a30
lea rcx, [rsp + 0x160]
mov r8d, 0xd8
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x1a8]
mov r9, qword [rax + 0x10]
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x150], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x140], xmm3
movaps xmmword [rsp + 0x130], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
cmp r9, 0x81
jae 0x140261cfe
lea r8, [rsp + 0x1b8]
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x110]
mov rcx, r13
call fcn.140251750
mov rax, r13
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Usershrdp.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.16.20_srcdigest.rs
mov edx, 0x80
mov rcx, r9
call fcn.1403b65a0
ud2