Function at 0x140161c40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x10], edx
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0x40
call fcn.1400fe1d0
sub rsp, rax
mov r15d, dword [rsp + 0x90]
xor ebp, ebp
movsxd rdi, r9d
mov rsi, r8
mov r14, rcx
mov r13d, ebp
test edx, edx
jle 0x140161ffb
test r9d, r9d
jle 0x140161ffb
cmp edi, r15d
jg 0x140161fdb
cmp r15d, 0xb
jl 0x140161fdb
lea r8d, [rax + 0x3f]
mov qword [rsp + 0x70], rbx
lea rdx, [0x140289048]
mov ecx, r15d
call fcn.1400e9750
mov rbx, rax
test rax, rax
jne 0x140161cf3
lea r9, [0x140289060]
mov dword [rsp + 0x20], 0x81
lea edx, [rbp + 0x72]
lea ecx, [rbp + 4]
lea r8d, [rbp + 0x41]
call fcn.1400d2310
lea eax, [rbp - 1]
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
movsxd rax, r15d
add rsi, rdi
mov qword [rsp + 0x38], rax
add rbx, rax
mov qword [rsp + 0x80], r12
mov rdx, r15
nop dword [rax]
mov eax, edi
lea ecx, [rdi - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
mov r8, rbx
and ecx, eax
dec rbx
dec ecx
mov eax, ecx
and eax, 1
sub edi, eax
mov eax, ecx
and eax, 1
sub rsi, rax
movzx eax, byte [rsi]
and al, cl
mov byte [rbx], al
sub rdx, 1
jne 0x140161d10
movzx esi, byte [r8]
lea r10d, [rdx + 2]
movzx eax, al
lea rdi, [rbx + 2]
dec eax
xor esi, 2
shr eax, 0x1f
dec esi
neg eax
shr esi, 0x1f
neg esi
mov r9d, ebp
and esi, eax
mov r11d, ebp
mov eax, esi
mov r8d, 0xffffffff
not eax
mov dword [rsp + 0x30], eax
nop dword [rax]
movzx edx, byte [rdi]
lea rdi, [rdi + 1]
lea ecx, [rdx - 1]
xor edx, 3
dec edx
shr ecx, 0x1f
neg ecx
shr edx, 0x1f
and r8d, ecx
or r9d, ecx
mov eax, r8d
neg edx
and r8d, r10d
not eax
and r13d, eax
or edx, r9d
or r13d, r8d
inc r10d
mov r8d, r9d
not r8d
mov eax, r8d
and eax, 1
add eax, r11d
mov r11d, edx
and r11d, eax
cmp r10d, r15d
jl 0x140161d80
mov r10d, dword [rsp + 0x30]
lea eax, [r13 - 0xa]
or eax, r13d
mov r12d, r15d
xor eax, r13d
sub r12d, r13d
shr eax, 0x1f
dec r12d
dec eax
and esi, eax
lea eax, [r11 - 8]
or eax, r11d
mov r9d, esi
xor eax, r11d
or r9d, r10d
mov r11d, dword [rsp + 0x78]
mov ecx, esi
shr eax, 0x1f
not ecx
dec eax
and r10d, r9d
and esi, eax
and r10d, 0x6b
mov r8d, esi
mov edx, esi
or r8d, ecx
not edx
mov ecx, r11d
mov eax, r12d
xor eax, r11d
sub ecx, r12d
xor ecx, r12d
mov edi, r9d
or ecx, eax
not edi
xor ecx, r11d
and edi, 0x71
or edi, r10d
shr ecx, 0x1f
and edi, r8d
dec ecx
not r8d
and esi, ecx
and r8d, 0x73
lea ecx, [r15 - 0xb]
or edi, r8d
mov eax, esi
or eax, edx
mov edx, ecx
and edi, eax
sub edx, r11d
xor edx, r11d
not eax
and eax, 0x6d
or edi, eax
mov eax, ecx
xor eax, r11d
mov dword [rsp + 0x78], edi
or edx, eax
xor edx, ecx
lea ecx, [r15 - 0xb]
shr edx, 0x1f
mov eax, ecx
neg edx
and eax, edx
mov r8d, edx
not r8d
and r8d, r11d
mov r11d, 1
or r8d, eax
mov dword [rsp + 0x30], r8d
cmp ecx, r11d
jle 0x140161f21
mov r13d, r15d
sub r13d, r12d
add r13d, 0xfffffff5
nop dword [rax]
mov eax, r13d
and eax, r11d
lea r8d, [rax - 1]
not eax
shr eax, 0x1f
shr r8d, 0x1f
and r8d, eax
mov eax, r15d
sub eax, r11d
dec r8d
movsxd r9, eax
cmp r9, 0xb
jle 0x140161f10
movzx r10d, r8b
movsxd rdi, r11d
not r10b
lea rax, [rbx + 0xb]
add r9, 0xfffffffffffffff5
nop word [rax + rax]
movzx edx, byte [rax + rdi]
movzx ecx, byte [rax]
lea rax, [rax + 1]
and dl, r8b
and cl, r10b
or dl, cl
mov byte [rax - 1], dl
sub r9, 1
jne 0x140161ef0
lea ecx, [r15 - 0xb]
add r11d, r11d
cmp r11d, ecx
jl 0x140161eb0
mov edi, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x30]
movsxd r10, r8d
test r8d, r8d
jle 0x140161f87
mov r9d, r12d
mov r11, rbx
shr r9d, 0x1f
sub r11, r14
nop word [rax + rax]
mov r8d, ebp
lea r14, [r14 + 1]
sub r8d, r12d
mov ecx, ebp
shr r8d, 0x1f
movzx eax, r9b
xor r8b, r9b
shr ecx, 0x1f
xor al, cl
inc ebp
or r8b, al
movzx eax, byte [r11 + r14 + 0xa]
xor r8b, cl
neg r8b
and r8b, sil
and al, r8b
not r8b
and r8b, byte [r14 - 1]
or al, r8b
mov byte [r14 - 1], al
sub r10, 1
jne 0x140161f40
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.14010d170
mov rcx, rbx
call fcn.1400e9870
mov edx, WSACleanup
mov dword [rsp + 0x20], 0xd8
lea r9, str..crypto_rsa_rsa_ssl.c
mov r8d, edi
lea ecx, [rdx - 0x6e]
call fcn.1400d2310
mov ecx, esi
and ecx, 1
call fcn.1400d3110
mov eax, esi
not esi
and eax, r12d
mov r12, qword [rsp + 0x80]
or eax, esi
jmp 0x140161cd9
mov edx, WSACleanup
mov dword [rsp + 0x20], 0x7b
lea r9, [0x140289030]
lea ecx, [rdx - 0x6e]
lea r8d, [rdx - 3]
call fcn.1400d2310
mov eax, 0xffffffff
jmp 0x140161cde