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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r13, rdx
mov rsi, rcx
mov r14d, r8d
mov ebp, r9d
call fcn.1400b9a60
mov edx, eax
lea r12d, [rax + 0xe]
add edx, 7
cmovns r12d, edx
mov edx, dword [rsp + 0xb0]
sar r12d, 3
test edx, edx
jne 0x1400b9c40
mov ebx, dword [rsi + 0x10]
lea edx, [r12*8]
mov edi, ebx
neg edi
sbb dil, dil
cmp edx, eax
je 0x1400b9e08
add r12d, ebx
mov r15d, ebx
jmp 0x1400b9c47
xor edi, edi
xor r15d, r15d
xor ebx, ebx
cmp r14d, 0xffffffff
je 0x1400b9c59
cmp r14d, r12d
jl 0x1400b9d00
mov r12d, r14d
mov eax, dword [rsi + 0xc]
shl eax, 3
cdqe
test rax, rax
je 0x1400b9de8
movsxd r10, r12d
cmp ebp, 1
je 0x1400b9d70
lea r9, [rax - 1]
mov eax, dword [rsi + 8]
lea r11, [r13 + r10 - 1]
shl eax, 3
cdqe
test r10, r10
je 0x1400b9e20
mov r8, rax
sub r10, rax
xor edx, edx
neg r8
nop dword [rax + rax]
mov rbp, qword [rsi]
mov rax, rdx
mov ecx, edx
and rax, 0xfffffffffffffff8
and ecx, 7
mov rax, qword [rbp + rax]
shl ecx, 3
shr rax, cl
mov rcx, r8
sar rcx, 0x3f
and eax, ecx
xor eax, edi
add al, bl
mov byte [r11], al
mov rax, rdx
setb bl
add r8, 1
sub rax, r9
movzx ebx, bl
sub r11, 1
shr rax, 0x3f
add rdx, rax
cmp r10, r8
jne 0x1400b9ca0
mov eax, r12d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0x10]
movdqu xmm0, xmmword [rsi]
mov qword [rsp + 0x30], rax
movaps xmmword [rsp + 0x20], xmm0
mov eax, dword [rsp + 0x28]
test eax, eax
jle 0x1400b9d43
mov rcx, qword [rsp + 0x20]
movsxd rdx, eax
lea rdx, [rcx + rdx*8]
nop word cs:[rax + rax]
sub rdx, 8
cmp qword [rdx], 0
jne 0x1400b9d3f
sub eax, 1
jne 0x1400b9d30
mov dword [rsp + 0x28], eax
lea rcx, [rsp + 0x20]
call fcn.1400b9a60
lea edx, [rax + 0xe]
add eax, 7
cmovs eax, edx
sar eax, 3
add eax, r15d
cmp eax, r14d
jle 0x1400b9c56
mov r12d, 0xffffffff
jmp 0x1400b9cea
lea r9, [rax - 1]
mov eax, dword [rsi + 8]
shl eax, 3
cdqe
test r10, r10
je 0x1400b9e20
mov r8, rax
sub r10, rax
lea r11, [r13 + rax]
xor edx, edx
neg r8
nop dword [rax]
mov r13, qword [rsi]
mov rax, rdx
mov ecx, edx
and rax, 0xfffffffffffffff8
and ecx, 7
mov rax, qword [r13 + rax]
shl ecx, 3
shr rax, cl
mov rcx, r8
sar rcx, 0x3f
and eax, ecx
xor eax, edi
add al, bl
mov byte [r11 + r8], al
mov rax, rdx
setb bl
add r8, 1
sub rax, r9
movzx ebx, bl
shr rax, 0x3f
add rdx, rax
cmp r10, r8
jne 0x1400b9d98
jmp 0x1400b9cea
test r12d, r12d
je 0x1400b9cea
movsxd r8, r12d
xor edx, edx
mov rcx, r13
call sub.msvcrt.dll_memset
jmp 0x1400b9cea
xor r15d, r15d
test ebx, ebx
sete r15b
add r12d, r15d
jmp 0x1400b9c47
xor r12d, r12d
jmp 0x1400b9cea
Function at 0x1400bad90
Capabilities:
Encode data using xor

Disassembly:
mov r10, rcx
mov rax, r8
sub rcx, 1
mov r8d, dword [rdx + 8]
not r10
and r10, rcx
mov ecx, dword [rax + 8]
shr r10, 0x3f
xor ecx, r8d
sub r10, 1
movsxd rcx, ecx
and rcx, r10
xor r8d, ecx
mov dword [rdx + 8], r8d
mov r8d, dword [rdx + 0x10]
xor dword [rax + 8], ecx
mov ecx, dword [rax + 0x10]
xor ecx, r8d
movsxd rcx, ecx
and rcx, r10
xor r8d, ecx
mov dword [rdx + 0x10], r8d
mov r8d, dword [rdx + 0x14]
xor dword [rax + 0x10], ecx
mov ecx, dword [rax + 0x14]
xor ecx, r8d
and rcx, r10
and ecx, 4
xor r8d, ecx
mov dword [rdx + 0x14], r8d
xor dword [rax + 0x14], ecx
test r9d, r9d
jle 0x1400baea1
mov r8, qword [rdx]
mov r11, qword [rax]
lea rax, [r8 + 0xf]
sub rax, r11
cmp rax, 0x1e
jbe 0x1400baea8
cmp r9d, 1
je 0x1400baea8
mov ecx, r9d
movq xmm2, r10
mov rdx, r8
mov rax, r11
shr ecx, 1
punpcklqdq xmm2, xmm2
sub ecx, 1
shl rcx, 4
lea rcx, [r8 + rcx + 0x10]
movdqu xmm3, xmmword [rdx]
movdqu xmm0, xmmword [rax]
add rdx, 0x10
add rax, 0x10
pxor xmm0, xmm3
movdqa xmm1, xmm3
pand xmm0, xmm2
pxor xmm1, xmm0
movups xmmword [rdx - 0x10], xmm1
movdqu xmm4, xmmword [rax - 0x10]
pxor xmm0, xmm4
movups xmmword [rax - 0x10], xmm0
cmp rcx, rdx
jne 0x1400bae40
mov eax, r9d
and eax, 0xfffffffe
and r9d, 1
je 0x1400baea1
shl rax, 3
add r8, rax
add rax, r11
mov rcx, qword [r8]
mov rdx, qword [rax]
xor rdx, rcx
and rdx, r10
xor rcx, rdx
mov qword [r8], rcx
xor qword [rax], rdx
ret
movsxd r9, r9d
xor eax, eax
nop dword [rax]
mov rcx, qword [r8 + rax*8]
mov rdx, qword [r11 + rax*8]
xor rdx, rcx
and rdx, r10
xor rcx, rdx
mov qword [r8 + rax*8], rcx
xor qword [r11 + rax*8], rdx
add rax, 1
cmp r9, rax
jne 0x1400baeb0
ret
Function at 0x1400ea600
Capabilities:
Encrypt data using curve25519

Disassembly:
push r14
push r13
push r12
push rbx
sub rsp, 0x178
movdqu xmm4, xmmword [rdx + 0x10]
movdqu xmm3, xmmword [rdx]
movaps xmmword [rsp + 0x30], xmm4
movzx eax, byte [rsp + 0x3f]
mov r12, rcx
lea r14, [rsp + 0x20]
lea rcx, [rsp + 0xd0]
mov rdx, r14
movaps xmmword [rsp + 0x20], xmm3
lea rbx, [rsp + 0xa0]
and eax, 0x7f
and byte [rsp + 0x20], 0xf8
lea r13, [rsp + 0x40]
or eax, 0x40
mov byte [rsp + 0x3f], al
call fcn.1400e5e50
lea rdx, [rsp + 0x70]
mov rcx, rbx
movdqu xmm0, xmmword [rsp + 0xf8]
paddd xmm0, xmmword [rsp + 0x120]
movq xmm2, qword [rsp + 0x118]
movdqu xmm5, xmmword [rsp + 0xf8]
movdqu xmm3, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0x40], xmm0
movdqu xmm0, xmmword [rsp + 0x108]
paddd xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x50], xmm0
movq xmm0, qword [rsp + 0x140]
movdqa xmm1, xmm0
psubd xmm0, xmm2
paddd xmm1, xmm2
movq qword [rsp + 0x90], xmm0
movq qword [rsp + 0x60], xmm1
movdqa xmm1, xmmword [rsp + 0x120]
psubd xmm1, xmm5
movaps xmmword [rsp + 0x70], xmm1
movdqa xmm1, xmmword [rsp + 0x130]
psubd xmm1, xmm3
movaps xmmword [rsp + 0x80], xmm1
call fcn.1400e2920
mov r8, rbx
mov rdx, r13
mov rcx, r13
call fcn.1400e1b50
mov rdx, r13
mov rcx, r12
call fcn.1400e1750
mov edx, 0x20
mov rcx, r14
call fcn.1400186f0
nop
add rsp, 0x178
pop rbx
pop r12
pop r13
pop r14
ret
Function at 0x14013d0f0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov eax, dword [0x1404188a0]
test eax, eax
je 0x14013d120
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rbx, [0x140418840]
mov r8d, 0x30
mov dword [0x1404188a0], 1
lea rcx, str.OPENSSL_ia32cap
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
sub eax, 1
cmp eax, 0x2e
ja 0x14013d2f0
movzx ebp, word [0x140418840]
xor eax, eax
mov esi, 0xa
cmp bp, 0x7e
sete al
lea rbx, [rbx + rax*2]
cmp word [rbx], 0x30
je 0x14013d350
xor r13d, r13d
mov edi, esi
jmp 0x14013d190
sub r12d, 0x30
cmp esi, r12d
jbe 0x14013d1b9
imul r13, rdi
add r13, r12
movzx r12d, word [rbx]
add rbx, 2
mov ecx, r12d
call fcn.14013d410
test eax, eax
jne 0x14013d180
mov edx, 0x10
mov ecx, r12d
call fcn.14013d3f0
test eax, eax
jne 0x14013d2b0
cmp bp, 0x7e
je 0x14013d308
movzx r15d, word [0x140418840]
mov rbp, qword [0x1403dc320]
cmp r15w, 0x3a
je 0x14013d388
test r15w, r15w
je 0x14013d2e0
lea rax, [0x140418840]
jmp 0x14013d1fe
add rax, 2
test r15w, r15w
je 0x14013d2e0
mov edx, r15d
movzx r15d, word [rax + 2]
cmp dx, 0x3a
jne 0x14013d1f0
xor edx, edx
cmp r15w, 0x7e
sete dl
lea rbx, [rax + rdx*2 + 2]
cmp word [rbx], 0x30
je 0x14013d3c0
mov esi, 0xa
xor r14d, r14d
mov edi, esi
jmp 0x14013d248
sub r12d, 0x30
cmp esi, r12d
jbe 0x14013d26d
imul r14, rdi
add r14, r12
movzx r12d, word [rbx]
add rbx, 2
mov ecx, r12d
call fcn.14013d410
test eax, eax
jne 0x14013d238
mov edx, 0x10
mov ecx, r12d
call fcn.14013d3f0
test eax, eax
jne 0x14013d2c8
movq xmm0, qword [0x1403a2c00]
movq xmm2, r14
pxor xmm0, xmm2
cmp r15w, 0x7e
je 0x14013d370
mov qword [rbp + 8], r14
mov eax, r13d
shr r13, 0x20
or ah, 4
movd xmm3, r13d
movd xmm0, eax
punpckldq xmm0, xmm3
movq qword [rbp], xmm0
jmp 0x14013d10a
mov ecx, r12d
call fcn.14013d440
lea r12d, [rax - 0x57]
jmp 0x14013d184
mov ecx, r12d
call fcn.14013d440
lea r12d, [rax - 0x57]
jmp 0x14013d23c
mov qword [rbp + 8], 0
jmp 0x14013d28d
mov rbp, qword [0x1403dc320]
mov rcx, rbp
call fcn.1400184e0
mov r13, rax
jmp 0x14013d28d
mov rbp, qword [0x1403dc320]
mov rcx, rbp
call fcn.1400184e0
mov r8, rax
mov rax, r13
not rax
and rax, r8
test r13d, 0x1000000
je 0x14013d3a0
movabs r13, 0xedfff7fdffffffff
movzx r15d, word [0x140418840]
and r13, rax
jmp 0x14013d1dd
movzx ecx, word [rbx + 2]
call fcn.14013d440
cmp eax, 0x78
je 0x14013d3b0
add rbx, 2
mov esi, 8
jmp 0x14013d176
movq xmm1, qword [rbp + 8]
pand xmm1, xmm0
movq qword [rbp + 8], xmm1
jmp 0x14013d28d
mov rcx, rbp
call fcn.1400184e0
movzx r15d, word [0x140418840]
mov r13, rax
jmp 0x14013d1dd
movzx r15d, word [0x140418840]
mov r13, rax
jmp 0x14013d1dd
add rbx, 4
mov esi, 0x10
jmp 0x14013d176
movzx ecx, word [rbx + 2]
call fcn.14013d440
cmp eax, 0x78
je 0x14013d3dc
add rbx, 2
mov esi, 8
jmp 0x14013d22a
add rbx, 4
mov esi, 0x10
jmp 0x14013d22a
Function at 0x1401f4680
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
vmovdqu xmm4, xmmword [rcx - 0x80]
vmovdqu xmm2, xmmword [r11 + 0x20]
lea r13, [rbp - 1]
vmovups xmm15, xmmword [rcx - 0x70]
lea r12, [rcx - 0x60]
vpxor xmm9, xmm1, xmm4
add ebx, 0x6000000
jb 0x1401f47a0
vpaddb xmm10, xmm1, xmm2
vpaddb xmm11, xmm10, xmm2
vpxor xmm10, xmm10, xmm4
vpaddb xmm12, xmm11, xmm2
vpxor xmm11, xmm11, xmm4
vpaddb xmm13, xmm12, xmm2
vpxor xmm12, xmm12, xmm4
vpaddb xmm14, xmm13, xmm2
vpxor xmm13, xmm13, xmm4
vpaddb xmm1, xmm14, xmm2
vpxor xmm14, xmm14, xmm4
jmp 0x1401f46e0
vaesenc xmm9, xmm9, xmm15
vaesenc xmm10, xmm10, xmm15
vaesenc xmm11, xmm11, xmm15
vaesenc xmm12, xmm12, xmm15
vaesenc xmm13, xmm13, xmm15
vaesenc xmm14, xmm14, xmm15
vmovups xmm15, xmmword [r12]
lea r12, [r12 + 0x10]
dec r13d
jne 0x1401f46e0
vmovdqu xmm3, xmmword [r12]
vaesenc xmm9, xmm9, xmm15
vpxor xmm4, xmm3, xmmword [rdi]
vaesenc xmm10, xmm10, xmm15
vpxor xmm5, xmm3, xmmword [rdi + 0x10]
vaesenc xmm11, xmm11, xmm15
vpxor xmm6, xmm3, xmmword [rdi + 0x20]
vaesenc xmm12, xmm12, xmm15
vpxor xmm8, xmm3, xmmword [rdi + 0x30]
vaesenc xmm13, xmm13, xmm15
vpxor xmm2, xmm3, xmmword [rdi + 0x40]
vaesenc xmm14, xmm14, xmm15
vpxor xmm3, xmm3, xmmword [rdi + 0x50]
lea rdi, [rdi + 0x60]
vaesenclast xmm9, xmm9, xmm4
vaesenclast xmm10, xmm10, xmm5
vaesenclast xmm11, xmm11, xmm6
vaesenclast xmm12, xmm12, xmm8
vaesenclast xmm13, xmm13, xmm2
vaesenclast xmm14, xmm14, xmm3
vmovups xmmword [rsi], xmm9
vmovups xmmword [rsi + 0x10], xmm10
vmovups xmmword [rsi + 0x20], xmm11
vmovups xmmword [rsi + 0x30], xmm12
vmovups xmmword [rsi + 0x40], xmm13
vmovups xmmword [rsi + 0x50], xmm14
lea rsi, [rsi + 0x60]
repz ret
vpshufb xmm6, xmm1, xmm0
vmovdqu xmm5, xmmword [r11 + 0x30]
vpaddd xmm10, xmm6, xmmword [r11 + 0x40]
vpaddd xmm11, xmm6, xmm5
vpaddd xmm12, xmm10, xmm5
vpshufb xmm10, xmm10, xmm0
vpaddd xmm13, xmm11, xmm5
vpshufb xmm11, xmm11, xmm0
vpxor xmm10, xmm10, xmm4
vpaddd xmm14, xmm12, xmm5
vpshufb xmm12, xmm12, xmm0
vpxor xmm11, xmm11, xmm4
vpaddd xmm1, xmm13, xmm5
vpshufb xmm13, xmm13, xmm0
vpxor xmm12, xmm12, xmm4
vpshufb xmm14, xmm14, xmm0
vpxor xmm13, xmm13, xmm4
vpshufb xmm1, xmm1, xmm0
vpxor xmm14, xmm14, xmm4
jmp 0x1401f46e0
Function at 0x1401f8260
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc8]
mov rbx, rcx
mov rdi, rdx
mov r12, r9
test r8, r8
je 0x1401f82e3
lea r13, [rcx + r8]
mov ecx, dword [rsp + 0xc0]
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
test ecx, ecx
jne 0x1401f82f0
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rsi
add rbx, 1
mov qword [rsp + 0x28], rdx
mov rdx, rsi
add rdi, 1
call rbp
movzx eax, byte [rbx - 1]
movzx edx, byte [rsi]
xor edx, eax
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x21]
mov byte [rdi - 1], dl
mov rdx, qword [rsp + 0x29]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
cmp r13, rbx
jne 0x1401f82a0
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rsi
add rbx, 1
mov qword [rsp + 0x28], rdx
mov rdx, rsi
add rdi, 1
call rbp
movzx eax, byte [rbx - 1]
xor al, byte [rsi]
mov byte [rdi - 1], al
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x21]
mov rdx, qword [rsp + 0x29]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
cmp rbx, r13
jne 0x1401f82f0
jmp 0x1401f82e3
Function at 0x1401f9160
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rax, qword [0x1403dc320]
mov eax, dword [rax + 4]
mov r12, rcx
mov r13, rdx
mov rdi, r8
mov rsi, r9
test al, 2
jne 0x1401f91c8
xor ebx, ebx
xor ebp, ebp
test r9, r9
je 0x1401f91b4
movdqu xmm0, xmmword [rdi + rbx]
movdqu xmm1, xmmword [r12]
add rbx, 0x10
mov rdx, r13
mov rcx, r12
pxor xmm0, xmm1
movups xmmword [r12], xmm0
call rbp
cmp rsi, rbx
ja 0x1401f918f
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
shr eax, 0x16
lea rdx, [0x1401fc1a0]
and eax, 0x41
cmp eax, 0x41
lea rax, [0x1401fca60]
cmovne rax, rdx
mov rdx, r13
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp rax
Function at 0x1401fafd0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0x30]
lea rdi, [rax*8]
mov rax, qword [rcx + 0x38]
mov rbx, rcx
mov r12, rdx
lea r13, [rcx + 0x190]
mov rbp, r8
lea rsi, [rax*8]
mov eax, dword [rcx + 0x178]
lea r15, [rcx + 0x60]
lea r14, [rcx + 0x40]
test eax, eax
jne 0x1401fb0c0
mov eax, dword [rcx + 0x17c]
test eax, eax
jne 0x1401fb0a0
mov rcx, r13
mov r9d, 0x10
mov rdx, rdi
mov rax, rsi
mov r8, r13
bswap rdx
bswap rax
mov qword [rcx], rdx
mov rdx, r15
mov qword [rcx + 8], rax
mov rcx, r14
call qword [rbx + 0x168]
movdqu xmm0, xmmword [rbx + 0x40]
movdqu xmm1, xmmword [rbx + 0x20]
pxor xmm0, xmm1
movups xmmword [rbx + 0x40], xmm0
test r12, r12
je 0x1401fb128
cmp rbp, 0x10
ja 0x1401fb128
mov r8, rbp
mov rdx, r12
mov rcx, r14
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140018760
mov rcx, r14
mov rdx, r15
call qword [rbx + 0x170]
mov rcx, r13
mov r9d, 0x10
jmp 0x1401fb031
lea r9d, [rax + 0xf]
mov ecx, eax
xor edx, edx
and r9d, 0xfffffff0
add rcx, r13
mov r8d, r9d
mov dword [rsp + 0x2c], r9d
sub r8d, eax
call sub.msvcrt.dll_memset
mov r9d, dword [rsp + 0x2c]
cmp r9d, 0x30
je 0x1401fb100
mov ecx, r9d
add r9d, 0x10
add rcx, r13
jmp 0x1401fb031
mov r9d, 0x30
mov rcx, r14
mov r8, r13
mov rdx, r15
call qword [rbx + 0x168]
mov rcx, r13
mov r9d, 0x10
jmp 0x1401fb031
mov eax, 0xffffffff
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1401fd600
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rdi, qword [rcx + 0x28]
mov rax, qword [rcx + 0x58]
mov rbx, rcx
mov rsi, rdx
cmp rdi, rdx
jae 0x1401fd7ec
mov rcx, qword [rcx + 0x30]
cmp rcx, rdx
jbe 0x1401fd7b3
lea r11, [rdi + 1]
mov r10, r11
shl r10, 4
jmp 0x1401fd648
mov rax, qword [rbx + 0x58]
add r11, 1
lea rdx, [rax + r10]
lea rax, [rax + r10 - 0x10]
movzx r9d, byte [rax + 0xf]
movzx r8d, byte [rax + 0xe]
movzx ecx, byte [rax]
lea ebp, [r8 + r8]
lea edi, [r9 + r9]
sar r9d, 7
sar r8d, 7
or r9d, ebp
sar cl, 7
mov byte [rdx + 0xe], r9b
movzx r9d, byte [rax + 0xd]
and ecx, 0xffffff87
lea ebp, [r9 + r9]
sar r9d, 7
or r8d, ebp
mov byte [rdx + 0xd], r8b
movzx r8d, byte [rax + 0xc]
lea ebp, [r8 + r8]
sar r8d, 7
or r9d, ebp
mov byte [rdx + 0xc], r9b
movzx r9d, byte [rax + 0xb]
lea ebp, [r9 + r9]
sar r9d, 7
or r8d, ebp
mov byte [rdx + 0xb], r8b
movzx r8d, byte [rax + 0xa]
lea ebp, [r8 + r8]
sar r8d, 7
or r9d, ebp
mov byte [rdx + 0xa], r9b
movzx r9d, byte [rax + 9]
lea ebp, [r9 + r9]
sar r9d, 7
or r8d, ebp
mov byte [rdx + 9], r8b
movzx r8d, byte [rax + 8]
lea ebp, [r8 + r8]
sar r8d, 7
or r9d, ebp
mov byte [rdx + 8], r9b
movzx r9d, byte [rax + 7]
lea ebp, [r9 + r9]
sar r9d, 7
or r8d, ebp
mov byte [rdx + 7], r8b
movzx r8d, byte [rax + 6]
lea ebp, [r8 + r8]
sar r8d, 7
or r9d, ebp
mov byte [rdx + 6], r9b
movzx r9d, byte [rax + 5]
lea ebp, [r9 + r9]
sar r9d, 7
or r8d, ebp
mov byte [rdx + 5], r8b
movzx r8d, byte [rax + 4]
lea ebp, [r8 + r8]
sar r8d, 7
or r9d, ebp
mov byte [rdx + 4], r9b
movzx r9d, byte [rax + 3]
lea ebp, [r9 + r9]
sar r9d, 7
or r8d, ebp
mov byte [rdx + 3], r8b
movzx r8d, byte [rax + 2]
lea ebp, [r8 + r8]
sar r8d, 7
or r9d, ebp
mov byte [rdx + 2], r9b
movzx r9d, byte [rax + 1]
lea ebp, [r9 + r9]
sar r9d, 7
or r8d, ebp
mov byte [rdx + 1], r8b
movzx eax, byte [rax]
add eax, eax
or eax, r9d
xor ecx, edi
add r10, 0x10
mov byte [rdx], al
mov byte [rdx + 0xf], cl
cmp r11, rsi
jne 0x1401fd640
mov rax, qword [rbx + 0x58]
mov qword [rbx + 0x28], r11
shl r11, 4
add rax, r11
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rdx, [rdx + 4]
mov r9d, 0x71
lea r8, str.crypto_modes_ocb128.c
sub rdx, rcx
and rdx, 0xfffffffffffffffc
add rdx, rcx
mov rcx, rax
mov qword [rbx + 0x30], rdx
shl rdx, 4
call fcn.14000e5b0
test rax, rax
je 0x1401fd7aa
mov qword [rbx + 0x58], rax
jmp 0x1401fd62c
shl rsi, 4
add rax, rsi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x140224f60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rdi, [rdi + 0x64]
sub rsp, 0xe8
mov r9, rsi
lea rsi, [rsp + 0x64]
not qword [rdi - 0x5c]
not qword [rdi - 0x54]
not qword [rdi - 0x24]
not qword [rdi - 4]
not qword [rdi + 0x24]
not qword [rdi + 0x3c]
lea r15, [0x140225140]
mov qword [rsi + 0x74], rcx
cmp rdx, rcx
jb 0x140225000
shr rcx, 3
lea r8, [rdi - 0x64]
mov rax, qword [r9]
lea r9, [r9 + 8]
xor rax, qword [r8]
lea r8, [r8 + 8]
sub rdx, 8
mov qword [r8 - 8], rax
sub rcx, 1
jne 0x140224fc6
mov qword [rsi + 0x64], r9
mov qword [rsi + 0x6c], rdx
call fcn.140224c00
mov r9, qword [rsi + 0x64]
mov rdx, qword [rsi + 0x6c]
mov rcx, qword [rsi + 0x74]
jmp 0x140224fb9
mov rax, rdx
not qword [rdi - 0x5c]
not qword [rdi - 0x54]
not qword [rdi - 0x24]
not qword [rdi - 4]
not qword [rdi + 0x24]
not qword [rdi + 0x3c]
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rbp
pop rbx
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
Function at 0x140244520
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
movdqu xmm0, xmmword [rcx + 8]
movdqu xmm1, xmmword [rcx + 0x18]
mov eax, dword [rcx + 0x28]
add qword [rcx], r8
movhlps xmm2, xmm0
movhlps xmm3, xmm1
movq rdi, xmm0
movq rsi, xmm2
movq r14, xmm3
movq r13, xmm1
mov rbx, rcx
mov r12, rdx
mov rbp, r8
test eax, eax
je 0x140244604
mov r15d, 8
lea rcx, [rcx + rax + 0x38]
sub r15d, eax
cmp r8, r15
jb 0x1402446ed
mov r8, r15
sub rbp, r15
add r12, r15
call sub.msvcrt.dll_memcpy
mov r8, qword [rbx + 0x38]
mov r9d, dword [rbx + 0x30]
mov rax, r14
xor rax, r8
test r9d, r9d
je 0x1402445e5
xor ecx, ecx
nop dword [rax]
add rdi, rsi
rol rsi, 0xd
lea rdx, [r13 + rax]
add ecx, 1
xor rsi, rdi
rol rax, 0x10
xor rax, rdx
rol rdi, 0x20
add rdx, rsi
rol rsi, 0x11
add rdi, rax
rol rax, 0x15
xor rsi, rdx
rol rdx, 0x20
xor rax, rdi
mov r13, rdx
cmp ecx, r9d
jne 0x1402445a8
xor r8, rdi
movq xmm1, r13
movq xmm2, rax
movq xmm0, r8
movq xmm3, rsi
punpcklqdq xmm1, xmm2
punpcklqdq xmm0, xmm3
movhlps xmm4, xmm1
movhlps xmm5, xmm0
movq rdi, xmm1
mov r11d, ebp
and rbp, 0xfffffffffffffff8
movq rax, xmm4
movq rdx, xmm5
and r11d, 7
lea r10, [r12 + rbp]
movq rsi, xmm0
cmp r12, r10
je 0x1402446b0
mov r8d, dword [rbx + 0x30]
nop word cs:[rax + rax]
mov r9, qword [r12]
xor rax, r9
test r8d, r8d
je 0x140244688
xor ecx, ecx
nop
add rsi, rdx
add rdi, rax
rol rdx, 0xd
add ecx, 1
rol rax, 0x10
xor rdx, rsi
rol rsi, 0x20
xor rax, rdi
add rdi, rdx
rol rdx, 0x11
add rsi, rax
rol rax, 0x15
xor rdx, rdi
xor rax, rsi
rol rdi, 0x20
cmp r8d, ecx
jne 0x140244650
add r12, 8
xor rsi, r9
cmp r10, r12
jne 0x140244640
movq xmm0, rsi
movq xmm4, rdx
movq xmm1, rdi
movq xmm5, rax
punpcklqdq xmm0, xmm4
punpcklqdq xmm1, xmm5
test r11d, r11d
jne 0x1402446d2
mov dword [rbx + 0x28], r11d
movups xmmword [rbx + 8], xmm0
movups xmmword [rbx + 0x18], xmm1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [rbx + 0x38]
xor eax, eax
mov edx, eax
add eax, 1
movzx ecx, byte [r10 + rdx]
mov byte [r8 + rdx], cl
cmp eax, r11d
jb 0x1402446d8
jmp 0x1402446b5
call sub.msvcrt.dll_memcpy
add dword [rbx + 0x28], ebp
jmp 0x1402446c1
Function at 0x1402786d0
Capabilities:
Get thread local storage value

Disassembly:
lea rcx, [0x140418bf4]
jmp fcn.140018390
Function at 0x140280430
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov r13, rcx
mov r12, rdx
mov rcx, r8
mov edx, 4
mov rbx, r8
mov rsi, r9
call fcn.1400bb180
test eax, eax
jne 0x14028047a
mov edx, 4
mov rcx, r12
call fcn.1400bb180
test eax, eax
je 0x1402804b0
mov r9, rsi
mov r8, rbx
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x80], rdi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.14027f5c0
mov edx, 4
mov rcx, rsi
call fcn.1400bb180
test eax, eax
jne 0x14028047a
mov r9, rsi
mov r8, rbx
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x80], rdi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.14027e950
Function at 0x140282ab0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
movsxd r14, dword [r9 + 8]
mov rsi, r14
mov rdi, rdx
mov edx, r14d
mov qword [rsp + 0x28], r14
mov rbx, r8
mov qword [rsp + 0x120], rcx
mov rbp, r9
call fcn.1400bb1c0
test rax, rax
je 0x140282ce0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov r12, rax
cmp r14, 0x10
ja 0x140282c78
mov rax, qword [rbp]
mov r10, qword [rdi]
mov r11, qword [rbx]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x120]
test r10, r10
cmove r10, r12
test r11, r11
mov rax, qword [rax]
cmove r11, r12
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x140282cf0
movsxd r9, dword [rdi + 8]
movsxd rax, dword [rdi + 0xc]
xor r8d, r8d
movsxd rdi, dword [rbx + 0xc]
movsxd r15, dword [rbx + 8]
xor ebx, ebx
sub rcx, r9
mov rdx, r9
lea r13, [r12 + r9*8]
mov rbp, r9
mov qword [rsp + 0x48], rdi
lea rdi, [r9 + 1]
mov r14, rcx
neg rdx
sub r9, qword [rsp + 0x48]
xor ecx, ecx
sub rbp, r15
sub rdi, rax
add r9, 1
nop dword [rax]
mov r15, rdx
lea rax, [rbp + rdx]
sar r15, 0x3f
and r15, qword [r10 + rcx*8]
add r15, rbx
setb bl
sar rax, 0x3f
and rax, qword [r11 + r8*8]
add rax, r15
movzx ebx, bl
mov qword [r13 + rdx*8], rax
lea rax, [rdi + rdx]
adc rbx, 0
shr rax, 0x3f
add rcx, rax
lea rax, [r9 + rdx]
add rdx, 1
shr rax, 0x3f
add r8, rax
cmp r14, rdx
jne 0x140282b88
mov rdi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov r9d, esi
mov rdx, r12
mov rcx, rdi
call fcn.14027c4e0
mov rdx, r12
mov rcx, rdi
sub rbx, rax
mov rax, qword [rsp + 0x28]
lea r9, [r12 + rax*8]
nop
mov r8, qword [rcx]
mov rax, qword [rdx]
add rdx, 8
add rcx, 8
xor rax, r8
and rax, rbx
xor rax, r8
mov qword [rcx - 8], rax
mov qword [rdx - 8], 0
cmp r9, rdx
jne 0x140282c00
mov rax, qword [rsp + 0x120]
mov r13d, 1
mov dword [rax + 8], esi
mov dword [rax + 0x10], 0
cmp r12, qword [rsp + 0x30]
je 0x140282c5c
mov r8d, 0x5e
lea rdx, str.crypto_bn_bn_mod.c
mov rcx, r12
call fcn.14000e580
mov eax, r13d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x28]
lea r13, str.crypto_bn_bn_mod.c
mov r8d, 0x3c
mov rdx, r13
lea rcx, [rax*8]
call fcn.14000e4c0
mov r12, rax
test rax, rax
jne 0x140282b08
call fcn.140110230
mov rcx, r13
mov edx, 0x3e
xor r13d, r13d
lea r8, str.bn_mod_add_fixed_top
call fcn.140110360
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 3
call fcn.140110450
jmp 0x140282c5c
xor r13d, r13d
jmp 0x140282c5c
mov r8, qword [rsp + 0x38]
mov rcx, rax
xor r9d, r9d
mov rdx, r12
call fcn.14027c4e0
jmp 0x140282c28