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

Disassembly:
push rbx
xor r10d, r10d
mov rbx, rdx
mov r11, rcx
test r8, r8
je 0x1401d9825
cmp r8, 8
jb 0x1401d97fa
lea rcx, [r9 - 1]
lea rax, [r8 - 1]
add rcx, r8
add rax, rdx
cmp r9, rax
ja 0x1401d970a
cmp rcx, rdx
jae 0x1401d97fa
lea rax, [r8 - 1]
add rax, r11
cmp r9, rax
ja 0x1401d971f
cmp rcx, r11
jae 0x1401d97fa
mov rcx, r11
mov qword [rsp + 0x18], rdi
sub rcx, rbx
cmp r8, 0x40
jb 0x1401d97bd
mov rdi, r8
mov qword [rsp + 0x10], rsi
and edi, 0x3f
mov rsi, r8
sub rsi, rdi
lea rax, [rdx + 0x10]
mov rdx, r9
sub rdx, rbx
nop
movdqu xmm0, xmmword [rax - 0x10]
add r10, 0x40
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [rdx + rax - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rcx + rax - 0x30]
movdqu xmmword [rdx + rax - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rcx + rax - 0x20]
movdqu xmmword [rdx + rax - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rdx + rax - 0x20], xmm2
cmp r10, rsi
jb 0x1401d9750
mov rsi, qword [rsp + 0x10]
cmp rdi, 8
jb 0x1401d97f0
jmp 0x1401d97c3
mov rdx, r9
sub rdx, rbx
mov rdi, r8
and rdi, 0xfffffffffffffff8
lea rax, [r10 + rbx]
nop
movq xmm1, qword [rcx + rax]
add r10, 8
movq xmm0, qword [rax]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rdx + rax - 8], xmm1
cmp r10, rdi
jb 0x1401d97d0
mov rdi, qword [rsp + 0x18]
cmp r10, r8
jae 0x1401d9825
sub r11, rbx
lea rax, [r10 + rbx]
sub r9, rbx
sub r8, r10
nop word [rax + rax]
movzx ecx, byte [rax + r11]
xor cl, byte [rax]
mov byte [rax + r9], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x1401d9810
pop rbx
ret

Function at 0x1401d9910
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rdi
push r14
mov eax, 0x20
call fcn.1402a15c0
sub rsp, rax
mov rdi, qword [rcx + 0x28]
mov rbx, rdx
mov rbp, rcx
cmp rdx, rdi
ja 0x1401d994e
shl rbx, 4
add rbx, qword [rcx + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret
mov rcx, qword [rcx + 0x30]
cmp rbx, rcx
jb 0x1401d999a
sub rdx, rcx
lea r8, str.cryptomodesocb128.c
add rdx, 4
mov r9d, WSAStartup
and rdx, 0xfffffffffffffffc
add rdx, rcx
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x30], rdx
shl rdx, 4
call fcn.140139ad0
test rax, rax
jne 0x1401d9996
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret
mov qword [rbp + 0x58], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r12
mov r12, rbx
mov qword [rsp + 0x50], r15
mov r15, rdi
shl r15, 4
sub r12, rdi
nop word [rax + rax]
mov rcx, qword [rbp + 0x58]
mov edx, 1
add rcx, r15
movzx edi, byte [rcx]
lea rsi, [rcx + 0x10]
shr dil, 7
mov r8, rsi
neg dil
and dil, 0x87
call fcn.1401d9520
xor byte [rsi + 0xf], dil
add r15, 0x10
sub r12, 1
jne 0x1401d99c0
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov qword [rbp + 0x28], rbx
shl rbx, 4
add rbx, qword [rbp + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret
Function at 0x1401de3c0
Capabilities:
Encode data using xor

Disassembly:
mov eax, reloc.WS2_32.dll_getservbyport
call fcn.1402a15c0
sub rsp, rax
cmp dword [rsp + 0x68], 0
je 0x1401de3e9
lea rax, [0x1401dca20]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401d4e30
lea rax, [0x1401dbbd0]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401d4b70
Function at 0x1401e0ea0
Capabilities:
Hash data using sha1

Disassembly:
push rbx
mov eax, 0x20
call fcn.1402a15c0
sub rsp, rax
mov rbx, rcx
call fcn.1401ce2d0
test eax, eax
jne 0x1401e0ec1
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 0x5c]
add rsp, 0x20
pop rbx
jmp fcn.140157640

Function at 0x1401e3600
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x20
call fcn.1402a15c0
sub rsp, rax
mov rbx, rdx
mov rdi, rcx
add rcx, 0x40
xor edx, edx
mov r8d, 0xb0
call fcn.1402a2550
movabs rsi, 0x1f83d9abfb41bd6b
movabs rbp, 0x5be0cd19137e2179
mov qword [rdi + 0x30], rsi
movabs rcx, 0x6a09e667f3bcc908
mov qword [rdi + 0x38], rbp
movabs rdx, 0xbb67ae8584caa73b
mov qword [rdi], rcx
movabs r8, 0x3c6ef372fe94f82b
mov qword [rdi + 8], rdx
movabs r9, 0xa54ff53a5f1d36f1
mov qword [rdi + 0x10], r8
movabs r10, 0x510e527fade682d1
mov qword [rdi + 0x18], r9
movabs r11, 0x9b05688c2b3e6c1f
mov qword [rdi + 0x20], r10
mov qword [rdi + 0x28], r11
movzx eax, byte [rbx]
mov qword [rdi + 0xe8], rax
mov rax, qword [rbx]
xor rax, rcx
mov qword [rdi], rax
mov rax, qword [rbx + 8]
xor rax, rdx
mov qword [rdi + 8], rax
mov rax, qword [rbx + 0x10]
xor rax, r8
mov qword [rdi + 0x10], rax
mov rax, qword [rbx + 0x18]
xor rax, r9
mov qword [rdi + 0x18], rax
mov rax, qword [rbx + 0x20]
xor rax, r10
mov qword [rdi + 0x20], rax
mov rax, qword [rbx + 0x28]
xor rax, r11
mov qword [rdi + 0x28], rax
mov rax, qword [rbx + 0x30]
xor rax, rsi
mov rsi, qword [rsp + 0x40]
mov qword [rdi + 0x30], rax
mov rax, qword [rbx + 0x38]
mov rbx, qword [rsp + 0x30]
xor rax, rbp
mov rbp, qword [rsp + 0x38]
mov qword [rdi + 0x38], rax
add rsp, 0x20
pop rdi
ret
Function at 0x1401e5620
Capabilities:
Hash data using sha256

Disassembly:
xorps xmm0, xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x50], xmm0
movups xmmword [rcx + 0x60], xmm0
movups xmmword [rcx + 0x70], xmm0
mov dword [rcx], 0x6a09e667
mov dword [rcx + 4], 0xbb67ae85
mov dword [rcx + 8], 0x3c6ef372
mov dword [rcx + 0xc], 0xa54ff53a
mov dword [rcx + 0x10], 0x510e527f
mov dword [rcx + 0x14], 0x9b05688c
mov dword [rcx + 0x18], 0x1f83d9ab
mov dword [rcx + 0x1c], 0x5be0cd19
movzx eax, byte [rdx]
mov qword [rcx + 0x78], rax
mov eax, dword [rdx]
xor eax, 0x6a09e667
mov dword [rcx], eax
mov eax, dword [rdx + 4]
xor eax, 0xbb67ae85
mov dword [rcx + 4], eax
mov eax, dword [rdx + 8]
xor eax, 0x3c6ef372
mov dword [rcx + 8], eax
mov eax, dword [rdx + 0xc]
xor eax, 0xa54ff53a
mov dword [rcx + 0xc], eax
mov eax, dword [rdx + 0x10]
xor eax, 0x510e527f
mov dword [rcx + 0x10], eax
mov eax, dword [rdx + 0x14]
xor eax, 0x9b05688c
mov dword [rcx + 0x14], eax
mov eax, dword [rdx + 0x18]
xor eax, 0x1f83d9ab
mov dword [rcx + 0x18], eax
mov eax, dword [rdx + 0x1c]
xor eax, 0x5be0cd19
mov dword [rcx + 0x1c], eax
ret
Function at 0x1401efc20
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, 0x28
call fcn.1402a15c0
sub rsp, rax
mov r11, rcx
cmp dword [rsp + 0x50], r9d
jne 0x1401efd18
movzx r10d, byte [r8]
lea eax, [r10 - 0x6a]
cmp al, 1
ja 0x1401efd18
mov qword [rsp + 0x20], rbx
lea rdx, [r8 + 1]
cmp r10b, 0x6b
jne 0x1401efcd0
lea ebx, [r9 - 3]
xor eax, eax
test ebx, ebx
jle 0x1401efc7a
movzx ecx, byte [rdx]
inc rdx
cmp cl, 0xba
je 0x1401efc7a
cmp cl, 0xbb
jne 0x1401efcbd
inc eax
cmp eax, ebx
jl 0x1401efc64
sub ebx, eax
test eax, eax
jne 0x1401efcd4
call fcn.140137ac0
lea r8, str.RSA_padding_check_X931
mov edx, 0x56
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.140137be0
mov edx, 0x8a
xor r8d, r8d
lea ecx, [r8 + 4]
call fcn.140137d20
mov rbx, qword [rsp + 0x20]
mov eax, 0xffffffff
add rsp, 0x28
ret
call fcn.140137ac0
lea r8, str.RSA_padding_check_X931
mov edx, 0x4e
jmp 0x1401efc91
lea ebx, [r9 - 2]
movsxd rax, ebx
cmp byte [rax + rdx], 0xcc
je 0x1401efd01
call fcn.140137ac0
lea r8, str.RSA_padding_check_X931
mov edx, 0x5f
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.140137be0
mov edx, 0x8b
jmp 0x1401efca2
mov r8d, ebx
mov rcx, r11
call fcn.1402a1ea0
mov eax, ebx
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
ret
call fcn.140137ac0
lea r8, str.RSA_padding_check_X931
mov edx, 0x43
lea rcx, str.crypto_rsa_rsa_x931.c
call fcn.140137be0
xor r8d, r8d
mov edx, 0x89
lea ecx, [r8 + 4]
call fcn.140137d20
mov eax, 0xffffffff
add rsp, 0x28
ret

Function at 0x140203570
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
xor r10d, r10d
movsxd rbx, r8d
mov r11, rdx
mov rdi, rcx
test r8d, r8d
jle 0x1402035af
mov r9, rdx
mov rdx, rcx
sub rdx, r9
movzx eax, byte [r9]
cmp byte [rdx + r9], al
jne 0x1402035af
inc r9
inc r10d
mov rax, r9
sub rax, r11
cmp rax, rbx
jl 0x140203594
lea edx, [r8 - 1]
movsxd rax, edx
test edx, edx
js 0x1402035da
mov r8, rdi
lea rcx, [rax + r11]
sub r8, r11
cmp byte [rcx + r8], 0
jne 0x1402035da
cmp byte [rcx], 0xff
jne 0x1402035da
dec edx
dec rcx
cmp rcx, r11
jns 0x1402035c4
cmp r10d, edx
jl case.0x140203633.2
jle 0x1402035f8
lea eax, [r10*8]
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
ret
movsxd rax, r10d
movzx r8d, byte [rax + r11]
movzx r9d, byte [rax + rdi]
movzx edx, r8b
xor dl, r9b
movzx eax, dl
dec eax
cmp eax, 0x7e
ja case.0x140203633.2
lea r11, [0x140000000]
cdqe
movzx eax, byte [r11 + rax + 0x2036a8]
mov ecx, dword [r11 + rax*4 + 0x203688]
add rcx, r11
jmp rcx
mov eax, 7
jmp 0x140203664
mov eax, 6
jmp 0x140203664
mov eax, 5
jmp 0x140203664
mov eax, 4
jmp 0x140203664
mov eax, 3
jmp 0x140203664
mov eax, 2
jmp 0x140203664
mov eax, 1
test dl, r9b
jne case.0x140203633.2
and r8b, dl
lea eax, [rax + r10*8]
cmp r8b, dl
je 0x14020367a
mov eax, 0xffffffff
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
ret
Function at 0x14021afe0
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbx
push rsi
push rdi
mov eax, 0x1a0
call fcn.1402a15c0
sub rsp, rax
mov rax, qword [0x14038ce18]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov rbx, r8
mov rsi, rdx
mov r8, r9
lea rdx, str.SHA512
call fcn.140156220
mov rdi, rax
test rax, rax
je 0x14021b063
xor r9d, r9d
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x150]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea edx, [r9 + 0x20]
call fcn.140155260
mov rcx, rdi
mov ebx, eax
call fcn.140156270
test ebx, ebx
jne 0x14021b06a
lea edx, [rbx + 0x40]
lea rcx, [rsp + 0x150]
call fcn.140001240
xor eax, eax
jmp 0x14021b11e
movzx eax, byte [rsp + 0x16f]
lea rdx, [rsp + 0x150]
and byte [rsp + 0x150], 0xf8
lea rcx, [rsp + 0xb0]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x16f], al
call fcn.14021a200
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x30]
call fcn.140216b90
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x80]
call fcn.140216e10
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x58]
call fcn.140216e10
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1402184b0
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
call fcn.1402184b0
movzx eax, byte [rsp + 0x30]
lea rcx, [rsp + 0x150]
shl al, 7
mov edx, 0x40
xor byte [rsi + 0x1f], al
call fcn.140001240
mov eax, 1
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1402a12f0
add rsp, 0x1a0
pop rdi
pop rsi
pop rbx
ret
Function at 0x14021b140
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1d0
call fcn.1402a15c0
sub rsp, rax
mov rax, qword [0x14038ce18]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x230]
mov r13, rdx
mov r15, qword [rsp + 0x250]
lea rdx, str.SHA512
mov qword [rsp + 0x38], r8
mov r14, rcx
mov rcx, qword [rsp + 0x260]
mov r8, qword [rsp + 0x268]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r9
call fcn.140156220
mov rdi, rax
call fcn.140156160
xor r12d, r12d
mov rbx, rax
test r15, r15
mov esi, r12d
cmovne rsi, qword [rsp + 0x258]
cmp byte [rsp + 0x248], r12b
je 0x14021b1e1
test rsi, rsi
je 0x14021b3dd
cmp byte [rsp + 0x238], r12b
jne 0x14021b1f4
test rsi, rsi
jne 0x14021b3dd
test rdi, rdi
je 0x14021b3dd
test rbx, rbx
je 0x14021b3dd
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.140155920
test eax, eax
je 0x14021b3dd
mov rdx, qword [rsp + 0x40]
mov r8d, 0x20
mov rcx, rbx
call fcn.140155960
test eax, eax
je 0x14021b3dd
lea r8, [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x100]
call fcn.140155750
test eax, eax
je 0x14021b3dd
movzx eax, byte [rsp + 0x11f]
mov rdx, rdi
movzx r8d, byte [rsp + 0x238]
and al, 0x3f
and byte [rsp + 0x100], 0xf8
or al, 0x40
mov qword [rsp + 0x28], rsi
mov rcx, rbx
mov qword [rsp + 0x20], r15
movzx r15d, byte [rsp + 0x240]
movzx r9d, r15b
mov byte [rsp + 0x11f], al
call fcn.14021aee0
test eax, eax
je 0x14021b3dd
mov r8d, 0x20
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.140155960
test eax, eax
je 0x14021b3dd
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, rbx
call fcn.140155960
test eax, eax
je 0x14021b3dd
lea r8, [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x140]
call fcn.140155750
test eax, eax
je 0x14021b3dd
lea rcx, [rsp + 0x140]
call fcn.14021d9c0
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x60]
call fcn.14021a200
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.14021a170
mov rax, qword [rsp + 0x48]
movzx r9d, r15b
movzx r8d, byte [rsp + 0x238]
mov rdx, rdi
mov qword [rsp + 0x28], rsi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14021aee0
test eax, eax
je 0x14021b3dd
mov r8d, 0x20
mov rdx, r14
mov rcx, rbx
call fcn.140155960
test eax, eax
je 0x14021b3dd
mov rdx, qword [rsp + 0x50]
mov r8d, 0x20
mov rcx, rbx
call fcn.140155960
test eax, eax
je 0x14021b3dd
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, rbx
call fcn.140155960
test eax, eax
je 0x14021b3dd
lea r8, [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x180]
call fcn.140155750
test eax, eax
je 0x14021b3dd
lea rcx, [rsp + 0x180]
call fcn.14021d9c0
lea rcx, [r14 + 0x20]
lea r9, [rsp + 0x140]
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x180]
call fcn.14021b930
mov r12d, 1
mov edx, 0x40
lea rcx, [rsp + 0x140]
call fcn.140001240
mov edx, 0x40
lea rcx, [rsp + 0x100]
call fcn.140001240
mov rcx, rdi
call fcn.140156270
mov rcx, rbx
call fcn.1401560b0
mov eax, r12d
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1402a12f0
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
Function at 0x14021b7c0
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x70]
mov eax, 0x170
call fcn.1402a15c0
sub rsp, rax
mov rax, qword [0x14038ce18]
xor rax, rsp
mov qword [rbp + 0x60], rax
movups xmm0, xmmword [rdx]
mov rbx, rcx
lea rcx, [rsp + 0x50]
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.14021a200
mov ecx, dword [rsp + 0x78]
mov edx, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x3c]
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rsp + 0x7c]
mov dword [rbp + 0x18], edx
mov edx, dword [rbp - 0x5c]
mov dword [rbp - 0x10], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x80]
mov dword [rbp + 0x1c], edx
mov edx, dword [rbp - 0x58]
mov dword [rbp - 0xc], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x7c]
mov dword [rbp + 0x20], edx
mov edx, dword [rbp - 0x54]
mov dword [rbp - 8], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x78]
mov dword [rbp + 0x24], edx
mov edx, dword [rbp - 0x50]
mov dword [rbp - 4], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x74]
mov dword [rbp + 0x28], edx
mov edx, dword [rbp - 0x4c]
mov dword [rbp], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x70]
mov dword [rbp + 0x2c], edx
mov edx, dword [rbp - 0x48]
mov dword [rbp + 4], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x6c]
mov dword [rbp + 0x30], edx
mov edx, dword [rbp - 0x44]
mov dword [rbp + 8], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov ecx, dword [rbp - 0x68]
mov dword [rbp + 0x34], edx
mov edx, dword [rbp - 0x40]
mov dword [rbp + 0xc], eax
lea eax, [rcx + rdx]
sub edx, ecx
mov dword [rbp + 0x38], edx
lea rcx, [rsp + 0x20]
mov edx, dword [rbp - 0x64]
mov dword [rbp + 0x10], eax
lea eax, [rdx + r8]
sub r8d, edx
lea rdx, [rbp + 0x18]
mov dword [rbp + 0x3c], r8d
mov dword [rbp + 0x14], eax
call fcn.140216b90
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.140216e10
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.1402184b0
lea rcx, [rbp + 0x40]
mov edx, 0x20
call fcn.140001240
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1402a12f0
mov rbx, qword [rsp + 0x190]
add rsp, 0x170
pop rbp
ret
Function at 0x140246000
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
mov eax, reloc.WS2_32.dll_getservbyport
call fcn.1402a15c0
sub rsp, rax
mov rdi, qword [rsp + 0x88]
mov rsi, rdx
mov qword [rsp + 0x68], rbp
mov r14, r9
mov rbp, qword [rsp + 0x80]
mov rbx, rcx
mov qword [rsp + 0x30], r12
mov r10, rcx
shl rsi, 5
mov r12, rdx
mov qword [rsp + 0x28], r13
mov r13, r8
test rsi, rsi
je 0x140246098
mov r8, rsi
nop dword [rax]
movzx eax, byte [r10]
lea r10, [r10 + 4]
mov dword [rdi], eax
movzx ecx, byte [r10 - 3]
shl ecx, 8
or ecx, eax
mov dword [rdi], ecx
movzx edx, byte [r10 - 2]
shl edx, 0x10
or edx, ecx
mov dword [rdi], edx
movzx eax, byte [r10 - 1]
shl eax, 0x18
or eax, edx
mov dword [rdi], eax
add rdi, 4
sub r8, 1
jne 0x140246060
mov qword [rsp + 0x20], r15
mov r15, r12
shl r15, 7
cmp r13, 1
jbe 0x1402460cf
dec r13
nop dword [rax]
mov rdx, rdi
mov r8, r12
sub rdx, r15
mov rcx, rdi
call fcn.140245b60
add rdi, r15
sub r13, 1
jne 0x1402460b0
mov r13, qword [rsp + 0x70]
mov rdx, r13
mov r8, r12
shl rdx, 7
mov rcx, r14
add rdx, 0xffffffffffffff80
imul rdx, r12
add rdx, qword [rsp + 0x88]
call fcn.140245b60
xor edi, edi
test r13, r13
je 0x140246216
lea rbx, [r15 + r14]
mov r15, r13
mov eax, dword [rbx - 0x40]
xor edx, edx
div r13
mov r8, rdi
mov eax, edx
imul rax, r12
shl rax, 7
add rax, qword [rsp + 0x88]
test rsi, rsi
je 0x1402461f9
cmp rsi, 0x10
jb 0x1402461d2
lea rcx, [rsi - 1]
lea rcx, [rax + rcx*4]
lea rdx, [rbp - 4]
lea rdx, [rdx + rsi*4]
cmp rbp, rcx
ja 0x140246151
cmp rdx, rax
jae 0x1402461d2
lea rcx, [r14 - 4]
lea rcx, [rcx + rsi*4]
cmp rbp, rcx
ja 0x140246163
cmp rdx, r14
jae 0x1402461d2
mov rcx, r14
lea rdx, [rbp + 0x10]
sub rcx, rbp
nop dword [rax]
movdqu xmm0, xmmword [rax]
add r8, 0x10
lea rax, [rax + 0x40]
movdqu xmm1, xmmword [rcx + rdx - 0x10]
lea rdx, [rdx + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmmword [rdx - 0x50], xmm1
movdqu xmm1, xmmword [rdx + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmmword [rdx - 0x40], xmm1
movdqu xmm1, xmmword [rcx + rdx - 0x30]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmmword [rdx - 0x30], xmm1
movdqu xmm1, xmmword [rcx + rdx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rdx - 0x20], xmm1
cmp r8, rsi
jb 0x140246170
jmp 0x1402461f9
mov r9, r14
mov rdx, rbp
sub r9, rbp
nop dword [rax + rax]
mov ecx, dword [r9 + rdx]
lea rdx, [rdx + 4]
xor ecx, dword [rax]
lea rax, [rax + 4]
inc r8
mov dword [rdx - 4], ecx
cmp r8, rsi
jb 0x1402461e0
mov r8, r12
mov rdx, rbp
mov rcx, r14
call fcn.140245b60
sub r15, 1
jne 0x140246103
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x68]
test rsi, rsi
je 0x140246258
nop
mov ecx, dword [r14 + rdi*4]
mov eax, ecx
mov byte [rbx], cl
lea rbx, [rbx + 4]
shr eax, 8
inc rdi
mov byte [rbx - 3], al
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [rbx - 2], al
mov byte [rbx - 1], cl
cmp rdi, rsi
jb 0x140246230
add rsp, 0x38
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x140246fc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push r12
push r15
mov eax, 0x48
call fcn.1402a15c0
sub rsp, rax
mov rdi, qword [rsp + 0xa0]
mov r12, rdx
test rdx, rdx
mov r15, r9
mov rdx, r8
mov rbp, r8
je 0x140247203
mov qword [rsp + 0x70], rbx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x80], r13
mov r13, qword [rsp + 0x98]
mov qword [rsp + 0x40], r14
lea r14, [r9 + 1]
mov r9, qword [rsp + 0x90]
mov qword [rsp + 0x30], rbx
shr r14, 1
mov r8, r14
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x20], r13
call fcn.140246db0
test eax, eax
je 0x1402470a4
mov r8d, 0x1b8
lea rdx, str.providersimplementationskdfs_tls1_prf.c
mov rcx, rbx
call fcn.1401399f0
mov rsi, rax
test rax, rax
je 0x1402470a4
mov r9, qword [rsp + 0x90]
sub rbp, r14
mov qword [rsp + 0x30], rbx
mov r8, r14
mov qword [rsp + 0x28], rax
mov rcx, r12
mov qword [rsp + 0x20], r13
lea rdx, [r15 + rbp]
call fcn.140246db0
test eax, eax
jne 0x1402470c8
mov r9d, 0x1bd
lea r8, str.providersimplementationskdfs_tls1_prf.c
mov rdx, rbx
mov rcx, rsi
call fcn.140139b60
xor eax, eax
mov rsi, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x40]
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbp
ret
xor ecx, ecx
test rbx, rbx
je 0x1402471e1
cmp rbx, 8
jb 0x1402471b6
lea rdx, [rdi - 1]
lea rax, [rbx - 1]
add rdx, rbx
add rax, rsi
cmp rdi, rax
ja 0x1402470f9
cmp rdx, rsi
jae 0x1402471b6
mov rdx, rsi
cmp rbx, 0x40
jb 0x140247184
mov r8, rbx
mov r9, rbx
and r8d, 0x3f
sub r9, r8
lea rax, [rdi + 0x10]
sub rdx, rdi
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rcx, 0x40
movdqu xmm1, xmmword [rdx + rax - 0x10]
movdqu xmm2, xmmword [rdx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rdx + rax - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rdx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rcx, r9
jb 0x140247120
cmp r8, 8
jb 0x1402471b1
jmp 0x140247187
sub rdx, rdi
mov r8, rbx
and r8, 0xfffffffffffffff8
lea rax, [rcx + rdi]
movq xmm0, qword [rax]
add rcx, 8
movq xmm1, qword [rdx + rax]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rax - 8], xmm1
cmp rcx, r8
jb 0x140247192
cmp rcx, rbx
jae 0x1402471e1
mov r8, rsi
lea rax, [rcx + rdi]
sub r8, rdi
mov rdx, rbx
sub rdx, rcx
nop word [rax + rax]
movzx ecx, byte [rax + r8]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1402471d0
mov r9d, 0x1c2
lea r8, str.providersimplementationskdfs_tls1_prf.c
mov rdx, rbx
mov rcx, rsi
call fcn.140139b60
mov eax, 1
jmp 0x1402470a6
mov rax, qword [rsp + 0xa8]
mov r8, r15
mov r9, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.140246db0
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbp
ret