Function at 0x1402569c0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
mov eax, 0xe8
call fcn.14026ff20
sub rsp, rax
mov rax, qword [0x1403e5188]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, qword [rsp + 0x140]
mov rdi, rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], r8
mov rbx, r9
mov qword [rsp + 0x48], rdx
mov rbp, r8
xor r12d, r12d
call fcn.1401f9fc0
test rbx, rbx
mov rax, rbp
mov rcx, rbp
cmovne rax, rbx
mov qword [rsp + 0x38], rax
call fcn.1401b9970
movsxd r13, eax
test eax, eax
js 0x140256e25
mov ebp, dword [rsp + 0x148]
cmp ebp, 0xffffffff
jne 0x140256a99
mov ebp, r13d
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0xd8], r15
call fcn.1401bf8d0
mov rcx, rdi
lea r15d, [rax - 1]
and r15d, 7
call fcn.1401b3a60
mov ecx, r15d
mov edx, 0xff
shl edx, cl
mov ebx, eax
test byte [rsi], dl
je 0x140256ac9
mov edx, 0x95
mov dword [rsp + 0x20], 0x76
lea r9, [0x1403e2a88]
mov ecx, 4
lea r8d, [rdx - 0x10]
call fcn.1401b8970
jmp 0x140256e1d
cmp ebp, 0xfffffffe
jne 0x140256aa0
jmp 0x140256a41
jge 0x140256a41
mov edx, 0x95
mov dword [rsp + 0x20], WSAStartup
lea r9, [0x1403e2a70]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.1401b8970
jmp 0x140256e25
test r15d, r15d
jne 0x140256ad0
dec ebx
test r15d, r15d
lea rdi, [rsi + 1]
lea eax, [r13 + 2]
cmovne rdi, rsi
add eax, ebp
cmp ebx, eax
jge 0x140256b0c
mov edx, 0x95
mov dword [rsp + 0x20], 0x7e
lea r9, [0x1403e2aa0]
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.1401b8970
jmp 0x140256e1d
movsxd rax, ebx
cmp byte [rax + rdi - 1], 0xbc
je 0x140256b3d
mov edx, 0x95
mov dword [rsp + 0x20], 0x82
lea r9, [0x1403e2ab8]
mov ecx, 4
lea r8d, [rdx - 0xf]
call fcn.1401b8970
jmp 0x140256e1d
sub ebx, r13d
mov qword [rsp + 0xe0], r14
dec ebx
lea rdx, [0x1403e2ad0]
movsxd r14, ebx
mov r8d, 0x87
mov ecx, ebx
lea rax, [r14 + rdi]
mov qword [rsp + 0x30], rax
call fcn.1401b5390
mov rsi, rax
test rax, rax
jne 0x140256b97
lea r9, [0x1403e2ae8]
mov dword [rsp + 0x20], 0x89
mov edx, 0x95
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.1401b8970
jmp 0x140256e15
mov rax, qword [rsp + 0x38]
mov r9d, r13d
mov r8, qword [rsp + 0x30]
mov edx, ebx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14020ad80
test eax, eax
js 0x140256e0d
mov r8d, r12d
test ebx, ebx
jle 0x140256c80
cmp ebx, 0x40
jb 0x140256c80
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rdi]
lea rdx, [rcx + rsi]
cmp rsi, rax
ja 0x140256beb
cmp rdx, rdi
jae 0x140256c80
mov ecx, ebx
and ecx, 0x8000003f
jge 0x140256bfc
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, ebx
mov rdx, rdi
sub eax, ecx
sub rdx, rsi
mov r9, 0xfffffffffffffff0
movsxd r10, eax
sub r9, rsi
lea rcx, [rsi + 0x10]
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
add r8d, 0x40
movdqu xmm1, xmmword [rcx + rdx - 0x10]
movdqu xmm2, xmmword [rcx + rdx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [rcx + r9]
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rcx + rdx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rcx + rdx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r10
jl 0x140256c20
movsxd rax, r8d
cmp rax, r14
jge 0x140256cb0
sub rdi, rsi
lea rcx, [rax + rsi]
sub r14, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x140256ca0
test r15d, r15d
je 0x140256cc6
mov ecx, 8
mov eax, 0xff
sub ecx, r15d
sar eax, cl
and byte [rsi], al
movzx eax, byte [rsi]
mov edi, r12d
test al, al
jne 0x140256ce4
lea ecx, [rbx - 1]
mov rax, rsi
cmp edi, ecx
jge 0x140256ce4
inc rax
inc edi
cmp byte [rax], r12b
je 0x140256cd6
movsxd rax, edi
inc edi
cmp byte [rax + rsi], 1
je 0x140256d16
mov edx, 0x95
mov dword [rsp + 0x20], 0x94
lea r9, [0x1403e2b00]
mov ecx, 4
lea r8d, [rdx - 0xe]
call fcn.1401b8970
jmp 0x140256e0d
sub ebx, edi
test ebp, ebp
js 0x140256d47
cmp ebx, ebp
je 0x140256d47
mov edx, 0x95
mov dword [rsp + 0x20], 0x98
lea r9, [0x1403e2b18]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.1401b8970
jmp 0x140256e0d
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.1401f9890
test eax, eax
je 0x140256e0d
mov r8d, 8
lea rdx, [0x140342880]
lea rcx, [rsp + 0x50]
call fcn.1401f9ad0
test eax, eax
je 0x140256e0d
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov r8, r13
call fcn.1401f9ad0
test eax, eax
je 0x140256e0d
test ebx, ebx
je 0x140256db1
movsxd rdx, edi
lea rcx, [rsp + 0x50]
add rdx, rsi
movsxd r8, ebx
call fcn.1401f9ad0
test eax, eax
je 0x140256e0d
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.1401f97c0
test eax, eax
je 0x140256e0d
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x80]
mov r8, r13
call fcn.1402b61e5
test eax, eax
je 0x140256e07
mov edx, 0x95
mov dword [rsp + 0x20], 0xa6
lea r9, [0x1403e2b30]
mov ecx, 4
lea r8d, [rdx - 0x2d]
call fcn.1401b8970
jmp 0x140256e0d
mov r12d, 1
mov rcx, rsi
call fcn.1401b5130
mov r14, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xd8]
lea rcx, [rsp + 0x50]
call fcn.1401f9af0
mov eax, r12d
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14026fc70
add rsp, 0xe8
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret