Function at 0x18003fc90
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xf0
mov rax, qword [0x180b60468]
movzx ecx, byte [0x18023a196]
movzx edx, word [0x18023a194]
xor cl, 0x40
vmovsd xmm0, qword [str.qFFGSYLo_SURZ_]
mov r8, qword [rax + 0xb8]
mov eax, dword [0x18023a190]
vmovsd qword [rbp - 0x69], xmm0
xor byte [rbp - 0x68], 0x33
xor byte [rbp - 0x67], 0x34
xor byte [rbp - 0x66], 0x35
xor byte [rbp - 0x65], 0x36
xor byte [rbp - 0x64], 0x37
xor byte [rbp - 0x63], 0x38
xor byte [rbp - 0x62], 0x39
mov dword [rbp - 0x61], eax
xor al, 0x3a
xor byte [rbp - 0x60], 0x3b
xor byte [rbp - 0x5f], 0x3c
xor byte [rbp - 0x5e], 0x3d
mov word [rbp - 0x5d], dx
vmovaps xmmword [rsp + 0x80], xmm9
vmovaps xmmword [rsp + 0x70], xmm10
xor dl, 0x3e
xor byte [rbp - 0x5c], 0x3f
vmovsd xmm10, qword [0x180249280]
mov byte [rbp - 0x5b], cl
lea rcx, [rbp - 0x69]
mov byte [rbp - 0x61], al
vmovaps xmm9, xmm10
mov byte [rbp - 0x69], 0x43
mov byte [rbp - 0x5d], dl
call r8
test rax, rax
je 0x180040452
cmp rax, qword [0x180b5ef08]
je 0x180040452
mov rcx, qword [0x180b60468]
mov rdx, qword [rcx + 0x1a0]
mov rcx, rax
call rdx
test rax, rax
je 0x180040452
cmp rax, qword [0x180b5ef08]
je 0x180040452
mov rcx, qword [0x180b60468]
lea rdx, [rbp - 0x49]
vmovups xmm0, xmmword [str.UlW_DE_WNmYUW__B]
mov qword [rsp + 0xe8], rbx
mov r8, qword [rcx + 0x1a8]
movzx ecx, byte [0x18023a208]
vmovups xmmword [rbp - 0x49], xmm0
xor byte [rbp - 0x48], 0x33
xor cl, 0x42
xor byte [rbp - 0x47], 0x34
xor byte [rbp - 0x46], 0x35
xor byte [rbp - 0x45], 0x36
xor byte [rbp - 0x44], 0x37
xor byte [rbp - 0x43], 0x38
xor byte [rbp - 0x42], 0x39
xor byte [rbp - 0x41], 0x3a
xor byte [rbp - 0x40], 0x3b
xor byte [rbp - 0x3f], 0x3c
xor byte [rbp - 0x3e], 0x3d
xor byte [rbp - 0x3d], 0x3e
xor byte [rbp - 0x3c], 0x3f
xor byte [rbp - 0x3b], 0x40
xor byte [rbp - 0x3a], 0x41
mov byte [rbp - 0x39], cl
mov rcx, rax
mov byte [rbp - 0x49], 0x67
call r8
mov rbx, rax
test rax, rax
je 0x18004044a
cmp rax, qword [0x180b5ef08]
je 0x18004044a
mov rcx, qword [0x180b60468]
lea rdx, [rbp + 0x67]
mov r8, qword [rcx + 0x208]
mov ecx, dword [0x18023a1e0]
mov dword [rbp + 0x67], ecx
movzx ecx, byte [0x18023a1e4]
xor byte [rbp + 0x68], 0x33
xor cl, 0x36
xor byte [rbp + 0x69], 0x34
xor byte [rbp + 0x6a], 0x35
mov byte [rbp + 0x6b], cl
mov rcx, rax
mov byte [rbp + 0x67], 0x69
call r8
test eax, eax
je 0x18004044a
mov rax, qword [0x180b60468]
lea rdx, [rbp + 0x67]
mov rcx, rbx
mov r8, qword [rax + 0x50]
mov eax, dword [0x18023a1e0]
mov dword [rbp + 0x67], eax
movzx eax, byte [0x18023a1e4]
xor byte [rbp + 0x68], 0x33
xor al, 0x36
xor byte [rbp + 0x69], 0x34
xor byte [rbp + 0x6a], 0x35
mov byte [rbp + 0x6b], al
mov byte [rbp + 0x67], 0x69
call r8
mov rbx, rax
test rax, rax
je 0x18004044a
cmp rax, qword [0x180b5ef08]
je 0x18004044a
mov rcx, qword [0x180b60468]
lea rdx, [rbp + 0x6f]
mov r8, qword [rcx + 0x208]
mov ecx, dword [str.QAQB6]
mov dword [rbp + 0x6f], ecx
movzx ecx, byte [0x18023a398]
xor byte [rbp + 0x70], 0x33
xor cl, 0x36
xor byte [rbp + 0x71], 0x34
xor byte [rbp + 0x72], 0x35
mov byte [rbp + 0x73], cl
mov rcx, rax
mov byte [rbp + 0x6f], 0x63
call r8
test eax, eax
je 0x18004044a
mov rax, qword [0x180b60468]
lea rdx, [rbp + 0x7f]
mov rcx, rbx
mov qword [rsp + 0xe0], rsi
mov r8, qword [rax + 0x50]
mov eax, dword [str.QAQB6]
mov dword [rbp + 0x7f], eax
movzx eax, byte [0x18023a398]
xor byte [rbp + 0x80], 0x33
xor al, 0x36
xor byte [rbp + 0x81], 0x34
xor byte [rbp + 0x82], 0x35
mov byte [rbp + 0x83], al
mov byte [rbp + 0x7f], 0x63
call r8
mov rsi, rax
test rax, rax
je 0x180040442
cmp rax, qword [0x180b5ef08]
je 0x180040442
mov rcx, qword [0x180b60468]
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xc8], r15
mov rdx, qword [rcx + 0x78]
mov rcx, rax
call rdx
xor r15d, r15d
mov r14d, eax
mov edi, r15d
test eax, eax
jle 0x18004042a
vmovaps xmmword [rsp + 0xb0], xmm6
vmovaps xmmword [rsp + 0xa0], xmm7
vmovaps xmmword [rsp + 0x90], xmm8
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x180b60468]
mov edx, edi
mov r8, qword [rcx + 0x80]
mov rcx, rsi
call r8
mov rbx, rax
test rax, rax
je 0x180040404
cmp rax, qword [0x180b5ef08]
je 0x180040404
mov rcx, qword [0x180b60468]
mov rdx, qword [rcx + 0xf0]
mov rcx, rax
call rdx
cmp eax, 2
jne 0x180040404
mov rax, qword [0x180b60468]
mov edx, 1
mov rcx, rbx
mov r8, qword [rax + 0xf8]
call r8
mov rbx, rax
test rax, rax
je 0x180040404
cmp rax, qword [0x180b5ef08]
je 0x180040404
mov rcx, qword [0x180b60468]
movzx edx, word [0x18023a344]
movzx eax, byte [0x18023a346]
vmovsd xmm0, qword [str.DVU__UUIN_L_]
mov r8, qword [rcx + 0x208]
xor al, 0x40
mov ecx, dword [0x18023a340]
vmovsd qword [rbp - 0x59], xmm0
xor byte [rbp - 0x58], 0x33
xor byte [rbp - 0x57], 0x34
xor byte [rbp - 0x56], 0x35
xor byte [rbp - 0x55], 0x36
xor byte [rbp - 0x54], 0x37
xor byte [rbp - 0x53], 0x38
xor byte [rbp - 0x52], 0x39
mov dword [rbp - 0x51], ecx
xor cl, 0x3a
xor byte [rbp - 0x50], 0x3b
xor byte [rbp - 0x4f], 0x3c
xor byte [rbp - 0x4e], 0x3d
mov word [rbp - 0x4d], dx
xor dl, 0x3e
xor byte [rbp - 0x4c], 0x3f
mov byte [rbp - 0x51], cl
mov rcx, rbx
mov byte [rbp - 0x4d], dl
lea rdx, [rbp - 0x59]
mov byte [rbp - 0x59], 0x76
mov byte [rbp - 0x4b], al
call r8
test eax, eax
je 0x180040404
movzx edx, word [0x18023a344]
mov rax, qword [0x180b60468]
movzx ecx, byte [0x18023a346]
vmovsd xmm0, qword [str.DVU__UUIN_L_]
xor cl, 0x40
mov r8, qword [rax + 0x50]
mov eax, dword [0x18023a340]
vmovsd qword [rbp - 0x49], xmm0
xor byte [rbp - 0x48], 0x33
xor byte [rbp - 0x47], 0x34
xor byte [rbp - 0x46], 0x35
xor byte [rbp - 0x45], 0x36
xor byte [rbp - 0x44], 0x37
xor byte [rbp - 0x43], 0x38
xor byte [rbp - 0x42], 0x39
mov dword [rbp - 0x41], eax
xor al, 0x3a
xor byte [rbp - 0x40], 0x3b
xor byte [rbp - 0x3f], 0x3c
xor byte [rbp - 0x3e], 0x3d
mov word [rbp - 0x3d], dx
xor dl, 0x3e
xor byte [rbp - 0x3c], 0x3f
mov byte [rbp - 0x3d], dl
lea rdx, [rbp - 0x49]
mov byte [rbp - 0x3b], cl
mov rcx, rbx
mov byte [rbp - 0x49], 0x76
mov byte [rbp - 0x41], al
call r8
mov rbx, rax
test rax, rax
je 0x180040404
cmp rax, qword [0x180b5ef08]
je 0x180040404
cmp byte [0x1802380e3], r15b
mov rcx, qword [0x180b60468]
mov rax, qword [rcx + 0x208]
mov ecx, dword [str.UV_5]
mov dword [rbp + 0x6f], ecx
je 0x1800401cd
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmmword [0x180249500]
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmmword [0x180249500]
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 1
vpsrld xmm0, xmm4, 0x1f
vpaddd xmm1, xmm0, xmm4
vpmulld xmm2, xmm1, xmmword [0x180249430]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm4, xmmword [str.22222222222222223333333333333333]
vmovd xmm0, ecx
vpxor xmm1, xmm2, xmm0
vmovd dword [rbp + 0x6f], xmm1
lea rdx, [rbp + 0x6f]
mov rcx, rbx
call rax
test eax, eax
je 0x180040404
cmp byte [0x18023a2d3], r15b
mov rax, qword [0x180b60468]
vmovsd xmm0, qword [str.PA_ARJQUTX]
mov r10, qword [rax + 0x48]
mov eax, dword [0x18023a2d0]
mov dword [rbp - 0x61], eax
vmovsd qword [rbp - 0x69], xmm0
je 0x180040313
vmovdqu xmm5, xmmword [0x1802493c0]
vmovdqu xmm6, xmmword [0x180249500]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 1
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249430]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [str.22222222222222223333333333333333]
vmovdqu xmm5, xmmword [0x180249400]
vmovd xmm0, dword [str.PA_ARJQUTX]
vpxor xmm1, xmm2, xmm0
vmovd dword [rbp - 0x69], xmm1
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 1
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249430]
vmovd xmm1, dword [rbp - 0x65]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [str.22222222222222223333333333333333]
vpxor xmm0, xmm2, xmm1
vmovd dword [rbp - 0x65], xmm0
mov r8d, 8
lea r9, [rbp - 0x61]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x29e4129f
lea r9, [r9 + 1]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x1800402e0
movzx eax, word [0x18023a3c8]
mov word [rbp + 0x67], ax
movzx eax, byte [0x18023a3ca]
xor byte [rbp + 0x68], 0x33
xor al, 0x34
cmp byte [0x1802380e3], r15b
mov byte [rbp + 0x69], al
mov eax, dword [str.UV_5]
mov dword [rbp + 0x77], eax
mov byte [rbp + 0x67], reloc.WS2_32.dll_WSAStartup
je 0x1800403a4
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmmword [0x180249500]
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmmword [0x180249500]
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 1
vpsrld xmm0, xmm4, 0x1f
vpaddd xmm1, xmm0, xmm4
vpmulld xmm2, xmm1, xmmword [0x180249430]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm4, xmmword [str.22222222222222223333333333333333]
vmovd xmm0, eax
vpxor xmm1, xmm2, xmm0
vmovd dword [rbp + 0x77], xmm1
mov qword [rsp + 0x28], r15
lea r9, [rbp - 0x69]
lea r8, [rbp + 0x67]
mov qword [rsp + 0x20], r15
lea rdx, [rbp + 0x77]
mov rcx, rbx
call r10
mov rbx, rax
test rax, rax
je 0x180040404
cmp rax, qword [0x180b5ef08]
je 0x180040404
mov rcx, qword [0x180b60468]
mov rdx, qword [rcx + 0xe0]
mov rcx, rax
call rdx
vcomisd xmm9, xmm0
ja 0x1800403f3
vucomisd xmm9, xmm10
jp 0x1800403f7
jne 0x1800403f7
vmovaps xmm9, xmm0
mov rax, qword [0x180b60468]
mov rcx, rbx
call qword [rax + 0x40]
inc edi
cmp edi, r14d
jl 0x18003ffb0
vmovaps xmm8, xmmword [rsp + 0x90]
vmovaps xmm7, xmmword [rsp + 0xa0]
vmovaps xmm6, xmmword [rsp + 0xb0]
mov r14, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xe8]
vmovaps xmm10, xmmword [rsp + 0x70]
vmovaps xmm0, xmm9
vmovaps xmm9, xmmword [rsp + 0x80]
add rsp, 0xf0
pop rbp
ret