Function at 0x140003a80
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x170
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
mov rax, qword [0x140118060]
mov qword [r11 + 8], rax
xor ebx, ebx
mov esi, dword [0x140138098]
cmp byte [0x140118067], bl
je 0x140003c10
cmp esi, 2
jl 0x140003bd6
movdqa xmm6, xmmword [0x140121480]
movdqa xmm8, xmmword [0x1401213c0]
movdqa xmm10, xmmword [0x1401214a0]
movdqa xmm7, xmmword [0x140121360]
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
movdqa xmm1, xmm7
psubd xmm1, xmm0
movdqa xmm9, xmmword [0x140121430]
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm10
movd xmm0, dword [r11 + 8]
xorps xmm1, xmm0
movd dword [r11 + 8], xmm1
movdqa xmm11, xmmword [0x140121380]
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
movdqa xmm1, xmm11
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm10
movd xmm0, dword [r11 + 0xc]
xorps xmm1, xmm0
movd dword [r11 + 0xc], xmm1
jmp 0x140003c44
lea r9, [rsp + 0x1a0]
mov r8d, ebx
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x39
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x140003be1
movdqa xmm11, xmmword [0x140121380]
movdqa xmm7, xmmword [0x140121360]
movdqa xmm6, xmmword [0x140121480]
movdqa xmm8, xmmword [0x1401213c0]
movdqa xmm10, xmmword [0x1401214a0]
movdqa xmm9, xmmword [0x140121430]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rsp + 0x1a0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140003c64
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x40]
call fcn.140001450
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140003ca0
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call fcn.140002f00
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140003d03
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003cfe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003cfe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f6564
movabs r14, 0x7fffffffe2329aff
mov r12d, 0xff
movabs r15, 0x7fffffffffffffff
nop dword [rax]
movsd xmm0, qword [str.W_MODMK__l__F]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x140118040]
mov dword [rsp + 0x28], eax
movzx eax, word [0x140118044]
mov word [rsp + 0x2c], ax
cmp byte [0x140118045], 0
je 0x140003e6b
mov ecx, ebx
cmp esi, 2
jl 0x140003e2f
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm10
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.W_MODMK__l__F]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
movdqa xmm2, xmm11
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov ecx, 8
movsxd rax, ecx
lea r8, [rsp + 0x20]
add r8, rax
nop word [rax + rax]
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x37
movzx eax, cl
sub al, dl
add al, 0x39
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0xe
jl 0x140003e40
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140003e90
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140001450
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], rcx
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140003ec6
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xa0], xmm0
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x60]
call fcn.140003150
mov rdi, qword [rax]
mov qword [rsp + 0x60], rbx
xor r8d, r8d
lea rdx, [0x140117b3a]
lea rcx, [rsp + 0x68]
call fcn.140002670
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x140003f53
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003f4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003f4e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f6564
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140003fa9
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003fa4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003fa4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f6564
test rdi, rdi
jne 0x140004017
lea rcx, [rsp + 0x1a8]
call fcn.140002aa0
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x1a0], rax
cmp rax, r14
je 0x140003ffd
mov ecx, 1
cmovl ecx, r12d
test cl, cl
jns 0x140003ffd
add rax, 0x1dcd6500
mov qword [rsp + 0x1a0], rax
lea rcx, [rsp + 0x1a0]
call fcn.1400052c0
jmp 0x140003d20
mov qword [rsp + 0x1a0], r15
lea rcx, [rsp + 0x1a0]
call fcn.1400052c0
jmp 0x140003d20
lea rax, str.client.dll
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xa
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xa0], xmm0
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x60]
call fcn.140003150
nop
mov rcx, qword [rax]
mov qword [0x140175560], rcx
lea rdx, [rax + 8]
lea rcx, [0x140175568]
cmp rcx, rdx
je 0x14000407b
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140004075
mov rdx, qword [rdx]
call fcn.140002670
nop
mov qword [rsp + 0x60], rbx
xor r8d, r8d
lea rdx, [0x140117b3a]
lea rcx, [rsp + 0x68]
call fcn.140002670
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x1400040d8
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400040d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400040d2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f6564
nop
cmp qword [0x140175560], 0
je 0x140004431
cmp qword [0x140175578], 0
je 0x140004431
lea rax, str.engine2.dll
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xb
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xa0], xmm0
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x60]
call fcn.140003150
nop
mov rcx, qword [rax]
mov qword [0x140175588], rcx
lea rdx, [rax + 8]
lea rcx, [0x140175590]
cmp rcx, rdx
je 0x140004158
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140004152
mov rdx, qword [rdx]
call fcn.140002670
nop
mov qword [rsp + 0x60], rbx
xor r8d, r8d
lea rdx, [0x140117b3a]
lea rcx, [rsp + 0x68]
call fcn.140002670
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x1400041b5
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400041af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400041af
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f6564
nop
cmp qword [0x140175588], 0
je 0x1400042d0
cmp qword [0x1401755a0], 0
je 0x1400042d0
cmp byte [0x140176592], 0
jne 0x1400041df
call fcn.14007e080
lea rdi, vtable.std::_Func_impl_no_alloc_void____cdecl___void___void___.0
lea rsi, [0x140001680]
movabs rbx, 0x7ffffffffffffc17
nop word [rax + rax]
cmp byte [0x140176591], 0
jne 0x140004298
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x98], rax
lea rcx, [rsp + 0x60]
call fcn.140080050
test al, al
je 0x14000429a
lea rcx, [rsp + 0x1a8]
call fcn.140002aa0
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x1a0], rax
cmp rax, rbx
je 0x14000427e
mov ecx, 1
cmovl ecx, r12d
test cl, cl
jns 0x14000427e
add rax, 0x3e8
mov qword [rsp + 0x1a0], rax
lea rcx, [rsp + 0x1a0]
call fcn.1400052c0
jmp 0x140004200
mov qword [rsp + 0x1a0], r15
lea rcx, [rsp + 0x1a0]
call fcn.1400052c0
jmp 0x140004200
xor al, al
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
lea rdx, [rsp + 0xa0]
call fcn.140004620
mov r9, rax
cmp byte [rax + 0x20], 0
je 0x1400045b9
cmp esi, 2
jl 0x1400043ed
movdqa xmmword [rsp + 0x20], xmm10
mov rcx, rax
mov edx, dword [rsp + 0x20]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
andps xmm3, xmm9
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x20
jl 0x140004301
cmp eax, 0x21
jge 0x1400045b9
movsxd r8, ebx
add r8, r9
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, bl
sub al, cl
add al, 0x39
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x21
jge 0x1400045b9
jmp 0x140004400
lea rdx, [rsp + 0x40]
call fcn.140004600
mov r9, rax
cmp byte [rax + 0x1f], 0
je 0x14000457b
cmp esi, 2
jl 0x140004543
movdqa xmmword [rsp + 0x20], xmm10
mov rcx, rax
mov edx, dword [rsp + 0x20]
nop
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
andps xmm3, xmm9
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add ebx, 8
lea rcx, [rcx + 8]
cmp ebx, 0x20
jl 0x140004460
jmp 0x14000457b
mov r8, r9
nop word [rax + rax]
mov eax, 0x94f2095
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, bl
sub al, cl
add al, 0x39
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x20
jl 0x140004550
mov rdx, r9
lea rcx, [rsp + 0xa0]
call fcn.1400013f0
nop
mov rcx, rax
call fcn.140002340
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140001250
lea rdx, [0x140134c28]
lea rcx, [rsp + 0xe8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.1400013f0
nop
mov rcx, rax
call fcn.140002340
mov rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.140001250
lea rdx, [0x140134c28]
lea rcx, [rsp + 0xd0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3