Function at 0x140025ff0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r12
push r14
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rax, qword [0x1400b7c40]
xor rax, rsp
mov qword [rbp - 1], rax
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
movzx r12d, r9b
mov dword [rbp - 0x11], edx
mov r14, r8
mov qword [rsp + 0x30], rbx
mov rsi, rcx
mov dword [rsp + 0x28], ebx
mov rcx, qword [rbp + 0x7f]
lea r8d, [rbx + 3]
xor r9d, r9d
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rbp - 9], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x1400264c9
cmp qword [rsi + 0x60], 0x10
lea rcx, [rsi + 0x48]
mov qword [rsp + 0x90], r15
jb 0x140026076
mov rcx, qword [rcx]
mov qword [rsp + 0x98], rdi
movaps xmmword [rsp + 0x80], xmm6
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r9, qword [rsi]
mov r15, rax
add r9, rax
je 0x140026480
movsxd rdi, dword [r14 + 0x3c]
lea rcx, [rbp - 0x11]
add rdi, r14
mov byte [rsp + 0x20], r12b
mov r8, rdi
mov rdx, r14
call fcn.1400235a0
mov r10, rax
test rax, rax
je 0x140026480
mov r8d, dword [rdi + 0x50]
add r8, qword [rsi]
mov edx, dword [rbp + 0x77]
add r8, r15
test edx, edx
je 0x1400264b5
sub edx, 1
je 0x14002628b
cmp edx, 1
jne 0x1400264c5
cmp dword [reloc.d2d1.dll_Ordinal_1], 2
mov eax, dword [0x1400a4f80]
movsd xmm0, qword [0x1400a4f78]
mov dword [rbp - 0x19], eax
movzx eax, byte [0x1400a4f84]
mov byte [rbp - 0x15], al
movsd qword [rbp - 0x21], xmm0
jl 0x140026228
movdqa xmm2, xmmword [0x1400a54f0]
mov eax, 5
movdqa xmm3, xmmword [0x1400a5500]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1400a5c40]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov ebx, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400a5510]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [0x1400a4f78]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x1400a5530]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
pxor xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp - 0x21], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400a5510]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp - 0x1d]
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400a5530]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
pxor xmm2, xmm0
movd dword [rbp - 0x1d], xmm2
mov eax, ebx
lea r8, [rbp - 0x21]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, bl
inc ebx
sub al, cl
add al, 0x39
xor byte [r8 - 1], al
cmp ebx, 0xd
jl 0x140026240
mov eax, dword [0x1400a51b8]
movups xmm0, xmmword [str.LIN]
mov dword [rbp - 0x29], eax
movzx eax, word [0x1400a51bc]
jmp 0x140026426
cmp dword [reloc.d2d1.dll_Ordinal_1], 2
mov eax, dword [0x1400a5020]
movsd xmm0, qword [str.i_Wp_L3__]
mov dword [rbp - 0x19], eax
movzx eax, byte [0x1400a5024]
mov byte [rbp - 0x15], al
movsd qword [rbp - 0x21], xmm0
jl 0x1400263d0
movdqa xmm2, xmmword [0x1400a54f0]
mov eax, 5
movdqa xmm3, xmmword [0x1400a5500]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1400a5c40]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov ebx, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [str.9999999999999999]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400a5510]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400a5530]
movd xmm1, dword [str.i_Wp_L3__]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
pxor xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd dword [rbp - 0x21], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400a5510]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400a5530]
movd xmm1, dword [rbp - 0x1d]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
pxor xmm2, xmm1
movd dword [rbp - 0x1d], xmm2
mov eax, ebx
lea r8, [rbp - 0x21]
add r8, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, bl
inc ebx
sub al, cl
add al, 0x39
xor byte [r8 - 1], al
cmp ebx, 0xd
jl 0x1400263e0
mov eax, dword [0x1400a51b8]
movups xmm0, xmmword [str.LIN]
mov dword [rbp - 0x29], eax
movzx eax, word [0x1400a51bc]
xor word [rbp - 0x29], 0x41
lea r9, [rbp - 0x21]
xor word [rbp - 0x27], 0x42
lea r8, [rbp - 0x39]
movups xmmword [rbp - 0x39], xmm0
xor word [rbp - 0x37], 0x3a
mov ecx, 0x75
xor word [rbp - 0x35], 0x3b
xor ax, 0x43
xor word [rbp - 0x33], 0x3c
mov rdx, r10
xor word [rbp - 0x31], 0x3d
xor word [rbp - 0x2f], 0x3e
xor word [rbp - 0x2d], 0x3f
xor word [rbp - 0x2b], 0x40
mov word [rbp - 0x39], cx
lea rcx, [rbp - 0x11]
mov word [rbp - 0x25], ax
call fcn.1400243a0
test al, al
jne 0x1400264c5
xor al, al
mov rdi, qword [rsp + 0x98]
movaps xmm6, xmmword [rsp + 0x80]
mov r15, qword [rsp + 0x90]
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.140062540
add rsp, 0xa0
pop r14
pop r12
pop rsi
pop rbx
pop rbp
ret
mov rdx, r10
lea rcx, [rbp - 0x11]
call fcn.140023db0
test al, al
je 0x140026480
mov al, 1
jmp 0x140026482
mov r9d, reloc.WS2_32.dll_recv
lea r8, str.Failure
lea rdx, str.Failed_to_get_proper_handle_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor ecx, ecx
call fcn.14002dc54
int3