Function at 0x14000ec40
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140353c70]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rdi, rcx
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
lea r8d, [r15 + 6]
lea rdx, str.ci.dll
lea rcx, [rsp + 0x48]
call fcn.140002ef0
nop
lea rcx, [rsp + 0x48]
call fcn.140015bc0
mov rbx, rax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14000ecf9
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ecf4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ecf4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140247544
test rbx, rbx
je 0x14000f35f
movups xmm0, xmmword [0x1402f9578]
movups xmmword [rsp + 0x48], xmm0
movzx eax, byte [0x1402f9588]
mov byte [rsp + 0x58], al
mov r8d, r15d
mov r14d, 4
lea r12d, [r14 + 0x1b]
mov esi, dword [0x140353c80]
cmp esi, 2
jl 0x14000ee77
movdqa xmm5, xmmword [0x140304160]
movdqa xmm4, xmmword [0x1403042b0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x140304180]
movd xmm8, r12d
movdqa xmm0, xmmword [0x140304250]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x48]
mov edx, dword [rbp - 0x70]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140304200]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140304200]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
pxor xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14000ed70
cmp r8d, 0x11
jge 0x14000eec0
movsxd rax, r8d
lea r9, [rsp + 0x48]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x14000ee90
movzx eax, byte [0x1402f96b0]
movups xmm0, xmmword [0x1402f96a0]
mov byte [rsp + 0x40], al
movups xmmword [rsp + 0x30], xmm0
mov r8d, r15d
cmp esi, 2
jl 0x14000f027
movdqa xmm5, xmmword [0x140304160]
movdqa xmm4, xmmword [0x1403042b0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x140304180]
movd xmm8, r12d
movdqa xmm0, xmmword [0x140304250]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x30]
mov edx, dword [rbp - 0x70]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140304200]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140304200]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
pxor xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14000ef20
cmp r8d, 0x11
jge 0x14000f070
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x14000f040
mov eax, dword [0x1402f9540]
mov dword [rsp + 0x68], eax
movzx eax, byte [0x1402f9544]
mov byte [rsp + 0x68], 0x50
xor byte [rsp + 0x69], 0x38
xor byte [rsp + 0x6a], 0x39
xor byte [rsp + 0x6b], 0x3a
xor al, 0x3b
mov byte [rsp + 0x6c], al
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov r8, rbx
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.14000eac0
mov rbx, rax
test rax, rax
je 0x14000f35f
mov ecx, dword [str.O_A:]
mov dword [rsp + 0x70], ecx
cmp byte [0x1402f95db], 0
je 0x14000f1af
cmp esi, 2
jl 0x14000f16e
movdqa xmm3, xmmword [0x140304160]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x1403042b0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x1403042b0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r12d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140304180]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140304200]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140304250]
movd xmm0, ecx
pxor xmm2, xmm0
movd dword [rsp + 0x70], xmm2
jmp 0x14000f1af
lea r9, [rsp + 0x70]
mov r8d, r15d
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r14d
jl 0x14000f180
mov eax, dword [0x140301f3c]
mov dword [rsp + 0x68], eax
cmp byte [0x140301f3f], 0
je 0x14000f28f
cmp esi, 2
jl 0x14000f257
movdqa xmm3, xmmword [0x140304160]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x1403042b0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x1403042b0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r12d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140304180]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140304200]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140304250]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rsp + 0x68], xmm2
jmp 0x14000f28f
lea r9, [rsp + 0x68]
mov r8d, r15d
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r14d
jl 0x14000f260
lea rdx, [rbx - 0x32]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x68]
mov r8d, gethostbyname
mov rcx, rdi
call fcn.14000e9b0
mov rsi, rax
test rax, rax
je 0x14000f35f
mov dword [rsp + 0x68], r15d
lea r8, [rbx + 3]
mov r9, r14
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.14000c9b0
test al, al
jne 0x14000f2de
mov r12, r15
jmp 0x14000f2ea
movsxd r12, dword [rsp + 0x68]
add r12, 7
add r12, rbx
mov qword [rbp - 0x80], r12
mov dword [rsp + 0x68], r15d
lea r8, [rsi + 3]
mov r9, r14
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.14000c9b0
test al, al
jne 0x14000f310
mov r13, r15
jmp 0x14000f31c
movsxd r13, dword [rsp + 0x68]
add r13, 7
add r13, rsi
test r12, r12
je 0x14000f35f
test r13, r13
je 0x14000f35f
mov rdx, r13
mov rcx, rdi
call fcn.14000d1d0
test al, al
je 0x14000f35f
mov qword [rsp + 0x78], r15
mov r9d, 8
mov r8, r12
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.14000c9b0
test al, al
jne 0x14000f39d
mov rdx, r13
mov rcx, rdi
call fcn.14000d4f0
xor al, al
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.1402474e0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp qword [rsp + 0x78], 0
jne 0x14000f3b4
mov rdx, r13
mov rcx, rdi
call fcn.14000d4f0
mov al, 1
jmp 0x14000f361
lea rcx, [rbp - 0x60]
call fcn.14000a960
nop
lea rcx, [rbp - 0x40]
call fcn.14000aa80
nop
mov rax, qword [rbp - 0x30]
lea rbx, [rax*2 - 4]
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14000f61f
mov r14, 0xffffffffffffffff
mov rsi, qword [rbp - 0x50]
nop dword [rax]
nop word [rax + rax]
mov word [rsp + 0x70], r15w
lea r8, [rax + 8]
mov r9d, 2
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.14000c9b0
test al, al
je 0x14000f61f
movzx eax, word [rsp + 0x70]
test ax, ax
je 0x14000f61f
cmp rbx, rax
jne 0x14000f5ee
mov qword [rbp - 0x78], r15
mov r8, qword [rsp + 0x78]
add r8, 0x10
mov r9d, 8
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.14000c9b0
test al, al
je 0x14000f61f
cmp qword [rbp - 0x78], 0
je 0x14000f61f
movzx ecx, word [rsp + 0x70]
shr rcx, 1
inc rcx
mov eax, 2
mul rcx
mov rbx, rax
cmovo rbx, r14
mov rcx, rbx
call fcn.140247a64
mov r15, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x70], r15
movzx r9d, word [rsp + 0x70]
mov r8, qword [rbp - 0x78]
mov rdx, r15
mov rcx, rdi
call fcn.14000c9b0
test al, al
je 0x14000f839
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.1400105f0
mov r11, rax
lea r10, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae r10, qword [rbp - 0x60]
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14000f4ed
mov r11, qword [rax]
cmp rsi, rcx
ja 0x14000f58f
test rsi, rsi
jne 0x14000f502
xor ebx, ebx
jmp 0x14000f592
sub rcx, rsi
lea r12, [rcx + 1]
lea r12, [r11 + r12*2]
mov rbx, r11
movzx r9d, word [r10]
nop dword [rax]
nop dword [rax + rax]
mov rax, r12
sub rax, rbx
sar rax, 1
mov ecx, 0
je 0x14000f54c
cmp word [rbx], r9w
je 0x14000f549
cmp rax, 1
je 0x14000f54c
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x14000f536
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x14000f58b
mov rdx, rsi
mov rcx, r10
test rsi, rsi
je 0x14000f579
mov r8, rbx
sub r8, r10
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x14000f585
add rcx, 2
sub rdx, 1
jne 0x14000f565
sub rbx, r11
sar rbx, 1
mov r12, qword [rbp - 0x80]
jmp 0x14000f592
add rbx, 2
jmp 0x14000f520
mov r12, qword [rbp - 0x80]
mov rbx, r14
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14000f5d4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f5cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000f676
call fcn.140247544
cmp rbx, 0xffffffffffffffff
jne 0x14000f67d
mov rcx, r15
call fcn.140247544
mov rbx, qword [rsp + 0x30]
xor r15d, r15d
mov r12, qword [rsp + 0x78]
mov qword [rbp - 0x80], r12
mov r9d, 8
mov r8, r12
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.14000c9b0
test al, al
je 0x14000f61f
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x14000f400
mov rdx, r13
mov rcx, rdi
call fcn.14000d4f0
xor bl, bl
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x14000f859
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f853
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000f853
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor esi, esi
mov qword [rbp - 0x80], rsi
lea r9d, [rsi + 8]
mov r8, qword [rsp + 0x78]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14000c9b0
mov rcx, rdi
test al, al
je 0x14000f83c
lea r9d, [rsi + 8]
lea r8, [rbp - 0x80]
mov rdx, r12
call fcn.14000c9b0
test al, al
je 0x14000f839
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x14000f839
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14035ab64], eax
jle 0x14000f80b
lea rcx, [0x14035ab64]
call fcn.140247bf4
cmp dword [0x14035ab64], 0xffffffff
jne 0x14000f80b
movsd xmm0, qword [0x1402f9590]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [0x1402f9598]
mov word [rsp + 0x38], ax
movzx ecx, byte [0x1402f959a]
mov byte [rsp + 0x30], 0x45
xor byte [rsp + 0x31], 0x38
xor byte [rsp + 0x32], 0x39
xor byte [rsp + 0x33], 0x3a
xor byte [rsp + 0x34], 0x3b
xor byte [rsp + 0x35], 0x3c
xor byte [rsp + 0x36], 0x3d
xor byte [rsp + 0x37], 0x3e
xor al, 0x3f
mov byte [rsp + 0x38], al
xor byte [rsp + 0x39], 0x40
xor cl, 0x41
mov byte [rsp + 0x3a], cl
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
lea rax, [rsp + 0x30]
inc r14
cmp byte [rax + r14], 0
jne 0x14000f774
mov r8, r14
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.140002ef0
nop
lea r8, [rsp + 0x48]
mov rdx, qword [0x14035a9f8]
mov rcx, rdi
call fcn.14000cbd0
mov qword [0x14035ab50], rax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14000f7ec
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f7e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000f7e7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140247544
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], 0
lea rcx, [0x14035ab64]
call fcn.140247b94
mov r8, qword [0x14035ab50]
test r8, r8
je 0x14000f839
mov r9, rbx
mov rcx, rdi
call fcn.140010b00
test al, al
je 0x14000f839
mov rdx, r13
mov rcx, rdi
call fcn.14000d4f0
test al, al
je 0x14000f839
mov bl, 1
jmp 0x14000f846
mov rcx, rdi
mov rdx, r13
call fcn.14000d4f0
xor bl, bl
mov rcx, r15
call fcn.140247544
jmp 0x14000f62c
call fcn.140247544
nop
mov rax, qword [rbp - 0x48]
cmp rax, 8
jb 0x14000f89c
lea rdx, [rax*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f897
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000f897
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140247544
movzx eax, bl
jmp 0x14000f361