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

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x30
mov rbx, rdx
mov rsi, rcx
mov rcx, rbx
xor edx, edx
call fcn.140089320
test eax, eax
je 0x14008b0e8
xor edx, edx
mov dword [rsp + 0x20], 0xaa
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmodule_bn_montgomery.c
lea ecx, [rdx + 3]
lea r8d, [rdx + 0x69]
call fcn.14009a170
xor eax, eax
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
cmp dword [rbx + 8], 0
jle 0x14008b251
mov rax, qword [rbx]
test byte [rax], 1
je 0x14008b251
cmp dword [rbx + 0x10], 0
je 0x14008b12e
xor edx, edx
mov dword [rsp + 0x20], 0xb2
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmodule_bn_montgomery.c
lea ecx, [rdx + 3]
lea r8d, [rdx + 0x6d]
call fcn.14009a170
xor eax, eax
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
mov edx, 0x400
mov rcx, rbx
call fcn.140089320
test eax, eax
jne 0x14008b169
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmodule_bn_montgomery.c
mov dword [rsp + 0x20], 0xb6
xor edx, edx
lea ecx, [rax + 3]
lea r8d, [rax + 0x66]
call fcn.14009a170
xor eax, eax
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
mov rdx, rbx
mov qword [rsp + 0x40], rdi
lea rcx, [rsi + 0x18]
call fcn.140078b50
test rax, rax
jne 0x14008b1ae
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmodule_bn_montgomery.c
mov dword [rsp + 0x20], 0xbc
xor edx, edx
lea ecx, [rax + 3]
lea r8d, [rax + 0x44]
call fcn.14009a170
mov rdi, qword [rsp + 0x40]
xor eax, eax
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
lea rcx, [rsi + 0x18]
call fcn.14008d790
mov rax, qword [rsi + 0x18]
mov r9d, 1
xor r8d, r8d
movabs rbx, 0x8000000000000000
mov r10, qword [rax]
lea r11d, [r9 + 0x1f]
nop word [rax + rax]
shr r8, 1
mov rdx, r9
and edx, 1
neg rdx
mov rax, rdx
and rdx, rbx
add rdx, r8
and rax, r10
mov rcx, rax
shr rdx, 1
and rax, r9
xor rcx, r9
shr rcx, 1
add rcx, rax
mov r8, rcx
and r8d, 1
neg r8
mov rax, r8
and r8, rbx
and rax, r10
add r8, rdx
mov r9, rax
and rax, rcx
xor r9, rcx
shr r9, 1
add r9, rax
sub r11, 1
jne 0x14008b1e0
mov rdi, qword [rsp + 0x40]
lea eax, [r11 + 1]
mov qword [rsi + 0x30], r8
mov qword [rsi + 0x38], r11
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
xor edx, edx
mov dword [rsp + 0x20], 0xae
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmodule_bn_montgomery.c
lea ecx, [rdx + 3]
lea r8d, [rdx + 0x68]
call fcn.14009a170
mov rbx, qword [rsp + 0x48]
xor eax, eax
add rsp, 0x30
pop rsi
ret
Function at 0x14008f080
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push r15
sub rsp, 0x70
mov rax, qword [0x14023f740]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rsi, r8
mov r15, rdx
mov rdi, rcx
cmp r8, 0x30
jbe 0x14008f0ae
xor eax, eax
jmp 0x14008f230
mov qword [rsp + 0x98], rbx
xor ebx, ebx
mov qword [rsp + 0xa0], rbp
mov ebp, ebx
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r14
lea r14, [rcx + 0xf8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdi + 0x114]
lea rdx, [rsp + 0x20]
bswap eax
inc eax
lea rcx, [rdi + 0x108]
bswap eax
add rdx, rbp
mov dword [rdi + 0x114], eax
mov r8, rdi
call qword [r14]
add rbp, 0x10
cmp rbp, 0x30
jb 0x14008f0e0
mov rbp, qword [rsp + 0xa0]
test rsi, rsi
je 0x14008f177
cmp rsi, 8
jb 0x14008f153
mov rax, rsi
and rax, 0xfffffffffffffff8
nop dword [rax + rax]
movq xmm0, qword [rsp + rbx + 0x20]
movq xmm1, qword [r15 + rbx]
xorps xmm1, xmm0
movq qword [rsp + rbx + 0x20], xmm1
add rbx, 8
cmp rbx, rax
jb 0x14008f130
cmp rbx, rsi
jae 0x14008f177
lea rax, [rsp + 0x20]
sub r15, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x20]
add rcx, rbx
inc rbx
movzx eax, byte [r15 + rcx]
xor byte [rcx], al
cmp rbx, rsi
jb 0x14008f160
mov ecx, 1
call fcn.140099ea0
mov rbx, qword [rsp + 0x98]
bt eax, 0x19
jae 0x14008f1b9
mov r8, rdi
lea rcx, [rsp + 0x20]
mov edx, 0x100
call fcn.140003260
test r14, r14
je 0x14008f1b0
lea rax, section..text
mov qword [r14], rax
lea rax, [0x140001d60]
jmp 0x14008f20e
mov ecx, 1
call fcn.140099ea0
lea rcx, [rsp + 0x20]
mov r8, rdi
mov edx, 0x100
bt eax, 9
jae 0x14008f1f3
call fcn.140004350
test r14, r14
je 0x14008f1ea
lea rax, [0x140004520]
mov qword [r14], rax
lea rax, [0x140004820]
jmp 0x14008f20e
call fcn.140087860
test r14, r14
je 0x14008f207
lea rcx, [0x140086f10]
mov qword [r14], rcx
lea rax, [0x140086d60]
movups xmm0, xmmword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov qword [rdi + 0x100], rax
mov eax, 1
movups xmmword [rdi + 0x108], xmm0
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14018e930
add rsp, 0x70
pop r15
pop rdi
pop rsi
ret
Function at 0x140091270
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x30
movsxd r14, dword [rcx + 0x108]
mov rbx, r9
mov r13, r8
mov r15, rdx
mov rbp, rcx
call fcn.1400902a0
mov r10d, dword [rsp + 0x70]
xor esi, esi
mov edi, r10d
mov r9d, eax
shr rdi, 6
mov ecx, r10d
cmp rdi, r14
jb 0x1400912c3
mov edi, esi
jmp 0x1400912d0
mov rdi, qword [rbx + rdi*8]
and cl, 0x3f
shr rdi, cl
and edi, 1
add eax, r10d
mov ecx, eax
shr rax, 6
cmp rax, r14
jb 0x1400912e2
mov eax, esi
jmp 0x1400912ef
mov rax, qword [rbx + rax*8]
and cl, 0x3f
shr rax, cl
and eax, 1
add eax, eax
or edi, eax
lea eax, [r10 + r9*2]
mov ecx, eax
shr rax, 6
cmp rax, r14
jb 0x140091306
mov eax, esi
jmp 0x140091313
mov rax, qword [rbx + rax*8]
and cl, 0x3f
shr rax, cl
and eax, 1
lea eax, [rax*4]
or edi, eax
lea ecx, [r10 + r9*2]
add ecx, r9d
mov eax, ecx
shr rax, 6
cmp rax, r14
jb 0x140091332
mov eax, esi
jmp 0x14009133f
mov rax, qword [rbx + rax*8]
and cl, 0x3f
shr rax, cl
and eax, 1
lea eax, [rax*8]
or edi, eax
lea eax, [r10 + r9*4]
mov ecx, eax
shr rax, 6
cmp rax, r14
jb 0x14009135b
mov eax, esi
jmp 0x140091368
mov rax, qword [rbx + rax*8]
and cl, 0x3f
shr rax, cl
and eax, 1
shl eax, 4
xor edx, edx
or edi, eax
mov r8d, 0xd8
mov rcx, r15
call fcn.1401b9730
nop dword [rax]
mov eax, edi
inc esi
mov ebx, esi
mov r9, r15
xor rbx, rax
mov r8, r13
movsxd rax, dword [rbp + 0x148]
dec rbx
shr rbx, 0x3f
mov rcx, r15
neg rbx
mov qword [rsp + 0x20], rax
mov rdx, rbx
call fcn.14008d630
movsxd rax, dword [rbp + 0x148]
lea r8, [r13 + 0x48]
lea r9, [r15 + 0x48]
mov qword [rsp + 0x20], rax
mov rdx, rbx
lea rcx, [r15 + 0x48]
call fcn.14008d630
add r13, 0x90
cmp esi, 0x1f
jb 0x140091380
movsxd rax, dword [rbp + 0x148]
lea rcx, [r15 + 0x90]
mov edx, edi
lea r9, [rbp + 0xa0]
dec rdx
mov qword [rsp + 0x70], rax
shr rdx, 0x3f
mov r8, rcx
neg rdx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r13
jmp fcn.14008d630
Function at 0x1400991f0
Capabilities:
Encode data using xor

Disassembly:
xor r9b, r9b
xor r10d, r10d
mov r11, rcx
test r8, r8
je 0x1400992a6
sub rdx, rcx
cmp r8, 0x20
jb 0x14009928c
mov rcx, r8
lea rax, [r11 + 0x10]
and rcx, 0xffffffffffffffe0
xorps xmm3, xmm3
xorps xmm2, xmm2
movdqu xmm0, xmmword [rax - 0x10]
add r10, 0x20
movdqu xmm1, xmmword [rdx + rax - 0x10]
lea rax, [rax + 0x20]
xorps xmm1, xmm0
orps xmm3, xmm1
movdqu xmm1, xmmword [rdx + rax - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
xorps xmm1, xmm0
orps xmm2, xmm1
cmp r10, rcx
jb 0x140099220
orps xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 2
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 1
orps xmm2, xmm0
movd r9d, xmm2
cmp r10, r8
jae 0x1400992a6
lea rax, [r10 + r11]
sub r8, r10
movzx ecx, byte [rdx + rax]
xor cl, byte [rax]
lea rax, [rax + 1]
or r9b, cl
sub r8, 1
jne 0x140099293
movzx eax, r9b
ret

Function at 0x140099af0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
movsxd rsi, ecx
lea rax, [0x140099ce0]
lea rcx, [0x140243600]
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea r8, [rsp + 0x38]
lea rdx, [0x140099cd0]
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x140099b7d
cmp dword [0x14024360c], 0
mov qword [rsp + 0x40], rdi
jne 0x140099b70
mov qword [rsp + 0x30], rbx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x140243608]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x30]
test rdi, rdi
je 0x140099b70
mov rax, qword [rdi + rsi*8]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov rdi, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x20
pop rsi
ret
call fcn.14019da4c
int3
Function at 0x140099bc0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x20
mov rsi, r8
movsxd r14, ecx
mov rbp, rdx
lea rax, [0x140099ce0]
lea r8, [rsp + 0x58]
mov qword [rsp + 0x58], rax
lea rdx, [0x140099cd0]
xor r9d, r9d
lea rcx, [0x140243600]
call qword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x140099cc6
cmp dword [0x14024360c], 0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
jne 0x140099c74
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x140243608]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
jne 0x140099c8e
lea ecx, [rdi + 0x28]
call fcn.14019e3a4
mov rdi, rax
test rax, rax
je 0x140099c74
mov ecx, dword [0x140243608]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor eax, eax
mov rdx, rdi
movups xmmword [rdi + 0x10], xmm0
mov qword [rdi + 0x20], rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140099c8e
mov rcx, rdi
call fcn.14019d1bc
mov rcx, rbp
call rsi
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rsi
pop rbp
ret
lea rcx, [0x1402435d0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rax, [0x1402435d8]
lea rbx, [r14*8]
lea rcx, [0x1402435d0]
mov qword [rbx + rax], rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, 1
mov qword [rbx + rdi], rbp
jmp 0x140099c7b
call fcn.14019da4c
int3
Function at 0x1400a0fd0
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x130
mov rax, qword [0x14023f740]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov rdi, rdx
mov rbx, rcx
mov edx, 0x20
lea rcx, [rsp + 0xc0]
call fcn.1400831a0
lea r8, [rsp + 0xe0]
mov edx, 0x20
lea rcx, [rsp + 0xc0]
call fcn.140086080
movzx eax, byte [rsp + 0xff]
lea rdx, [rsp + 0xe0]
and byte [rsp + 0xe0], 0xf8
lea rcx, [rsp + 0x20]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0xff], al
call fcn.1400a6860
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1400a3e20
movups xmm0, xmmword [rsp + 0xd0]
movups xmm2, xmmword [rsp + 0xc0]
movups xmmword [rdi], xmm2
movups xmmword [rdi + 0x10], xmm0
movups xmm0, xmmword [rbx]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x30], xmm1
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14018e930
mov rbx, qword [rsp + 0x150]
add rsp, 0x130
pop rdi
ret

Function at 0x1400a10b0
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x110
mov rax, qword [0x14023f740]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
lea r8, [rsp + 0xc0]
mov rcx, rbx
mov edx, 0x20
call fcn.140086080
movzx eax, byte [rsp + 0xdf]
lea rdx, [rsp + 0xc0]
and byte [rsp + 0xc0], 0xf8
lea rcx, [rsp + 0x20]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0xdf], al
call fcn.1400a6860
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400a3e20
movups xmm2, xmmword [rbx]
movups xmmword [rsi], xmm2
movups xmm0, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm0
movups xmm0, xmmword [rdi]
movups xmmword [rsi + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x30], xmm1
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.14018e930
add rsp, 0x110
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400a1160
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x14023f740]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rsi, r8
mov rdi, rdx
mov r14, rcx
lea r8, [rbp + 0xa0]
mov edx, 0x20
mov rcx, r9
mov rbx, r9
call fcn.140086080
movzx eax, byte [rbp + 0xbf]
lea rcx, [rsp + 0x20]
and byte [rbp + 0xa0], 0xf8
and al, 0x3f
or al, 0x40
mov byte [rbp + 0xbf], al
call fcn.1400862b0
mov r8d, 0x20
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x20]
call fcn.140086340
mov r8, rsi
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.140086340
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xe0]
call fcn.1400862a0
lea rcx, [rbp + 0xe0]
call fcn.1400a7440
lea rdx, [rbp + 0xe0]
lea rcx, [rbp]
call fcn.1400a6860
lea rdx, [rbp]
mov rcx, r14
call fcn.1400a3e20
lea rcx, [rsp + 0x20]
call fcn.1400862b0
mov r8d, 0x20
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.140086340
lea rdx, [rbx + 0x20]
mov r8d, 0x20
lea rcx, [rsp + 0x20]
call fcn.140086340
mov r8, rsi
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.140086340
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x120]
call fcn.1400862a0
lea rcx, [rbp + 0x120]
call fcn.1400a7440
lea rcx, [r14 + 0x20]
lea r9, [rbp + 0xe0]
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x120]
call fcn.1400a3ef0
mov eax, 1
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.14018e930
add rsp, 0x270
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x1400a16d0
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x14023f740]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rbx, rdx
mov rdi, rcx
mov rcx, rbx
mov edx, 0x20
call fcn.1400831a0
movzx eax, byte [rbx + 0x1f]
lea rdx, [rbp + 0x40]
or byte [rbx], 7
lea rcx, [rbp - 0x60]
and al, 0x3f
or al, 0x80
mov byte [rbx + 0x1f], al
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movd eax, xmm0
movups xmmword [rbp + 0x40], xmm0
and al, 0xf8
mov byte [rbp + 0x40], al
mov rax, qword [rbx + 0x18]
shr rax, 0x38
and al, 0x3f
or al, 0x40
movups xmmword [rbp + 0x50], xmm1
mov byte [rbp + 0x5f], al
call fcn.1400a6860
movdqu xmm2, xmmword [rbp - 0x10]
movdqu xmm3, xmmword [rbp - 0x38]
mov rcx, qword [rbp + 0x10]
add rcx, qword [rbp - 0x18]
movdqu xmm1, xmmword [rbp - 0x28]
mov qword [rsp + 0x40], rcx
movq rcx, xmm2
movq rax, xmm3
paddq xmm1, xmmword [rbp]
sub rcx, rax
movabs rax, 0xfffffffffffda
movdqa xmm0, xmm3
add rcx, rax
paddq xmm0, xmm2
movdqa xmm2, xmmword [0x1401fcc30]
xor eax, eax
mov qword [rsp + 0x70], rcx
movdqu xmmword [rsp + 0x20], xmm0
movdqu xmmword [rsp + 0x30], xmm1
nop dword [rax + rax]
movdqu xmm1, xmmword [rbp + rax - 8]
movdqu xmm0, xmmword [rbp + rax - 0x30]
psubq xmm1, xmm0
paddq xmm1, xmm2
movdqu xmmword [rsp + rax + 0x78], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x1400a17b0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x48]
call fcn.1400a1a50
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.1400a2680
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.1400a2320
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.14018e930
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x1400a1830
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x14023f740]
xor rax, rsp
mov qword [rbp + 0x60], rax
movups xmm0, xmmword [rdx]
mov rbx, rcx
lea rcx, [rbp - 0x60]
movups xmm1, xmmword [rdx + 0x10]
movd eax, xmm0
movups xmmword [rbp + 0x40], xmm0
and al, 0xf8
mov byte [rbp + 0x40], al
mov rax, qword [rdx + 0x18]
lea rdx, [rbp + 0x40]
shr rax, 0x38
and al, 0x3f
or al, 0x40
movups xmmword [rbp + 0x50], xmm1
mov byte [rbp + 0x5f], al
call fcn.1400a6860
movdqu xmm2, xmmword [rbp - 0x10]
movdqu xmm3, xmmword [rbp - 0x38]
mov rcx, qword [rbp + 0x10]
add rcx, qword [rbp - 0x18]
movdqu xmm1, xmmword [rbp - 0x28]
mov qword [rsp + 0x40], rcx
movq rcx, xmm2
movq rax, xmm3
paddq xmm1, xmmword [rbp]
sub rcx, rax
movabs rax, 0xfffffffffffda
movdqa xmm0, xmm3
add rcx, rax
paddq xmm0, xmm2
movdqa xmm2, xmmword [0x1401fcc30]
xor eax, eax
mov qword [rsp + 0x70], rcx
movdqu xmmword [rsp + 0x20], xmm0
movdqu xmmword [rsp + 0x30], xmm1
nop word [rax + rax]
movdqu xmm1, xmmword [rbp + rax - 8]
movdqu xmm0, xmmword [rbp + rax - 0x30]
psubq xmm1, xmm0
paddq xmm1, xmm2
movdqu xmmword [rsp + rax + 0x78], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x1400a18f0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x48]
call fcn.1400a1a50
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.1400a2680
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.1400a2320
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.14018e930
mov rbx, qword [rsp + 0x190]
add rsp, 0x170
pop rbp
ret
Function at 0x1400d8830
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
mov ebx, ecx
call fcn.14016f6a0
test eax, eax
jne 0x1400d89d2
mov qword [rsp + 0x30], rbp
xor ebp, ebp
cmp byte [0x14023c044], bpl
mov qword [rsp + 0x38], rsi
jne 0x1400d8865
mov esi, ebp
jmp 0x1400d8881
mov ecx, 5
call qword [0x14023c0b0]
mov rsi, rax
test rax, rax
je 0x1400d8881
mov rcx, rax
call qword [0x14023c0c0]
test ebx, ebx
jle 0x1400d89b4
test rdi, rdi
je 0x1400d89b4
cmp dword [0x1402438d0], ebp
jne 0x1400d8938
xor ecx, ecx
call fcn.1400c15b0
movups xmm0, xmmword [str.expand_32_byte_k]
movaps xmmword [0x1402438d0], xmm0
test rax, rax
jne 0x1400d88d8
xorps xmm0, xmm0
mov qword [0x140243900], rax
movups xmmword [0x1402438e0], xmm0
mov dword [0x140243908], eax
movups xmmword [0x1402438f0], xmm0
jmp 0x1400d891c
mov ecx, dword [0x14023c1f0]
test ecx, ecx
je 0x1400d890a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1402438e0], xmm0
mov dword [0x1402438e0], ecx
movups xmmword [0x1402438f0], xmm0
mov qword [0x140243900], rax
mov dword [0x140243908], eax
jmp 0x1400d891c
lea r8, [0x1402438e0]
mov edx, 0x2c
mov rcx, rax
call qword [rax + 0x68]
mov eax, dword [0x140243900]
xor cl, cl
mov byte [0x140243950], cl
mov dword [0x14024390c], eax
mov dword [0x140243900], ebp
jmp 0x1400d893f
movzx ecx, byte [0x140243950]
movzx eax, cl
lea rbp, [0x140243910]
cmp ebx, eax
jle 0x1400d8991
nop dword [rax]
test cl, cl
je 0x1400d896f
movzx r8d, cl
mov rdx, rbp
mov rcx, rdi
call fcn.1401b9090
movzx ecx, byte [0x140243950]
sub ebx, ecx
add rdi, rcx
inc dword [0x140243900]
lea rdx, [0x1402438d0]
mov rcx, rbp
call fcn.1400e3f30
mov cl, 0x40
mov byte [0x140243950], cl
cmp ebx, 0x40
jg 0x1400d8950
movzx eax, cl
mov rcx, rdi
sub eax, ebx
movsxd r8, ebx
movsxd rdx, eax
add rdx, rbp
call fcn.1401b9090
sub byte [0x140243950], bl
test rsi, rsi
jne 0x1400d89bf
jmp 0x1400d89c8
mov dword [0x1402438d0], ebp
test rsi, rsi
je 0x1400d89c8
mov rcx, rsi
call qword [0x14023c0d0]
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1400deda0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x40
mov rsi, qword [rcx + 0xa0]
mov rbx, rcx
mov rax, qword [rcx]
mov rdi, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
test rsi, rsi
je 0x1400defb7
mov qword [rsp + 0x70], r12
xor r9d, r9d
mov qword [rsp + 0x78], r13
lea r12, [rdi + 0x88]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x68], rbp
nop word [rax + rax]
movsxd r14, dword [rsi + 0x10]
mov r15d, dword [rsi + 0x14]
shl r14, 5
add r14, qword [rax + 0x20]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400dee10
inc dword [rbx + 0x38]
mov ebp, dword [rbx + 0x38]
jmp 0x1400dee26
dec al
lea r12, [rdi + 0x88]
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebp, dword [rbx + rax*4 + 0xe0]
movsxd rcx, dword [rdi + 0x90]
lea r8d, [r15 + 2]
lea edx, [rcx + 7]
cmp dword [rdi + 0x94], ecx
jg 0x1400dee53
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x37
mov rcx, rdi
call fcn.1400f9f80
jmp 0x1400dee7e
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
mov dword [rax + rcx*8], 0x37
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r9
mov r9, qword [r14 + 0x18]
xor edx, edx
mov r8d, dword [rsi + 0x10]
mov rcx, rbx
mov dword [rsp + 0x20], WSAStartup
mov r9, qword [r9 + 0x68]
call fcn.14013c430
mov eax, dword [rdi + 0x90]
add eax, 5
cmp eax, dword [rdi + 0x94]
jle 0x1400deec2
mov edx, 5
mov rcx, rdi
call fcn.1400f9ff0
test eax, eax
jne 0x1400def9e
movsxd rax, dword [rdi + 0x90]
xor r9d, r9d
lea rcx, [rax + rax*2]
mov rax, qword [r12]
mov dword [rax + rcx*8 + 8], 2
mov byte [rax + rcx*8], 0x33
mov dword [rax + rcx*8 + 4], r9d
lea rax, [rax + rcx*8]
mov ecx, dword [rdi + 0x90]
mov dword [rax + 0xc], r9d
add ecx, 2
mov dword [rax + 8], ecx
mov byte [rax + 1], r9b
mov qword [rax + 0x10], r9
mov word [rax + 2], r9w
mov qword [rax + 0x18], 0x7f
mov qword [rax + 0x20], r9
mov qword [rax + 0x28], r9
mov qword [rax + 0x30], 0x61
mov qword [rax + 0x38], 2
mov qword [rax + 0x40], r9
mov qword [rax + 0x48], 0x80
mov qword [rax + 0x50], r9
mov qword [rax + 0x58], r9
mov qword [rax + 0x60], 0x7a
mov qword [rax + 0x68], r9
mov qword [rax + 0x70], r9
add dword [rdi + 0x90], 5
test rax, rax
je 0x1400def9e
mov dword [rax + 0x3c], ebp
lea edx, [r15 + 1]
mov dword [rax + 4], edx
lea ecx, [r15 - 1]
mov dword [rax + 0x20], edx
mov dword [rax + 0x34], ecx
mov dword [rax + 0x54], edx
mov dword [rax + 0x50], ebp
mov word [rax + 0x4a], 8
test ebp, ebp
je 0x1400def8c
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1400def8c
mov dword [rbx + rax*4 + 0xe0], ebp
inc byte [rbx + 0x1f]
mov rsi, qword [rsi]
test rsi, rsi
je 0x1400def9e
mov rax, qword [rsp + 0x60]
jmp 0x1400dedf0
mov rbp, qword [rsp + 0x68]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400f0370
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rdi
push r14
sub rsp, 0x68
movzx eax, byte [rdx]
mov r14, rdx
mov rdi, rcx
cmp al, 0xb0
jne 0x1400f0389
movzx eax, byte [rdx + 2]
cmp al, 0xb1
jne 0x1400f0393
mov rcx, qword [rdx + 0x20]
jmp 0x1400f03a3
cmp al, 0x8a
jne 0x1400f0527
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 0x20]
movsxd rcx, dword [rcx]
cmp ecx, 1
je 0x1400f0527
mov dword [r8], 0
cmp byte [rdx], 0x8a
jne 0x1400f03ca
mov rcx, rdi
add rsp, 0x68
pop r14
pop rdi
jmp fcn.140120f70
mov eax, dword [rdi + 0x38]
mov qword [rsp + 0x60], r12
mov r12, rcx
mov qword [rsp + 0x58], r13
lea r13d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x88], r13d
mov dword [rdi + 0x38], eax
test ecx, ecx
jle 0x1400f0512
mov qword [rsp + 0x80], rbx
lea rcx, [0x14014d5c0]
mov qword [rsp + 0x90], rbp
mov ebp, r13d
mov qword [rsp + 0x50], r15
lea r13, [fcn.1400f1740]
xor r15d, r15d
mov qword [rsp + 0x98], rsi
lea edx, [r15 + 2]
nop dword [rax + rax]
cmp byte [rdi + 0x23], 0
mov rax, qword [r14 + 0x20]
mov rbx, qword [r15 + rax + 8]
je 0x1400f0480
mov word [rsp + 0x44], dx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x48], 0
test rbx, rbx
je 0x1400f0470
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140164620
cmp word [rsp + 0x44], 0
je 0x1400f0480
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.14012a840
jmp 0x1400f04c0
mov rsi, qword [rdi]
test rbx, rbx
je 0x1400f049c
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1400f0800
mov rbx, rax
cmp byte [rsi + 0x67], 0
jne 0x1400f04b0
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.140128de0
test rbx, rbx
je 0x1400f04c0
mov rdx, rbx
mov rcx, rsi
call fcn.14012cce0
inc ebp
lea rcx, [0x14014d5c0]
add r15, 0x20
mov edx, 2
sub r12, 1
jne 0x1400f0430
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x88]
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
add rsp, 0x68
pop r14
pop rdi
ret
mov r12, qword [rsp + 0x60]
mov eax, r13d
mov r13, qword [rsp + 0x58]
add rsp, 0x68
pop r14
pop rdi
ret
mov rcx, rdi
add rsp, 0x68
pop r14
pop rdi
jmp fcn.14012c370