Function at 0x18000d130
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
lea rdi, str.pausemenu_multiplayer
xor ebp, ebp
mov r10, rdi
mov r9d, ebp
mov rsi, rcx
mov r8b, 0x70
nop
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x18000cb50
lea ebx, [r9 + r9*8]
call fcn.180005620
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180005620
mov ecx, ebx
shr ecx, 0xb
xor ecx, ebx
mov edx, dword [rax + 8]
imul r8d, ecx, 0x8001
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r8d
inc dword [rax + 8]
call fcn.180005620
movabs rdx, 0xd62a67d26d9653e6
mov rcx, rax
call fcn.18004cf90
call fcn.180005620
movabs r14, 0x5f0f0c783eb16c04
nop
mov r10, rdi
mov r9d, ebp
mov al, 0x70
nop dword [rax + rax]
movzx r8d, al
lea r10, [r10 + 1]
sub al, 0x41
cmp al, 0x19
lea ecx, [r8 + 0x20]
movzx edx, cl
cmova edx, r8d
movsx eax, dl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx eax, byte [r10]
test al, al
jne 0x18000cbf0
lea ebx, [r9 + r9*8]
call fcn.180005620
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180005620
mov ecx, ebx
shr ecx, 0xb
xor ecx, ebx
mov edx, dword [rax + 8]
imul r8d, ecx, 0x8001
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r8d
inc dword [rax + 8]
call fcn.180005620
mov rdx, r14
mov rcx, rax
call fcn.18004cf90
call fcn.180005620
mov rcx, qword [rax]
cmp dword [rcx], ebp
jne 0x18000cc90
mov rax, qword gs:[0x20]
mov rcx, qword [rax]
mov byte [rcx + 0x20], bpl
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
jmp 0x18000cbe0
mov rax, qword [0x18011bac0]
mov edx, ebp
cmp dword [rsi], 0xd
sete dl
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx + 0x50]
mov dword [rax + 0x91908], edx
cmp dword [rsi], 0xffffffff
mov rax, qword [0x18011bac0]
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx + 0x30]
jne 0x18000ccd3
mov dword [rax + 0x35f8], 0xffffffff
jmp 0x18000ccf3
mov dword [rax + 0x35f8], ebp
mov rax, qword [0x18011bac0]
mov rcx, qword [rax + 0xf0]
mov eax, dword [rsi]
mov rdx, qword [rcx + 0x30]
mov dword [rdx + 0x4360], eax
mov rax, qword [0x18011bac0]
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx + 0x30]
mov dword [rax + 0x35e8], 1
mov rcx, qword [0x18011bac0]
mov edx, dword [rsi]
mov rax, qword [rcx + 0x110]
cmp byte [rax], bpl
je 0x18000cd53
cmp edx, 0xffffffff
je 0x18000cd58
mov rax, qword [0x1801189c8]
mov rcx, qword [rcx + 0xf0]
mov rdx, rax
shr rdx, 0x12
and edx, 0x3f
and eax, 0x3ffff
mov rcx, qword [rcx + rdx*8]
mov dword [rcx + rax*8], 0x12
jmp 0x18000cd80
cmp edx, 0xffffffff
jne 0x18000cd87
mov rax, qword [0x1801189c8]
mov rcx, qword [rcx + 0xf0]
mov rdx, rax
shr rdx, 0x12
and edx, 0x3f
and eax, 0x3ffff
mov rcx, qword [rcx + rdx*8]
mov dword [rcx + rax*8], 0x3f
mov rcx, qword [0x18011bac0]
mov rax, qword [rcx + 0xf0]
lea r10, str.maintransition
mov r9d, ebp
mov r8b, 0x6d
mov rcx, qword [rax]
mov dword [rcx + 0x3f0e0], ebp
mov rax, qword [0x18011bac0]
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx + 0x30]
mov dword [rax + 0x40b0], 1
mov rax, qword [0x18011bac0]
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx + 0x30]
mov dword [rax + 0x4298], 0x20
nop dword [rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x18000cde0
lea ebx, [r9 + r9*8]
call fcn.180005620
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180005620
mov ecx, ebx
shr ecx, 0xb
xor ecx, ebx
mov edx, dword [rax + 8]
imul r8d, ecx, 0x8001
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r8d
inc dword [rax + 8]
call fcn.180005620
movabs rdx, 0x2c83a9da6bffc4f9
mov rcx, rax
call fcn.18004cf90
call fcn.180005620
mov rcx, qword [rax]
cmp dword [rcx], ebp
jne 0x18000cf09
mov rax, qword [0x18011bac0]
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx + 0x50]
mov dword [rax + 0x8ec30], 1
mov rax, qword gs:[0x20]
mov rbx, qword [rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rsi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rsi, 0x989680
jne 0x18000ceb5
imul rax, rax, 0x64
jmp 0x18000ced3
cqo
idiv rsi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rsi
add rax, rcx
add rax, 0xbebc200
cmp byte [rbx + 0x20], bpl
jne 0x18000cee3
mov byte [rbx + 0x20], 1
mov qword [rbx + 0x18], rax
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov rax, qword [0x18011bac0]
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx + 0x30]
mov dword [rax + 0x35e8], ebp
mov r9d, ebp
mov r8b, 0x70
nop
movzx edx, r8b
lea rdi, [rdi + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [rdi]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x18000cf10
lea ebx, [r9 + r9*8]
call fcn.180005620
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180005620
mov ecx, ebx
shr ecx, 0xb
xor ecx, ebx
mov edx, dword [rax + 8]
imul r8d, ecx, 0x8001
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r8d
inc dword [rax + 8]
call fcn.180005620
movabs rdx, 0xc5bc038960e9db27
mov rcx, rax
call fcn.18004cf90
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp fcn.180005620
add rcx, 8
jmp 0x18000cb20