joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140024e30
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, 0x18
xor r10d, r10d
test rdx, rdx
setg al
jle 0x140025007
test r9, r9
jle 0x140025007
xor r10d, r10d
lea r11, [0x1402a28c0]
lea rsi, [0x1402a29c0]
lea rdi, [0x1402a29e0]
xor r14d, r14d
mov qword [rsp], r8
nop word [rax + rax]
movzx ebp, byte [rcx + r14]
test bpl, bpl
js 0x140024ea0
mov r15d, 1
jmp 0x140024fd5
mov eax, ebp
movsx r15, byte [rax + r11]
add rax, 0xffffffffffffff40
cmp rax, 0x3d
ja 0x140024fad
mov rax, rdx
sub rax, r14
cmp rax, 2
mov r11d, 1
cmovl rax, r11
dec rax
cmp r15, 3
mov r12d, 2
cmovge r12, r15
lea rsi, [r12 - 2]
cmp rax, rsi
jbe 0x140025022
lea rax, [rcx + r14]
lea r8, [r12 - 1]
test rsi, rsi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r8
je 0x140024ff2
lea rdi, [rax + 1]
mov rsi, r8
and rsi, 0xfffffffffffffffe
neg rsi
mov ebx, 1
xor r13d, r13d
nop dword [rax]
movzx eax, byte [rdi + rbx - 1]
mov r11d, eax
and r11b, 0xc0
cmp r11b, 0x80
setne r11b
or r11b, r13b
movzx r8d, byte [rdi + rbx]
mov r13d, r8d
and r13b, 0xc0
cmp r13b, 0x80
setne r13b
or r13b, r11b
shl ebp, 0xc
shl eax, 6
add ebp, r8d
add ebp, eax
lea rax, [rsi + rbx]
add rax, 2
add rbx, 2
cmp rax, 1
jne 0x140024f20
test byte [rsp + 0x10], 1
je 0x140024f92
mov rax, qword [rsp + 8]
movzx eax, byte [rax + rbx]
mov r8d, eax
and r8b, 0xc0
cmp r8b, 0x80
setne r8b
or r13b, r8b
shl ebp, 6
add ebp, eax
mov r8, qword [rsp]
lea r11, [0x1402a28c0]
lea rsi, [0x1402a29c0]
lea rdi, [0x1402a29e0]
jmp 0x140024fb6
mov r12d, 1
xor r13d, r13d
xor eax, eax
cmp r12, r15
jne 0x140025011
test r13b, 1
jne 0x140025011
sub ebp, dword [rsi + r15*4]
cmp ebp, 0x10ffff
ja 0x140025011
cmp dword [rdi + r15*4], ebp
ja 0x140025022
mov byte [r8 + r10], bpl
add r14, r15
inc r10
cmp r14, rdx
setl al
jge 0x140025007
cmp r10, r9
jl 0x140024e80
jmp 0x140025007
mov ebx, 1
xor r13d, r13d
test byte [rsp + 0x10], 1
jne 0x140024f72
jmp 0x140024f92
cmp r10, r9
setne cl
xor al, 1
or al, cl
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x140025011
Function at 0x140025030
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 0x14002524c
test r9, r9
jle 0x14002524c
lea rax, [r9 - 1]
mov qword [rsp + 0x10], rax
xor esi, esi
lea r11, [0x1402a28c0]
lea rdi, [0x1402a29c0]
lea r14, [0x1402a29e0]
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 0x1400250b0
mov r12d, 1
mov ebp, r13d
jmp 0x140025230
movsx r12, byte [r13 + r11]
mov rax, r13
add rax, 0xffffffffffffff40
cmp rax, 0x3d
ja 0x14002517e
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 0x140025267
lea rax, [rcx + rsi]
lea r14, [rbx - 1]
test r11, r11
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], r14
je 0x14002518b
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 0x140025130
jmp 0x140025196
mov ebx, 1
xor r15d, r15d
mov ebp, r13d
jmp 0x1400251db
mov edi, 1
xor r15d, r15d
mov ebp, r13d
test byte [rsp + 0x20], 1
lea r14, [0x1402a29e0]
je 0x1400251c4
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, [0x1402a28c0]
lea rdi, [0x1402a29c0]
xor eax, eax
cmp rbx, r12
jne 0x140025256
test r15b, 1
jne 0x140025256
sub ebp, dword [rdi + r12*4]
cmp ebp, 0x10ffff
ja 0x140025256
cmp dword [r14 + r12*4], ebp
ja 0x140025267
cmp r13b, 0xf0
jb 0x140025230
cmp r10, qword [rsp + 0x10]
je 0x140025267
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 0x140025235
mov word [r8 + r10*2], bp
add rsi, r12
inc r10
cmp rsi, rdx
setl al
jge 0x14002524c
cmp r10, r9
jl 0x140025090
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 0x140025256

Function at 0x1400268e0
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x60
mov rax, qword [0x1403a1f58]
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.14025cd50
mov rax, rsi
add rsp, 0x60
pop rsi
ret
Function at 0x140026920
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 0x14002696a
mov rbx, rax
mov ecx, reloc.WS2_32.dll_recv
call fcn.14025cfd8
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 0x140036930
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 0x140036a3e
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 0x140036a17
jne 0x140036996
xor edi, edi
jmp 0x1400369ee
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 0x1400369b0
test sil, 1
je 0x140036a17
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
cmp r10b, 0xff
sete r8b
mov r10, r8
neg r10
inc eax
neg r8d
and r8d, eax
sub r9, r8
mov qword [rdx], r9
mov qword [rcx], r10
mov eax, 1
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140036a50
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 [0x1403a1f58]
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 0x140036ab3
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8, rsi
call fcn.140260660
cmp r15, r12
jae 0x140036c5d
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
movzx r10d, r10b
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 0x140036ae0
cmp rsi, 2
jb 0x140036c69
mov r8, rsi
and r8, 0xfffffffffffffffe
mov r9d, 1
lea r10, [rsp + 0x30]
lea r11, [rsp + 0x70]
jmp 0x140036b92
add r9, r9
shr rax, 1
mov r11, rdx
cmp r9, rsi
jae 0x140036c73
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 0x140036be8
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 0x140036c30
mov r15d, 0
cmp r14, rsi
jb 0x140036bf6
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 0x140036bc0
mov r15, rsi
jmp 0x140036bc0
test sil, 1
je 0x140036b80
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 0x140036b80
xor eax, eax
cmp rsi, 2
jae 0x140036b5a
test rsi, rsi
je 0x140036c80
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x28]
mov r8, rsi
call fcn.14025fe70
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14025cd50
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14003e100
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 [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
lea r14, [rsp + 0xc0]
mov edx, 0x20
mov rcx, r8
mov r8, r14
call fcn.140069170
and byte [rsp + 0xc0], 0xf8
movzx eax, byte [rsp + 0xdf]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0xdf], al
lea r8, [0x1402a9230]
lea r15, [rsp + 0x20]
mov rcx, r15
mov rdx, r14
call fcn.14003c600
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.140043170
lea r12, [rsp + 0x150]
mov rcx, r12
mov rdx, r15
mov r8, r14
call fcn.140045bc0
lea rdx, [rsp + 0x48]
lea r15, [rsp + 0x100]
mov rcx, r15
mov r8, r14
call fcn.140045bc0
mov rcx, rdi
mov rdx, r15
call fcn.140038800
lea rcx, [rsp + 0x180]
mov rdx, r12
call fcn.140038800
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.14025cd50
nop
add rsp, 0x1a8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140041b20
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 [0x1403a1f58]
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, [0x1402a9230]
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x140]
call fcn.14003c600
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.140043170
lea rdx, [rsp + 0x78]
mov rcx, rdi
mov r8, rdi
call fcn.140045bc0
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
call fcn.140038800
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.14025cd50
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14004c9e0
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 [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x28]
mov r8d, 6
call fcn.140032b00
xor edi, edi
test eax, eax
je 0x14004cb97
lea rcx, [rsp + 0x28]
call fcn.140029b00
movzx r15d, byte [reloc.WS2_32.dll_htons]
cmp rax, r15
jne 0x14004ca65
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032310
lea r14, [0x1402ab9f0]
test r15b, r15b
je 0x14004cb8d
lea rdx, [0x1402ab9f4]
mov rcx, rax
mov r8, rbx
call fcn.14025fd70
test eax, eax
je 0x14004cb8d
lea rcx, [rsp + 0x28]
call fcn.140029b00
movzx r15d, byte [reloc.WS2_32.dll_getsockopt]
cmp rax, r15
jne 0x14004cab3
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032310
lea r14, [0x1402ab658]
test r15b, r15b
je 0x14004cb8d
lea rdx, [0x1402ab65c]
mov rcx, rax
mov r8, rbx
call fcn.14025fd70
test eax, eax
je 0x14004cb8d
lea rcx, [rsp + 0x28]
call fcn.140029b00
movzx r15d, byte [reloc.WS2_32.dll_getsockopt]
cmp rax, r15
jne 0x14004cb01
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032310
lea r14, [0x1402ab4c8]
test r15b, r15b
je 0x14004cb8d
lea rdx, [0x1402ab4cc]
mov rcx, rax
mov r8, rbx
call fcn.14025fd70
test eax, eax
je 0x14004cb8d
lea rcx, [rsp + 0x28]
call fcn.140029b00
movzx r15d, byte [reloc.WS2_32.dll_closesocket]
cmp rax, r15
jne 0x14004cb47
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032310
lea r14, [0x1402ab7e8]
test r15b, r15b
je 0x14004cb8d
lea rdx, [0x1402ab7ec]
mov rcx, rax
mov r8, rbx
call fcn.14025fd70
test eax, eax
je 0x14004cb8d
lea rcx, [rsp + 0x28]
call fcn.140029b00
movzx r15d, byte [reloc.WS2_32.dll_closesocket]
cmp rax, r15
jne 0x14004cb97
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140032310
lea r14, [0x1402abb80]
test r15b, r15b
je 0x14004cb8d
lea rdx, [0x1402abb84]
mov rcx, rax
mov r8, rbx
call fcn.14025fd70
test eax, eax
jne 0x14004cb97
mov eax, dword [r14]
mov dword [rsi], eax
mov edi, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14025cd50
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1400509d0
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 [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rcx, r12
call fcn.14004c6b0
mov rbx, rax
lea r13, [rsp + 0x50]
mov rcx, r13
call fcn.140075290
mov qword [rsp + 0x20], 0
mov rcx, r13
mov rdx, r15
mov r8, r14
mov r9, r12
call fcn.1400752c0
test eax, eax
je 0x140050c89
mov rsi, qword [rsp + 0x180]
test rsi, rsi
je 0x140050c8d
mov r14, qword [rsp + 0x188]
mov ecx, 1
lea r15, [rsp + 0x50]
jmp 0x140050a8a
add r14, rsi
mov ecx, dword [rsp + 0x34]
inc ecx
mov rax, qword [rsp + 0x38]
sub rax, rsi
mov rsi, rax
je 0x140050c8d
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.1400752c0
test eax, eax
je 0x140050c89
mov rcx, r15
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
call fcn.1400755f0
test eax, eax
je 0x140050c89
mov r8d, 4
mov rcx, r15
lea rdx, [rsp + 0xbc]
call fcn.1400755f0
test eax, eax
je 0x140050c89
mov rcx, r15
lea rdx, [rsp + 0xc0]
xor r8d, r8d
call fcn.140075610
test eax, eax
je 0x140050c89
test rbx, rbx
je 0x140050b31
mov rcx, r14
lea rdx, [rsp + 0xc0]
mov r8, rsi
call fcn.14025fe70
cmp dword [rsp + 0x170], 2
jb 0x140050a70
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 0x140050b71
inc r12d
cmp r12d, dword [rsp + 0x170]
je 0x140050a70
mov qword [rsp + 0x20], 0
mov rcx, r15
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1400752c0
test eax, eax
je 0x140050c89
mov rcx, r15
lea rdx, [rsp + 0xc0]
mov r8, rbx
call fcn.1400755f0
test eax, eax
je 0x140050c89
mov rcx, r15
lea rdx, [rsp + 0xc0]
xor r8d, r8d
call fcn.140075610
test eax, eax
je 0x140050c89
test rbx, rbx
je 0x140050b60
cmp rsi, 8
jae 0x140050be0
xor eax, eax
jmp 0x140050c70
cmp rsi, 0x20
jae 0x140050bea
xor ecx, ecx
jmp 0x140050c40
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 0x140050bf0
cmp rbp, r13
je 0x140050b60
mov rcx, r13
mov rax, r13
test bpl, 0x18
je 0x140050c70
nop word cs:[rax + rax]
mov rax, qword [rsp + rcx + 0xc0]
xor qword [r14 + rcx], rax
add rcx, 8
cmp rdi, rcx
jne 0x140050c40
mov rax, rdi
cmp rbp, rdi
je 0x140050b60
nop word cs:[rax + rax]
movzx ecx, byte [rsp + rax + 0xc0]
xor byte [r14 + rax], cl
inc rax
cmp rbp, rax
jne 0x140050c70
jmp 0x140050b60
xor esi, esi
jmp 0x140050c9b
xor esi, esi
cmp dword [rsp + 0x170], 0
setne sil
lea rcx, [rsp + 0x50]
call fcn.1400756d0
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.14025cd50
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 0x140056550
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 0x1400565ba
xor r11d, r11d
nop dword [rax + rax]
mov rbx, qword [r8 + r11*8]
mov rsi, qword [rcx + r11*8]
mov rdi, rsi
xor rdi, rbx
mov r14d, eax
lea rax, [rdi - 1]
mov r15, rsi
sub r15, rbx
xor r15, rsi
or r15, rdi
not rdi
and rax, rdi
sar rax, 0x3f
xor r15, rsi
sar r15, 0x3f
or r15, 1
and r14d, eax
not rax
and rax, r15
or rax, r14
inc r11
cmp r10, r11
jne 0x140056570
mov r11, rdx
sub r11, r9
jae 0x1400565d6
mov r11, r9
sub r11, rdx
cmp r11, 4
jae 0x1400565f1
xor r10d, r10d
mov rcx, rdx
jmp 0x140056650
jbe 0x140056705
cmp r11, 4
jae 0x140056677
xor r10d, r10d
mov r8, r9
jmp 0x1400566e0
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
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 0x140056610
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r11, rsi
je 0x14005665c
nop word cs:[rax + rax]
or r10, qword [r8 + rcx*8]
inc rcx
cmp r9, rcx
jne 0x140056650
mov rcx, r10
not rcx
dec r10
and r10, rcx
sar r10, 0x3f
not r10d
or eax, r10d
jmp 0x140056705
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 0x1400566a0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r11, rsi
je 0x1400566ec
nop word cs:[rax + rax]
or r10, qword [rcx + r8*8]
inc r8
cmp rdx, r8
jne 0x1400566e0
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 0x1400568b0
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 0x1400568d7
mov r10, qword [rdx]
mov rsi, rax
sub rsi, r8
cmp rsi, 4
jae 0x1400568dc
xor r9d, r9d
mov r11, r8
jmp 0x140056940
xor r9d, r9d
jmp 0x14005694c
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 0x140056900
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r9, xmm0
cmp rsi, rdi
je 0x14005694c
nop word cs:[rax + rax]
or r9, qword [r10 + r11*8]
inc r11
cmp rax, r11
jne 0x140056940
cmp eax, r8d
jge 0x1400569dc
mov r10, qword [rcx]
mov rsi, r8
sub rsi, rax
cmp rsi, 4
jae 0x140056969
mov r11, rax
jmp 0x1400569d0
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 0x140056990
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r9, xmm1
cmp rsi, rdi
je 0x1400569dc
nop word cs:[rax + rax]
or r9, qword [r10 + r11*8]
inc r11
cmp r8, r11
jne 0x1400569d0
cmp r8d, eax
cmovl eax, r8d
test eax, eax
jle 0x140056a93
mov r8, qword [rcx]
mov r10, qword [rdx]
mov r11d, eax
cmp eax, 4
jae 0x140056a00
xor eax, eax
jmp 0x140056a80
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 0x140056a30
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r9, xmm0
cmp rax, r11
je 0x140056a93
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 0x140056a80
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 0x140062f70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov edx, dword [rcx + 8]
test edx, edx
jle 0x1400630eb
mov rcx, qword [rcx]
shl rdx, 6
xor r8d, r8d
xor eax, eax
xor r9d, r9d
nop word cs:[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 0x140062fa0
jmp 0x1400630ed
xor eax, eax
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret