Function at 0x1401530f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
mov eax, 0x2e0
call fcn.1401ef830
sub rsp, rax
mov rax, qword [0x140310170]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r14, qword [rbp + 0x248]
mov ebx, edx
mov rdi, qword [rbp + 0x258]
mov rsi, rcx
mov dword [rsp + 0x34], r9d
mov r13d, 1
mov qword [rsp + 0x38], r8
test r14, r14
jne 0x140153171
mov edx, 0xa2
mov dword [rsp + 0x20], 0x139
lea r9, str..cryptoevpevp_lib.c
lea ecx, [r14 + 6]
lea r8d, [rdx - 3]
call fcn.1400a36f0
xor eax, eax
jmp 0x140153514
movsxd r15, dword [r14 + 8]
test r15d, r15d
js 0x14015320f
xor edx, edx
lea rcx, [rbp + 0x68]
mov r8d, 0x90
call fcn.14020fde0
xor ecx, ecx
mov qword [rbp + 0x60], rcx
test rsi, rsi
jne 0x14015319e
mov ebx, ecx
jmp 0x1401531c5
cmp ebx, 0xffffffff
jne 0x1401531c5
mov rax, rsi
mov ebx, ecx
cmp byte [rsi], cl
je 0x1401531c1
nop dword [rax]
cmp ebx, 0x80000000
jae 0x1401531c1
inc rax
inc ebx
cmp byte [rax], cl
jne 0x1401531b0
btr ebx, 0x1f
mov qword [rsp + 0x20], rcx
mov r9, r14
lea rcx, [rbp + 0x60]
mov r8d, ebx
mov rdx, rsi
call fcn.14011bf80
test eax, eax
jne 0x140153216
lea rcx, [rbp + 0x98]
call fcn.1400c8630
lea rcx, [rbp + 0xc8]
call fcn.1400c8630
lea rcx, [rbp + 0x68]
call fcn.1400c8630
mov edx, 0x120
lea rcx, [rbp + 0x60]
call fcn.1400011e0
xor eax, eax
jmp 0x140153514
mov eax, dword [rbp + 0x250]
mov qword [rsp + 0x2d8], r12
test eax, eax
je 0x1401534d8
mov r12d, dword [rbp + 0x240]
nop dword [rax]
nop word [rax + rax]
cmp eax, r15d
mov byte [rsp + 0x33], r13b
mov ebx, eax
lea rdx, [rbp + 0x60]
cmovg ebx, r15d
lea rcx, [rsp + 0x40]
mov eax, r13d
shr eax, 0x18
mov byte [rsp + 0x30], al
mov eax, r13d
shr eax, 0x10
mov byte [rsp + 0x31], al
mov eax, r13d
shr eax, 8
mov byte [rsp + 0x32], al
call fcn.14011c320
test eax, eax
je 0x140153597
cmp qword [rsp + 0x40], 0
je 0x140153535
movsxd r8, dword [rsp + 0x34]
lea rcx, [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
test eax, eax
je 0x140153535
cmp qword [rsp + 0x40], 0
je 0x140153535
mov r8d, 4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
test eax, eax
je 0x140153535
cmp qword [rsp + 0x40], 0
je 0x140153535
xor r8d, r8d
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x40]
call fcn.14011c200
test eax, eax
je 0x140153535
lea rcx, [rsp + 0x78]
call fcn.1400c8630
lea rcx, [rbp - 0x58]
call fcn.1400c8630
lea rcx, [rsp + 0x48]
call fcn.1400c8630
mov edx, 0x120
lea rcx, [rsp + 0x40]
call fcn.1400011e0
movsxd r14, ebx
lea rdx, [rbp + 0x180]
mov r8, r14
mov rcx, rdi
call fcn.14020f990
mov esi, 1
cmp r12d, esi
jle 0x1401534bc
nop dword [rax + rax]
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.14011c320
test eax, eax
je 0x140153597
cmp qword [rsp + 0x40], 0
je 0x140153535
mov r8, r15
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x48]
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
test eax, eax
je 0x140153535
cmp qword [rsp + 0x40], 0
je 0x140153535
xor r8d, r8d
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x40]
call fcn.14011c200
test eax, eax
je 0x140153535
lea rcx, [rsp + 0x78]
call fcn.1400c8630
lea rcx, [rbp - 0x58]
call fcn.1400c8630
lea rcx, [rsp + 0x48]
call fcn.1400c8630
mov edx, 0x120
lea rcx, [rsp + 0x40]
call fcn.1400011e0
xor r9d, r9d
test ebx, ebx
jle 0x140153485
cmp ebx, 0x20
jb 0x140153485
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rbp + 0x180]
add rax, rcx
lea rdx, [rcx + rdi]
cmp rdi, rax
ja 0x14015341a
lea rax, [rbp + 0x180]
cmp rdx, rax
jae 0x140153485
mov ecx, ebx
and ecx, 0x8000001f
jge 0x14015342b
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebx
lea r8, [rbp + 0x180]
sub eax, ecx
lea r10, [rbp + 0x190]
movsxd rdx, eax
mov rcx, rdi
mov rax, rdi
neg rax
add r8, rax
add r10, rax
nop
movdqu xmm0, xmmword [rcx]
add r9, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r10 + rcx - 0x20]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp r9, rdx
jl 0x140153450
cmp r9, r14
jge 0x1401534b1
lea r8, [rbp + 0x180]
mov rdx, r14
sub r8, rdi
lea rax, [r9 + rdi]
sub rdx, r9
nop
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1401534a0
inc esi
cmp esi, r12d
jl 0x140153350
mov eax, dword [rbp + 0x250]
inc r13d
sub eax, ebx
add rdi, r14
mov dword [rbp + 0x250], eax
test eax, eax
jne 0x140153240
lea rcx, [rbp + 0x98]
call fcn.1400c8630
lea rcx, [rbp + 0xc8]
call fcn.1400c8630
lea rcx, [rbp + 0x68]
call fcn.1400c8630
mov edx, 0x120
lea rcx, [rbp + 0x60]
call fcn.1400011e0
mov eax, 1
mov r12, qword [rsp + 0x2d8]
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1401ef4e0
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [rbp + 0x98]
call fcn.1400c8630
lea rcx, [rbp + 0xc8]
call fcn.1400c8630
lea rcx, [rbp + 0x68]
call fcn.1400c8630
mov edx, 0x120
lea rcx, [rbp + 0x60]
call fcn.1400011e0
lea rcx, [rsp + 0x78]
call fcn.1400c8630
lea rcx, [rbp - 0x58]
call fcn.1400c8630
lea rcx, [rsp + 0x48]
call fcn.1400c8630
mov edx, 0x120
lea rcx, [rsp + 0x40]
call fcn.1400011e0
xor eax, eax
jmp 0x14015350c
lea rcx, [rbp + 0x98]
call fcn.1400c8630
lea rcx, [rbp + 0xc8]
call fcn.1400c8630
lea rcx, [rbp + 0x68]
call fcn.1400c8630
mov edx, 0x120
lea rcx, [rbp + 0x60]
call fcn.1400011e0
xor eax, eax
jmp 0x14015350c