Function at 0x14005fbfc
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x10
lea rbp, [rsp + 0x10]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x1402a5c28]
mov ecx, dword [0x1402a5c2c]
shrd ecx, eax, 0xb
xor ecx, 0x85455223
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rcx, rsp
imul eax, dword [0x1402a5c30], 0x48c5bae3
imul edx, dword [0x1402a5c34], 0x6046fc00
add eax, edx
add eax, 0xfed3b0f
imul rax, rax, 0x38
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r10, rsp
mov eax, dword [0x1402a5c38]
mov edx, dword [0x1402a5c3c]
shrd edx, eax, 0x11
xor edx, 0x49101e3c
mov eax, edx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rbx, rsp
imul eax, dword [0x1402a5c40], 0x8ee203ef
imul edx, dword [0x1402a5c44], 0xf806c1e6
add eax, edx
add eax, 0xe7d25f86
imul rax, rax, 0x38
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rdx, rsp
mov eax, dword [0x1402a5c48]
mov r9d, dword [0x1402a5c4c]
shrd r9d, eax, 0x10
xor r9d, 0x6f5829a9
mov eax, r9d
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov r9, rsp
mov eax, dword [0x1402a5c50]
mov r11d, dword [0x1402a5c54]
shrd r11d, eax, 0x1d
xor r11d, 0x253727b
mov eax, r11d
imul rax, rax, 0x38
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r11, rsp
mov eax, dword [0x1402a5c58]
mov r14d, dword [0x1402a5c5c]
shrd r14d, eax, 0xa
xor r14d, 0x429d8169
mov eax, r14d
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov r14, rsp
imul eax, dword [0x1402a5c60], 0xe42ff12a
imul r15d, dword [0x1402a5c64], 0xd570aee6
add eax, r15d
add eax, 0xb5f4178d
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
cmp qword [r8], rsi
jne 0x1400602de
mov qword [rdi], rsi
xorps xmm0, xmm0
movups xmmword [rdi + 8], xmm0
mov r10, qword [0x1402a5c70]
mov rbx, qword [0x1402a5c78]
shrd rbx, r10, 0x1d
movabs r10, 0x5c94bcc64400c837
xor r10, rbx
mov qword [rdi + 0x18], r10
movzx r10d, byte [rsi]
cmp r10d, 2
je 0x14005fdf8
cmp r10d, 1
jne 0x14005fe8d
lea rbx, [rdi + 8]
mov rcx, qword [rsi + 8]
mov rdx, qword [r8 + 8]
sub rsp, 0x20
call fcn.1400622ca
add rsp, 0x20
mov qword [rbx], rax
jmp 0x1400602cd
mov rbx, qword [rsi + 8]
mov r15, qword [rbx + 8]
mov qword [rdi + 0x10], r15
mov r14, qword [r8 + 0x10]
lea rax, [r14 + 0x10]
cmp rax, r15
je 0x14005fe65
mov rsi, rcx
mov r12, rax
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
mov al, byte [0x1402a5d9a]
mov cl, byte [reloc.WS2_32.dll_closesocket]
shr cl, 5
shl al, 3
or al, cl
xor al, 0x98
mov byte [r12], al
mov qword [r12 + 8], 0
lea rcx, [r12 - 0x10]
sub rsp, 0x20
mov rdx, rsi
call fcn.14001f518
add rsp, 0x20
add r12, 0x10
mov rax, r12
cmp r12, r15
jne 0x14005fe14
mov r15, qword [rbx + 8]
mov rcx, r15
mov dl, byte [r15 - 0x10]
add rcx, 0xfffffffffffffff8
nop
sub rsp, 0x20
call fcn.14002af04
add rsp, 0x20
nop
add qword [rbx + 8], 0xfffffffffffffff0
mov qword [rdi + 0x10], r14
jmp 0x1400602cd
mov rcx, qword [0x1402a5c80]
mov rbx, qword [0x1402a5c88]
shrd rbx, rcx, 0x11
mov ecx, r10d
movabs r15, 0x509a3c856979c295
xor r15, rbx
mov qword [rdi + 0x18], r15
mov bl, byte [0x1402a5c90]
mov r15b, byte [0x1402a5c91]
shr r15b, 2
shl bl, 6
or bl, r15b
xor bl, 0xbe
add bl, r10b
mov cl, byte [0x1402a5c92]
mov r15b, byte [0x1402a5c93]
shr r15b, 5
shl cl, 3
or cl, r15b
xor cl, 0x82
cmp bl, cl
jae 0x1400603ea
mov rax, qword [0x1402a5c98]
mov rcx, qword [0x1402a5ca0]
shrd rcx, rax, 0x3e
movabs rax, 0xc899204841792bf4
xor rax, rcx
cmp qword [r8 + 0x18], rax
jne 0x140060364
cmp r10d, 8
je 0x14006006b
cmp r10d, 3
jne 0x1400602b5
mov rbx, qword [rsi + 8]
mov rax, qword [rbx + 0x18]
movabs rcx, 0x4ee5f7b02056af1d
imul rcx, qword [0x1402a5cb0]
movabs rdx, 0x5dc736c1ec8f0bf4
imul rdx, qword [0x1402a5cb8]
add rdx, rcx
movabs rcx, 0xe05c0db516ead9be
add rcx, rdx
cmp rax, rcx
jbe 0x1400601db
mov rdx, qword [rbx]
mov rcx, qword [0x1402a5cc0]
mov r8, qword [0x1402a5cc8]
shrd r8, rcx, 0x17
movabs rcx, 0x31f3a712b9ea3f5c
xor rcx, r8
add rcx, rax
mov r8, qword [0x1402a5cd0]
mov r9, qword [0x1402a5cd8]
shrd r9, r8, 0x18
movabs r8, 0x5c5fc6693d322551
xor r8, r9
cmp rcx, r8
jbe 0x1400601c5
mov rcx, qword [rdx - 8]
movabs r8, 0xdb22d58028d360fb
imul r8, qword [0x1402a5ce0]
movabs r9, 0x1892f8550a88a37
imul r9, qword [0x1402a5ce8]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0xcb29fbc12d2f9226
add rdx, r9
mov r8, qword [0x1402a5cf0]
mov r9, qword [0x1402a5cf8]
shrd r9, r8, 0x11
movabs r8, 0xeeccef1671494669
xor r8, r9
cmp rdx, r8
jae 0x140060484
movabs rdx, 0x5ba3659586d0c6c6
imul rdx, qword [0x1402a5d00]
movabs r8, 0x9bb82ebf9da095bf
imul r8, qword [0x1402a5d08]
add r8, rdx
movabs rdx, 0x48f8272b945e3855
add rdx, r8
add rdx, rax
mov rax, rdx
jmp 0x1400601cb
lea rbx, [rsi + 8]
mov r14, qword [rsi + 8]
mov rdx, qword [r14]
test rdx, rdx
je 0x140060166
mov rax, qword [r14 + 0x10]
sub rax, rdx
movabs rcx, 0xb243e9c9b11c87c1
imul rcx, qword [0x1402a5d48]
movabs r8, 0x3d3d5c556a7abf97
imul r8, qword [0x1402a5d50]
add r8, rcx
movabs rcx, 0x5b823caaf14c1bff
add rcx, r8
cmp rax, rcx
jbe 0x14006016b
mov rcx, qword [rdx - 8]
movabs r8, 0x72feb856b7103148
imul r8, qword [0x1402a5d58]
movabs r9, 0x6ebe95dc578d2a37
imul r9, qword [0x1402a5d60]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0xc40fd61960d25298
add rdx, r9
mov r8, qword [0x1402a5d68]
mov r9, qword [0x1402a5d70]
shrd r9, r8, 0x1d
movabs r8, 0x9a881403b10cd667
xor r8, r9
cmp rdx, r8
jae 0x140060484
movabs rdx, 0x93b312287034edff
imul rdx, qword [0x1402a5d78]
movabs r8, 0x3b3fa364a85c5c88
imul r8, qword [0x1402a5d80]
add r8, rdx
movabs rdx, 0x85bc5da1c7506bbe
add rdx, r8
add rdx, rax
mov rax, rdx
jmp 0x14006016e
mov rcx, r14
jmp 0x140060190
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov rcx, qword [rbx]
mov rax, qword [0x1402a5d88]
mov r8, qword [0x1402a5d90]
shrd r8, rax, 0x2c
movabs rdx, 0xfaa0411615beda64
xor rdx, r8
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov r14, rbx
jmp 0x1400602ae
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
movabs rax, 0x69f170f13ca190e7
imul rax, qword [0x1402a5d10]
movabs rcx, 0x3523e058093f7d26
imul rcx, qword [0x1402a5d18]
add rcx, rax
movabs rax, 0x4740760ef21f53c5
add rax, rcx
mov qword [rbx + 0x10], rax
movabs rax, 0xac197ea5f741bfd4
imul rax, qword [0x1402a5d20]
movabs rcx, 0x213cd351aaba82da
imul rcx, qword [0x1402a5d28]
lea r14, [rsi + 8]
add rcx, rax
movabs rax, 0x859fdc5d2437e917
add rax, rcx
mov qword [rbx + 0x18], rax
mov al, byte [0x1402a5d30]
mov cl, byte [0x1402a5d31]
shr cl, 3
shl al, 5
or al, cl
xor al, 0xd6
mov byte [rbx], al
mov rcx, qword [r14]
movabs rax, 0xd6c5864248154bb7
imul rax, qword [0x1402a5d38]
movabs rdx, 0x583c8431e106969
imul rdx, qword [0x1402a5d40]
mov r8, rdx
add r8, rax
movabs rdx, 0x51244867a622fe67
add rdx, r8
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov qword [r14], 0
mov al, byte [0x1402a5d98]
mov cl, byte [0x1402a5d99]
shr cl, 6
shl al, 2
or al, cl
xor al, 0xdc
mov byte [rsi], al
mov rax, rdi
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov rdi, r10
mov r14, rbx
sub rsp, 0x20
lea rbx, [0x1402c01d4]
lea rdx, [0x140220f24]
mov rcx, rbx
call fcn.140074ed0
mov rcx, r14
mov rdx, rbx
call fcn.14001eba0
add rsp, 0x20
imul eax, dword [0x1402a5c68], 0x8fa104e4
imul ecx, dword [0x1402a5c6c], 0x741794d
lea edx, [rax + rcx]
add edx, 0xbf419489
nop
sub rsp, 0x20
mov rcx, rdi
mov qword [rbp - 0x10], r14
mov r8, r14
mov r9, rsi
call fcn.1400614d2
add rsp, 0x20
nop
nop
sub rsp, 0x20
lea rdx, [0x140243170]
mov rcx, rdi
call fcn.14019f724
add rsp, 0x20
nop
jmp 0x140060484
mov rdi, rdx
mov r14, r9
sub rsp, 0x20
lea rbx, [0x1402c01fc]
lea rdx, [0x140220f77]
mov rcx, rbx
call fcn.140074fb0
mov rcx, r14
mov rdx, rbx
call fcn.14001eba0
add rsp, 0x20
imul eax, dword [0x1402a5ca8], 0xddf5a51c
imul ecx, dword [0x1402a5cac], 0x693948e1
lea edx, [rax + rcx]
add edx, 0x7903a396
nop
sub rsp, 0x20
mov rcx, rdi
mov qword [rbp - 0x10], r14
mov r8, r14
mov r9, rsi
call fcn.1400614d2
add rsp, 0x20
nop
nop
sub rsp, 0x20
lea rdx, [0x140243170]
mov rcx, rdi
call fcn.14019f724
add rsp, 0x20
nop
jmp 0x140060484
mov rdi, r11
mov r15, r14
mov rbx, rax
sub rsp, 0x20
mov rcx, rsi
call fcn.140030388
add rsp, 0x20
mov qword [rbx], rax
sub rsp, 0x20
lea r14, [0x1402c0218]
lea rdx, [0x140220fbb]
mov rcx, r14
call fcn.140075090
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.14006219b
add rsp, 0x20
imul eax, dword [0x1402a5d9c], 0x409178c4
imul ecx, dword [0x1402a5da0], 0x8f29f64a
lea edx, [rax + rcx]
add edx, 0x53e2280d
nop
sub rsp, 0x20
mov rcx, rdi
mov qword [rbp - 0x10], r15
mov r8, r15
mov r9, rsi
call fcn.14003a3cc
add rsp, 0x20
nop
nop
sub rsp, 0x20
lea rdx, [0x140243250]
mov rcx, rdi
call fcn.14019f724
add rsp, 0x20
nop
sub rsp, 0x20
call fcn.1401aec6c
int3