Function at 0x14003f5c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140327010]
xor rax, rsp
mov qword [rbp + 8], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x40], rcx
xor r14d, r14d
call fcn.140082c20
mov rbx, rax
test rax, rax
jne 0x14003f63e
mov dword [rsi], r14d
mov byte [rsp + 0x40], r14b
lea rcx, [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], r14
lea rax, [rsp + 0x40]
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], r14b
jne 0x14003f623
mov r8, rdi
lea rdx, [rsp + 0x40]
call fcn.14004ddb0
jmp 0x14003fa14
cmp qword [rdi + 0x18], 0x10
jb 0x14003f648
mov rdi, qword [rdi]
mov r8, rdi
mov edx, 0x2712
mov rcx, rbx
call fcn.140085e70
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r14
mov r12d, reloc.WS2_32.dll_ntohs
mov qword [rbp], r12
mov byte [rbp - 0x18], r14b
lea r8, [0x14003f59c]
mov edx, 0x4e2b
mov rcx, rbx
call fcn.140085e70
lea r8, [rbp - 0x18]
mov edx, 0x2711
mov rcx, rbx
call fcn.140085e70
movsd xmm0, qword [str.FGPDYYT_]
movsd qword [rsp + 0x48], xmm0
movzx eax, word [0x1403127b0]
mov word [rsp + 0x50], ax
cmp byte [reloc.WLDAP32.dll_Ordinal_60], r14b
je 0x14003f6e8
mov r8d, r14d
lea r9, [rsp + 0x48]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 0xa
jl 0x14003f6c1
lea rax, [rsp + 0x48]
or rdi, 0xffffffffffffffff
mov rcx, rdi
inc rcx
cmp byte [rax + rcx], r14b
jne 0x14003f6f4
mov rdx, qword [0x1403788f8]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x14003fad3
lea rax, [0x1403788e8]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rax, qword [0x1403788e8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.140052338
nop
movsd xmm0, qword [0x140312cd0]
movsd qword [rsp + 0x48], xmm0
movzx eax, word [0x140312cd8]
mov word [rsp + 0x50], ax
mov al, byte [0x140312cda]
mov byte [rsp + 0x52], al
mov r8d, r14d
lea r9, [rsp + 0x48]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 0xb
jl 0x14003f77b
lea rax, [rsp + 0x48]
mov r8, rdi
inc r8
cmp byte [rax + r8], r14b
jne 0x14003f7aa
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.140048bd4
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r12
mov byte [rax], r14b
lea rdx, [0x140378948]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rdx, qword [0x140378948]
mov r8, qword [0x140378958]
lea rcx, [rsp + 0x58]
call fcn.140048bd4
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r12
mov byte [rax], r14b
mov r12d, 0x1000
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14003f87e
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, r12
jb 0x14003f879
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fad9
call fcn.140060290
movdqa xmm0, xmmword [0x1403143f0]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], r14b
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x14003f8c8
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, r12
jb 0x14003f8c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fac1
call fcn.140060290
movdqa xmm0, xmmword [0x1403143f0]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], r14b
lea r8, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae r8, qword [rbp - 0x38]
mov edx, 0x271f
mov rcx, rbx
call fcn.140085e70
mov rcx, rbx
call fcn.140082cd0
mov r10d, eax
test eax, eax
je 0x14003fa3a
movups xmm0, xmmword [0x140313980]
movups xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [0x140313990]
movsd qword [rbp - 0x50], xmm0
mov ecx, dword [0x140313998]
mov dword [rbp - 0x48], ecx
cmp byte [0x14031399b], r14b
je 0x14003f95f
mov r8d, r14d
lea r9, [rbp - 0x60]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 0x1c
jl 0x14003f938
mov ecx, r10d
call fcn.140084190
mov rbx, rax
lea rdx, [rbp - 0x60]
lea rcx, [0x14037a940]
call fcn.14004cc04
mov rcx, rax
mov rdx, rbx
call fcn.14004cc04
mov rcx, rax
call fcn.14004ce5c
mov dword [rsi], r14d
mov byte [rsp + 0x40], r14b
lea rcx, [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], r14
lea rax, [rsp + 0x40]
inc rdi
cmp byte [rax + rdi], r14b
jne 0x14003f9ac
mov r8, rdi
lea rdx, [rsp + 0x40]
call fcn.14004ddb0
jmp 0x14003fa86
call fcn.140060290
movdqa xmm0, xmmword [0x1403143f0]
mov byte [rbp - 0x38], r14b
movdqu xmmword [rbp - 0x28], xmm0
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x14003fa14
inc rdx
mov rcx, qword [rbp - 0x18]
cmp rdx, r12
mov rax, rcx
jb 0x14003fa0f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003facd
call fcn.140060290
mov rax, rsi
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.1400600c0
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [rbp - 0x40], r14d
lea r8, [rbp - 0x40]
mov edx, 0x200002
mov rcx, rbx
call fcn.140082d40
mov rcx, rbx
call fcn.140082d00
mov eax, dword [rbp - 0x40]
mov dword [rsi], eax
lea rcx, [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], r14
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
call fcn.14004de70
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x14003f9cc
inc rdx
mov rcx, qword [rbp - 0x38]
cmp rdx, r12
mov rax, rcx
jb 0x14003f9c7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fac7
jmp 0x14003f9c7
call fcn.140165210
nop
call fcn.140165210
nop
call fcn.140165210
nop
call fcn.1400382c0
nop
call fcn.140165210
int3