joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140024e40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
xor r10d, r10d
test rdx, rdx
setg al
jle 0x14002505c
test r9, r9
jle 0x14002505c
lea rax, [r9 - 1]
mov qword [rsp + 0x10], rax
xor esi, esi
lea r11, [0x14029f900]
lea rdi, [0x14029fa00]
lea r14, [0x14029fa20]
xor r10d, r10d
mov qword [rsp + 8], r9
mov qword [rsp], r8
nop word cs:[rax + rax]
movzx r13d, byte [rcx + rsi]
test r13b, r13b
js 0x140024ec0
mov r12d, 1
mov ebp, r13d
jmp 0x140025040
movsx r12, byte [r13 + r11]
mov rax, r13
add rax, 0xffffffffffffff40
cmp rax, 0x3d
ja 0x140024f8e
mov rax, rdx
sub rax, rsi
cmp rax, 2
mov r11d, 1
cmovl rax, r11
dec rax
cmp r12, 3
mov ebx, 2
cmovge rbx, r12
lea r11, [rbx - 2]
cmp rax, r11
jbe 0x140025077
lea rax, [rcx + rsi]
lea r14, [rbx - 1]
test r11, r11
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], r14
je 0x140024f9b
lea r11, [rax + 1]
and r14, 0xfffffffffffffffe
neg r14
mov edi, 1
xor r15d, r15d
mov ebp, r13d
nop word [rax + rax]
movzx eax, byte [r11 + rdi - 1]
mov r8d, eax
and r8b, 0xc0
cmp r8b, 0x80
setne r8b
or r8b, r15b
movzx r9d, byte [r11 + rdi]
mov r15d, r9d
and r15b, 0xc0
cmp r15b, 0x80
setne r15b
or r15b, r8b
shl ebp, 0xc
shl eax, 6
add ebp, r9d
add ebp, eax
lea rax, [r14 + rdi]
add rax, 2
add rdi, 2
cmp rax, 1
jne 0x140024f40
jmp 0x140024fa6
mov ebx, 1
xor r15d, r15d
mov ebp, r13d
jmp 0x140024feb
mov edi, 1
xor r15d, r15d
mov ebp, r13d
test byte [rsp + 0x20], 1
lea r14, [0x14029fa20]
je 0x140024fd4
mov rax, qword [rsp + 0x18]
movzx eax, byte [rax + rdi]
mov r8d, eax
and r8b, 0xc0
cmp r8b, 0x80
setne r8b
or r15b, r8b
shl ebp, 6
add ebp, eax
mov r9, qword [rsp + 8]
mov r8, qword [rsp]
lea r11, [0x14029f900]
lea rdi, [0x14029fa00]
xor eax, eax
cmp rbx, r12
jne 0x140025066
test r15b, 1
jne 0x140025066
sub ebp, dword [rdi + r12*4]
cmp ebp, 0x10ffff
ja 0x140025066
cmp dword [r14 + r12*4], ebp
ja 0x140025077
cmp r13b, 0xf0
jb 0x140025040
cmp r10, qword [rsp + 0x10]
je 0x140025077
mov eax, ebp
shr eax, 0xa
add eax, 0xffffd7c0
mov word [r8 + r10*2], ax
and ebp, 0x3ff
or ebp, 0xdc00
mov word [r8 + r10*2 + 2], bp
inc r10
jmp 0x140025045
mov word [r8 + r10*2], bp
add rsi, r12
inc r10
cmp rsi, rdx
setl al
jge 0x14002505c
cmp r10, r9
jl 0x140024ea0
cmp r10, r9
setne cl
xor al, 1
or al, cl
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x140025066

Function at 0x1400266d0
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x60
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov esi, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140259980
mov rax, rsi
add rsp, 0x60
pop rsi
ret
Function at 0x140026710
Capabilities:
Allocate or change rwx memory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
test dl, dl
mov eax, 0x40
mov r9d, 4
cmovne r9d, eax
xor edi, edi
xor ecx, ecx
mov rdx, rsi
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x14002675a
mov rbx, rax
mov ecx, reloc.WS2_32.dll_recv
call fcn.140259c08
mov rdi, rax
mov qword [rax], rbx
mov qword [rax + 8], rsi
mov rax, rdi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
Function at 0x140036750
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov r11, qword [rsp + 0x68]
inc r11
xor eax, eax
cmp r11, r9
ja 0x14003685d
lea rax, [r9 - 1]
movzx eax, byte [r8 + rax]
add r11, rax
mov r10, r9
sub r10, r11
xor r11, r9
xor r10, r9
or r10, r11
xor r10, r9
not r10
sar r10, 0x3f
cmp r9, 0x100
mov esi, 0x100
cmovb rsi, r9
mov r11, r9
sub r11, 1
jb 0x140036837
jne 0x1400367b6
xor edi, edi
jmp 0x14003680e
mov ebx, esi
and ebx, 0x1fe
lea r14, [r8 + r11]
xor edi, edi
mov r15, 0xffffffffffffffff
mov r12, r10
nop
movzx r10d, byte [r14]
xor r10b, al
movzx r13d, r10b
not r13
movzx r10d, byte [r14 - 1]
xor r10b, al
cmp rdi, rax
cmova r13, r15
movzx r10d, r10b
not r10
cmovae r10, r15
and r10, r12
and r10, r13
add rdi, 2
add r14, 0xfffffffffffffffe
mov r12, r10
cmp rbx, rdi
jne 0x1400367d0
test sil, 1
je 0x140036837
sub r11, rdi
movzx r8d, byte [r8 + r11]
xor r8b, al
cmp rdi, rax
movzx r8d, r8b
not r8
mov r11, 0xffffffffffffffff
cmovbe r11, r8
and r10, r11
xor r8d, r8d
xor r11d, r11d
cmp r10b, 0xff
sete r11b
not rax
cmove r8, rax
neg r11
add r8, r9
mov qword [rdx], r8
mov qword [rcx], r11
mov eax, 1
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140036870
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rbx, r9
mov rdi, r8
mov rsi, rdx
mov qword [rsp + 0x28], rcx
mov r12, qword [rsp + 0x120]
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea r14, [rdx + 0x100]
xor r15d, r15d
mov rax, r12
sub rax, r14
cmovae r15, rax
test rdx, rdx
je 0x1400368d3
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8, rsi
call fcn.14025d290
cmp r15, r12
jae 0x140036a6d
mov rcx, rbx
sub rcx, rsi
cmp r12, r14
cmovb r14, r12
mov r8, rbx
neg r8
xor eax, eax
xor r9d, r9d
xor r10d, r10d
nop word [rax + rax]
cmp r9, rsi
mov r11d, 0
cmovae r11, rsi
mov r12, r9
mov r13, r15
xor r13, rcx
mov rbp, r13
not rbp
dec r13
and r13, rbp
sar r13, 0x3f
or r10, r13
mov rbp, r15
xor rbp, rbx
mov rdx, rbx
lea rbx, [r8 + r15]
xor rbx, r15
or rbx, rbp
xor rbx, r15
sar rbx, 0x3f
and ebx, r10d
and bl, byte [rdi + r15]
sub r12, r11
or byte [rsp + r12 + 0x70], bl
mov rbx, rdx
and r13, r12
or rax, r13
inc r15
neg r11
add r9, r11
inc r9
dec r14
jne 0x140036900
cmp rsi, 2
jb 0x140036a79
mov r8, rsi
and r8, 0xfffffffffffffffe
mov r9d, 1
lea r10, [rsp + 0x30]
lea r11, [rsp + 0x70]
jmp 0x1400369a2
add r9, r9
shr rax, 1
mov r11, rdx
cmp r9, rsi
jae 0x140036a83
mov rdx, r10
mov r10, r11
mov r11d, eax
and r11d, 1
dec r11d
movzx r11d, r11b
mov ebx, r11d
not bl
mov r14, r9
xor edi, edi
jmp 0x1400369f8
sub r14, r15
movzx ebp, byte [r10 + rdi + 1]
and bpl, r11b
movzx r15d, byte [r10 + r14]
and r15b, bl
or r15b, bpl
mov byte [rdx + rdi + 1], r15b
add rdi, 2
inc r14
cmp r8, rdi
je 0x140036a40
mov r15d, 0
cmp r14, rsi
jb 0x140036a06
mov r15, rsi
mov r12, r14
sub r12, r15
movzx ebp, byte [r10 + rdi]
and bpl, r11b
movzx r12d, byte [r10 + r12]
and r12b, bl
or r12b, bpl
mov byte [rdx + rdi], r12b
neg r15
add r14, r15
inc r14
mov r15d, 0
cmp r14, rsi
jb 0x1400369d0
mov r15, rsi
jmp 0x1400369d0
test sil, 1
je 0x140036990
cmp r14, rsi
mov r15d, 0
cmovae r15, rsi
sub r14, r15
and r11b, byte [r10 + rdi]
and bl, byte [r10 + r14]
or bl, r11b
mov byte [rdx + rdi], bl
jmp 0x140036990
xor eax, eax
cmp rsi, 2
jae 0x140036976
test rsi, rsi
je 0x140036a90
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x28]
mov r8, rsi
call fcn.14025caa0
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140259980
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14003df00
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a8
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
lea r14, [rsp + 0xc0]
mov edx, 0x20
mov rcx, r8
mov r8, r14
call fcn.140068f30
and byte [rsp + 0xc0], 0xf8
movzx eax, byte [rsp + 0xdf]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0xdf], al
lea r8, [0x1402a6270]
lea r15, [rsp + 0x20]
mov rcx, r15
mov rdx, r14
call fcn.14003c410
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x170], rax
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
lea r14, [rsp + 0x128]
lea rdx, [rsp + 0x150]
mov rcx, r14
call fcn.140042f70
lea r12, [rsp + 0x150]
mov rcx, r12
mov rdx, r15
mov r8, r14
call fcn.1400459c0
lea rdx, [rsp + 0x48]
lea r15, [rsp + 0x100]
mov rcx, r15
mov r8, r14
call fcn.1400459c0
mov rcx, rdi
mov rdx, r15
call fcn.140038610
lea rcx, [rsp + 0x180]
mov rdx, r12
call fcn.140038610
movzx eax, byte [rsp + 0x180]
shl al, 7
xor byte [rdi + 0x1f], al
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140259980
nop
add rsp, 0x1a8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140041920
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
mov qword [rsp + 0x20], rcx
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x160], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x150], xmm1
and byte [rsp + 0x140], 0xf8
movzx eax, byte [rsp + 0x15f]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x15f], al
lea r8, [0x1402a6270]
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x140]
call fcn.14003c410
mov rax, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
lea rdi, [r11 + rax]
mov rcx, qword [rsp + 0xf8]
lea rbx, [rsi + rcx]
mov rdx, qword [rsp + 0x100]
mov r14, qword [rsp + 0xd8]
lea r15, [r14 + rdx]
mov r8, qword [rsp + 0x108]
mov r12, qword [rsp + 0xe0]
lea r13, [r12 + r8]
mov r9, qword [rsp + 0x110]
mov rbp, qword [rsp + 0xe8]
lea r10, [rbp + r9]
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r10
movabs r10, 0xffffffffffffe
add rax, r10
sub rax, r11
add rax, 0xffffffffffffffdc
add rcx, r10
sub rcx, rsi
add rdx, r10
sub rdx, r14
add r8, r10
sub r8, r12
add r9, r10
sub r9, rbp
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], r9
lea rdi, [rsp + 0x28]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140042f70
lea rdx, [rsp + 0x78]
mov rcx, rdi
mov r8, rdi
call fcn.1400459c0
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
call fcn.140038610
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140259980
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14004c800
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rdx
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x28]
mov r8d, 6
call fcn.140032940
xor edi, edi
test eax, eax
je 0x14004c9b7
lea rcx, [rsp + 0x28]
call fcn.1400298f0
movzx r15d, byte [reloc.WS2_32.dll_htons]
cmp rax, r15
jne 0x14004c885
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032150
lea r14, [0x1402a8a30]
test r15b, r15b
je 0x14004c9ad
lea rdx, [0x1402a8a34]
mov rcx, rax
mov r8, rbx
call fcn.14025c9a0
test eax, eax
je 0x14004c9ad
lea rcx, [rsp + 0x28]
call fcn.1400298f0
movzx r15d, byte [reloc.WS2_32.dll_getsockopt]
cmp rax, r15
jne 0x14004c8d3
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032150
lea r14, [0x1402a8698]
test r15b, r15b
je 0x14004c9ad
lea rdx, [0x1402a869c]
mov rcx, rax
mov r8, rbx
call fcn.14025c9a0
test eax, eax
je 0x14004c9ad
lea rcx, [rsp + 0x28]
call fcn.1400298f0
movzx r15d, byte [reloc.WS2_32.dll_getsockopt]
cmp rax, r15
jne 0x14004c921
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032150
lea r14, [0x1402a8508]
test r15b, r15b
je 0x14004c9ad
lea rdx, [0x1402a850c]
mov rcx, rax
mov r8, rbx
call fcn.14025c9a0
test eax, eax
je 0x14004c9ad
lea rcx, [rsp + 0x28]
call fcn.1400298f0
movzx r15d, byte [reloc.WS2_32.dll_closesocket]
cmp rax, r15
jne 0x14004c967
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032150
lea r14, [0x1402a8828]
test r15b, r15b
je 0x14004c9ad
lea rdx, [0x1402a882c]
mov rcx, rax
mov r8, rbx
call fcn.14025c9a0
test eax, eax
je 0x14004c9ad
lea rcx, [rsp + 0x28]
call fcn.1400298f0
movzx r15d, byte [reloc.WS2_32.dll_closesocket]
cmp rax, r15
jne 0x14004c9b7
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032150
lea r14, [0x1402a8bc0]
test r15b, r15b
je 0x14004c9ad
lea rdx, [0x1402a8bc4]
mov rcx, rax
mov r8, rbx
call fcn.14025c9a0
test eax, eax
jne 0x14004c9b7
mov eax, dword [r14]
mov dword [rsi], eax
mov edi, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140259980
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1400507f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r8
mov r14, rdx
mov r15, rcx
mov r12, qword [rsp + 0x178]
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rcx, r12
call fcn.14004c4d0
mov rbx, rax
lea r13, [rsp + 0x50]
mov rcx, r13
call fcn.140075020
mov qword [rsp + 0x20], 0
mov rcx, r13
mov rdx, r15
mov r8, r14
mov r9, r12
call fcn.140075050
test eax, eax
je 0x140050aa9
mov rsi, qword [rsp + 0x180]
test rsi, rsi
je 0x140050aad
mov r14, qword [rsp + 0x188]
mov ecx, 1
lea r15, [rsp + 0x50]
jmp 0x1400508aa
add r14, rsi
mov ecx, dword [rsp + 0x34]
inc ecx
mov rax, qword [rsp + 0x38]
sub rax, rsi
mov rsi, rax
je 0x140050aad
cmp rbx, rsi
mov qword [rsp + 0x38], rsi
cmovb rsi, rbx
mov dword [rsp + 0x34], ecx
mov eax, ecx
bswap eax
mov dword [rsp + 0xbc], eax
mov qword [rsp + 0x20], 0
mov rcx, r15
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.140075050
test eax, eax
je 0x140050aa9
mov rcx, r15
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
call fcn.140075380
test eax, eax
je 0x140050aa9
mov r8d, 4
mov rcx, r15
lea rdx, [rsp + 0xbc]
call fcn.140075380
test eax, eax
je 0x140050aa9
mov rcx, r15
lea rdx, [rsp + 0xc0]
xor r8d, r8d
call fcn.1400753a0
test eax, eax
je 0x140050aa9
test rbx, rbx
je 0x140050951
mov rcx, r14
lea rdx, [rsp + 0xc0]
mov r8, rsi
call fcn.14025caa0
cmp dword [rsp + 0x170], 2
jb 0x140050890
cmp rsi, 1
mov rbp, rsi
adc rbp, 0
mov r13, rbp
and r13, 0xffffffffffffffe0
mov rdi, rbp
and rdi, 0xfffffffffffffff8
mov r12d, 1
jmp 0x140050991
inc r12d
cmp r12d, dword [rsp + 0x170]
je 0x140050890
mov qword [rsp + 0x20], 0
mov rcx, r15
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.140075050
test eax, eax
je 0x140050aa9
mov rcx, r15
lea rdx, [rsp + 0xc0]
mov r8, rbx
call fcn.140075380
test eax, eax
je 0x140050aa9
mov rcx, r15
lea rdx, [rsp + 0xc0]
xor r8d, r8d
call fcn.1400753a0
test eax, eax
je 0x140050aa9
test rbx, rbx
je 0x140050980
cmp rsi, 8
jae 0x140050a00
xor eax, eax
jmp 0x140050a90
cmp rsi, 0x20
jae 0x140050a0a
xor ecx, ecx
jmp 0x140050a60
xor eax, eax
nop dword [rax]
movups xmm0, xmmword [r14 + rax]
movups xmm1, xmmword [r14 + rax + 0x10]
xorps xmm0, xmmword [rsp + rax + 0xc0]
xorps xmm1, xmmword [rsp + rax + 0xd0]
movups xmmword [r14 + rax], xmm0
movups xmmword [r14 + rax + 0x10], xmm1
add rax, 0x20
cmp r13, rax
jne 0x140050a10
cmp rbp, r13
je 0x140050980
mov rcx, r13
mov rax, r13
test bpl, 0x18
je 0x140050a90
nop word cs:[rax + rax]
mov rax, qword [rsp + rcx + 0xc0]
xor qword [r14 + rcx], rax
add rcx, 8
cmp rdi, rcx
jne 0x140050a60
mov rax, rdi
cmp rbp, rdi
je 0x140050980
nop word cs:[rax + rax]
movzx ecx, byte [rsp + rax + 0xc0]
xor byte [r14 + rax], cl
inc rax
cmp rbp, rax
jne 0x140050a90
jmp 0x140050980
xor esi, esi
jmp 0x140050abb
xor esi, esi
cmp dword [rsp + 0x170], 0
setne sil
lea rcx, [rsp + 0x50]
call fcn.140075460
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140259980
mov eax, esi
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140056370
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
cmp rdx, r9
mov r10, r9
cmovb r10, rdx
xor eax, eax
test r10, r10
je 0x1400563d4
xor r11d, r11d
nop dword [rax + rax]
mov rsi, qword [r8 + r11*8]
mov rdi, qword [rcx + r11*8]
mov rbx, rdi
xor rbx, rsi
lea r14, [rbx - 1]
mov r15, rdi
sub r15, rsi
xor r15, rdi
or r15, rbx
not rbx
and r14, rbx
sar r14, 0x3f
xor r15, rdi
sar r15, 0x3f
or r15, 1
xor rax, r15
and rax, r14
xor rax, r15
inc r11
cmp r10, r11
jne 0x140056390
mov r11, rdx
sub r11, r9
jae 0x1400563f3
mov r11, r9
sub r11, rdx
cmp r11, 4
jae 0x14005640e
xor r10d, r10d
mov rcx, rdx
jmp 0x140056470
jbe 0x140056525
cmp r11, 4
jae 0x140056497
xor r10d, r10d
mov r8, r9
jmp 0x140056500
mov rsi, r11
and rsi, 0xfffffffffffffffc
lea rcx, [rsi + rdx]
lea rdx, [r8 + rdx*8]
add rdx, 0x10
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [rdx + r10*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [rdx + r10*8]
por xmm1, xmm2
add r10, 4
cmp rsi, r10
jne 0x140056430
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r11, rsi
je 0x14005647c
nop word cs:[rax + rax]
or r10, qword [r8 + rcx*8]
inc rcx
cmp r9, rcx
jne 0x140056470
mov rcx, r10
not rcx
dec r10
and r10, rcx
sar r10, 0x3f
not r10d
or eax, r10d
jmp 0x140056525
mov rsi, r11
and rsi, 0xfffffffffffffffc
lea r8, [rsi + r9]
lea r9, [rcx + r9*8]
add r9, 0x10
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r9 + r10*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r10*8]
por xmm1, xmm2
add r10, 4
cmp rsi, r10
jne 0x1400564c0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r11, rsi
je 0x14005650c
nop word cs:[rax + rax]
or r10, qword [rcx + r8*8]
inc r8
cmp rdx, r8
jne 0x140056500
mov rcx, r10
not rcx
dec r10
and r10, rcx
sar r10, 0x3f
xor eax, 1
and eax, r10d
xor eax, 1
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1400566d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
movsxd r8, dword [rcx + 8]
movsxd rax, dword [rdx + 8]
cmp r8d, eax
jge 0x1400566f7
mov r10, qword [rdx]
mov rsi, rax
sub rsi, r8
cmp rsi, 4
jae 0x1400566fc
xor r9d, r9d
mov r11, r8
jmp 0x140056760
xor r9d, r9d
jmp 0x14005676c
mov rdi, rsi
and rdi, 0xfffffffffffffffc
lea r11, [rdi + r8]
lea r9, [r10 + r8*8]
add r9, 0x10
pxor xmm0, xmm0
xor ebx, ebx
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [r9 + rbx*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + rbx*8]
por xmm1, xmm2
add rbx, 4
cmp rdi, rbx
jne 0x140056720
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r9, xmm0
cmp rsi, rdi
je 0x14005676c
nop word cs:[rax + rax]
or r9, qword [r10 + r11*8]
inc r11
cmp rax, r11
jne 0x140056760
cmp eax, r8d
jge 0x1400567fc
mov r10, qword [rcx]
mov rsi, r8
sub rsi, rax
cmp rsi, 4
jae 0x140056789
mov r11, rax
jmp 0x1400567f0
mov rdi, rsi
and rdi, 0xfffffffffffffffc
lea r11, [rdi + rax]
movq xmm1, r9
lea r9, [r10 + rax*8]
add r9, 0x10
pxor xmm0, xmm0
xor ebx, ebx
nop word [rax + rax]
movdqu xmm2, xmmword [r9 + rbx*8 - 0x10]
por xmm1, xmm2
movdqu xmm2, xmmword [r9 + rbx*8]
por xmm0, xmm2
add rbx, 4
cmp rdi, rbx
jne 0x1400567b0
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r9, xmm1
cmp rsi, rdi
je 0x1400567fc
nop word cs:[rax + rax]
or r9, qword [r10 + r11*8]
inc r11
cmp r8, r11
jne 0x1400567f0
cmp r8d, eax
cmovl eax, r8d
test eax, eax
jle 0x1400568b3
mov r8, qword [rcx]
mov r10, qword [rdx]
mov r11d, eax
cmp eax, 4
jae 0x140056820
xor eax, eax
jmp 0x1400568a0
mov eax, r11d
and eax, 0x7ffffffc
movq xmm0, r9
mov r9d, r11d
shr r9d, 2
and r9d, 0x1fffffff
shl r9, 5
pxor xmm1, xmm1
xor esi, esi
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r8 + rsi]
movdqu xmm3, xmmword [r8 + rsi + 0x10]
movdqu xmm4, xmmword [r10 + rsi]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm2, xmmword [r10 + rsi + 0x10]
pxor xmm2, xmm3
por xmm1, xmm2
add rsi, 0x20
cmp r9, rsi
jne 0x140056850
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r9, xmm0
cmp rax, r11
je 0x1400568b3
nop word [rax + rax]
mov rsi, qword [r10 + rax*8]
xor rsi, qword [r8 + rax*8]
or r9, rsi
inc rax
cmp r11, rax
jne 0x1400568a0
mov eax, dword [rdx + 0x10]
xor eax, dword [rcx + 0x10]
movsxd rcx, eax
xor eax, eax
or rcx, r9
sete al
pop rbx
pop rdi
pop rsi
ret
Function at 0x140062d20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
movsxd rdx, dword [rcx + 8]
test rdx, rdx
jle 0x140062e9b
mov rcx, qword [rcx]
shl rdx, 6
xor r8d, r8d
xor eax, eax
xor r9d, r9d
nop dword [rax + rax]
mov rdi, qword [rcx]
mov r11, rdi
shl r11, 0x20
mov r10, r11
not r10
dec r11
and r11, r10
sar r11, 0x3f
mov r10, rdi
shr r10, 0x20
mov rbx, r11
and r10d, ebx
not rbx
and rbx, rdi
or rbx, r10
lea r10, [rdi - 1]
mov rsi, rbx
shl rsi, 0x30
mov r14, rsi
mov r15, rdi
not r14
dec rsi
and rsi, r14
sar rsi, 0x3f
mov rdi, rbx
shr rdi, 0x10
mov r14, rsi
xor rdi, rbx
and rdi, r14
xor rdi, rbx
not r15
mov rbx, rdi
shl rbx, 0x38
mov r14, rbx
and r10, r15
not r14
dec rbx
and rbx, r14
sar rbx, 0x3f
mov r15, rdi
shr r15, 8
mov r14, rbx
xor r15, rdi
and r15, r14
xor r15, rdi
sar r10, 0x3f
mov r14, r15
shl r14, 0x3c
mov r12, r14
mov rdi, r10
not r12
dec r14
and r14, r12
sar r14, 0x3f
mov r13, r15
shr r13, 4
mov r12, r14
xor r13, r15
and r13, r12
xor r13, r15
not rdi
mov r15, r13
shl r15, 0x3e
mov r12, r15
or rdi, r9
not r12
dec r15
and r15, r12
sar r15, 0x3f
mov rbp, r15
mov r12d, r13d
shr r12d, 2
xor r12d, r13d
and r12d, ebp
xor r12d, r13d
shl r12, 0x3f
mov r13, r12
dec r12
and r11d, 0x20
not r13
and esi, 0x10
or esi, r11d
and ebx, 8
and r12, r13
or ebx, esi
and r14d, 4
or r14d, ebx
shr r12, 0x3f
and r15d, 2
or r15d, r14d
or r12d, r15d
add r12d, r8d
or r9d, r10d
not r9d
and r9d, r12d
or eax, r9d
add rcx, 8
add r8, 0x40
mov r9, rdi
cmp rdx, r8
jne 0x140062d50
jmp 0x140062e9d
xor eax, eax
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140068d60
Capabilities:
Hash data using sha256

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
mov rsi, r8
mov r8, rdx
mov rdx, rcx
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x98], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x7c], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [0x1402a8e30]
movaps xmmword [rsp + 0x20], xmm0
movaps xmm0, xmmword [0x1402a8e40]
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x8c], 0x20
lea rcx, [rsp + 0x20]
call fcn.14007ecc0
mov ebx, dword [rsp + 0x8c]
mov ebp, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x44]
lea rdi, [rsp + 0x48]
mov eax, dword [rsp + 0x88]
lea rcx, [rax + 1]
mov byte [rsp + rax + 0x48], 0x80
cmp rax, 0x38
jb 0x140068e2b
cmp eax, 0x3f
je 0x140068e14
mov r8d, 0x3f
sub r8, rax
add rcx, rdi
xor edx, edx
call fcn.14025d290
lea rcx, [rsp + 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.14007ef10
xor ecx, ecx
jmp 0x140068e31
cmp rcx, 0x38
je 0x140068e44
mov r8d, 0x38
sub r8, rcx
add rcx, rdi
xor edx, edx
call fcn.14025d290
bswap r14d
bswap ebp
mov dword [rsp + 0x80], r14d
mov dword [rsp + 0x84], ebp
lea rcx, [rsp + 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.14007ef10
xorps xmm0, xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov dword [rdi + 0x40], 0
cmp ebx, 0x20
ja 0x140068efb
cmp ebx, 4
jb 0x140068efb
shr ebx, 2
mov eax, dword [rsp + 0x20]
bswap eax
mov dword [rsi], eax
cmp ebx, 1
je 0x140068efb
mov eax, dword [rsp + 0x24]
bswap eax
mov dword [rsi + 4], eax
cmp ebx, 2
je 0x140068efb
mov eax, dword [rsp + 0x28]
bswap eax
mov dword [rsi + 8], eax
cmp ebx, 3
je 0x140068efb
mov eax, dword [rsp + 0x2c]
bswap eax
mov dword [rsi + 0xc], eax
cmp ebx, 4
je 0x140068efb
mov eax, dword [rsp + 0x30]
bswap eax
mov dword [rsi + 0x10], eax
cmp ebx, 5
je 0x140068efb
mov eax, dword [rsp + 0x34]
bswap eax
mov dword [rsi + 0x14], eax
cmp ebx, 6
je 0x140068efb
mov eax, dword [rsp + 0x38]
bswap eax
mov dword [rsi + 0x18], eax
cmp ebx, 7
je 0x140068efb
mov eax, dword [rsp + 0x3c]
bswap eax
mov dword [rsi + 0x1c], eax
lea rcx, [rsp + 0x20]
mov edx, reloc.WS2_32.dll_WSASetLastError
call fcn.140092d90
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140259980
mov rax, rsi
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret