Function at 0x18005cc60
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
movdqa xmm0, xmmword [0x18019f0d0]
xor ebx, ebx
movdqu xmmword [rbp - 0x20], xmm0
mov edx, ebx
mov dword [rbp - 0x10], 0x50915
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx + 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0x13
jb 0x18005cc90
mov byte [rbp - 0xd], bl
mov edx, ebx
mov dword [rbp - 0x50], 0x1081f24
mov dword [rbp - 0x4c], 0x1d144102
mov word [rbp - 0x48], 0x1e
nop
movsxd rax, edx
lea rcx, [rbp - 0x50]
add rcx, rax
lea eax, [rdx + 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 9
jb 0x18005ccc0
lea rcx, [rbp - 0x50]
mov byte [rbp - 0x47], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movdqa xmm0, xmmword [0x18019f0e0]
mov edx, ebx
mov ecx, dword [rax + 4]
mov dword [0x1801ba258], ecx
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], 0x14
nop
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx + 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0x11
jb 0x18005cd10
mov byte [rbp - 0xf], bl
mov edx, ebx
mov dword [rbp - 0x50], 0x1081f04
mov dword [rbp - 0x4c], 0x1d144102
mov word [rbp - 0x48], 0x1e
nop
movsxd rax, edx
lea rcx, [rbp - 0x50]
add rcx, rax
lea eax, [rdx + 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 9
jb 0x18005cd40
lea rcx, [rbp - 0x50]
mov byte [rbp - 0x47], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [rbp - 0x30], 0x183d1c30
mov edx, ebx
mov rdi, rax
mov dword [rbp - 0x2c], 0x22091d0b
xor eax, eax
mov dword [rbp - 0x28], 0x1c001017
mov byte [rbp - 0x22], al
mov word [rbp - 0x24], 0x1919
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x30]
add rcx, rax
lea eax, [rdx + 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0xe
jb 0x18005cda0
mov byte [rbp - 0x22], bl
mov edx, ebx
mov dword [rbp - 0x40], 0x1081f04
mov dword [rbp - 0x3c], 0x1d144102
mov word [rbp - 0x38], 0x1e
nop
movsxd rax, edx
lea rcx, [rbp - 0x40]
add rcx, rax
lea eax, [rdx + 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 9
jb 0x18005cdd0
lea rcx, [rbp - 0x40]
mov byte [rbp - 0x37], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsx ecx, byte [rdi + 4]
dec ecx
mov dword [0x1801ba268], ecx
lea rcx, str.win32u.dll
movsx eax, byte [rax + 4]
dec eax
mov dword [0x1801ba260], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
je 0x18005cecc
movdqa xmm0, xmmword [0x18019f0f0]
xor eax, eax
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0xa], al
mov edx, ebx
mov dword [rbp - 0x10], 0x1c082803
mov word [rbp - 0xc], 0x1a0a
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx + 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0x16
jb 0x18005ce60
lea rdx, [rbp - 0x20]
mov byte [rbp - 0xa], bl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movdqa xmm0, xmmword [0x18019f0b0]
movdqu xmmword [rbp - 0x30], xmm0
mov ecx, dword [rax + 4]
mov dword [0x1801ba264], ecx
nop dword [rax]
movsxd rax, ebx
lea rcx, [rbp - 0x30]
add rcx, rax
lea eax, [rbx + 0x6a]
inc ebx
xor byte [rcx], al
cmp ebx, 0xf
jb 0x18005cea0
lea rdx, [rbp - 0x30]
mov byte [rbp - 0x21], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [rax + 4]
jmp 0x18005cedb
mov dword [0x1801ba264], 0x1044
mov ecx, 0x1082
mov dword [0x1801ba25c], ecx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
jmp 0x180065a60
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
mov qword [0x1801ba170], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [0x1801ba170], 0
je 0x180065a74
nop word [rax + rax]
lea rcx, str.GameOverlayRenderer64.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
mov qword [0x1801ba270], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1801ba270]
test rcx, rcx
je 0x180065aa0
xor edi, edi
nop word [rax + rax]
mov rbx, qword [0x1801b9570]
mov edx, 8
add rbx, rcx
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065af2
mov rsi, qword [rbx]
mov edx, 8
lea rcx, [rsi + 0xf8]
mov rbx, rdi
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065b12
mov rbx, qword [rsi + 0xf8]
mov edx, 8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065b29
cmp qword [rbx], rdi
jne 0x180065b3a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1801ba270]
jmp 0x180065ad0
mov rsi, qword [0x1801b9570]
mov edx, 8
add rsi, qword [0x1801ba270]
mov rbx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065b60
mov rbx, qword [rsi]
mov edx, 8
lea rcx, [rbx + 0xf8]
mov rsi, rdi
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065b80
mov rsi, qword [rbx + 0xf8]
mov edx, 8
mov rcx, rsi
mov rbx, rdi
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065b98
mov rbx, qword [rsi]
lea rbp, [0x1801bb2b0]
mov rdx, rdi
sub rbx, rbp
nop word [rax + rax]
lea rcx, [rdx + rbp]
add rdx, 2
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
movzx eax, byte [rbx + rcx + 1]
mov byte [rcx + 1], al
cmp rdx, 0x1f40
jb 0x180065bb0
mov edx, 8
lea rcx, [0x1801bb2f0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
mov rdx, rdi
lea rcx, [0x1801bb2f0]
test eax, eax
cmove rdx, qword [0x1801bb2f0]
mov qword [0x1801ba178], rdx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_IsBadHugeWritePtr]
mov rcx, qword [0x1801bb2f0]
lea rdx, [0x180064d00]
mov rsi, qword [0x1801b9570]
test eax, eax
mov rbx, rdi
cmove rcx, rdx
add rsi, qword [0x1801ba270]
mov qword [0x1801bb2f0], rcx
mov edx, 8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065c48
mov rbx, qword [rsi]
mov edx, 8
lea rcx, [rbx + 0xf8]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180065c65
mov rdi, qword [rbx + 0xf8]
mov edx, 8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_IsBadHugeWritePtr]
test eax, eax
jne 0x180065c7a
mov qword [rdi], rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov dword [0x1801b938c], 1
add rsp, 0x20
pop rdi
ret