Function at 0x18005e840
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 [0x1801a4710]
xor ebx, ebx
movdqu xmmword [rbp - 0x20], xmm0
mov edx, ebx
mov dword [rbp - 0x10], 0x30b17
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx + 0x68]
inc edx
xor byte [rcx], al
cmp edx, 0x13
jb 0x18005e870
mov byte [rbp - 0xd], bl
mov edx, ebx
mov dword [rbp - 0x50], 0x70e1d26
mov dword [rbp - 0x4c], 0x30a4300
mov word [rbp - 0x48], 0x1c
nop
movsxd rax, edx
lea rcx, [rbp - 0x50]
add rcx, rax
lea eax, [rdx + 0x68]
inc edx
xor byte [rcx], al
cmp edx, 9
jb 0x18005e8a0
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 [0x1801a46f0]
mov edx, ebx
mov ecx, dword [rax + 4]
mov dword [0x1801be2ac], ecx
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], 0x16
nop
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx + 0x68]
inc edx
xor byte [rcx], al
cmp edx, 0x11
jb 0x18005e8f0
mov byte [rbp - 0xf], bl
mov edx, ebx
mov dword [rbp - 0x50], 0x70e1d06
mov dword [rbp - 0x4c], 0x30a4300
mov word [rbp - 0x48], 0x1c
nop
movsxd rax, edx
lea rcx, [rbp - 0x50]
add rcx, rax
lea eax, [rdx + 0x68]
inc edx
xor byte [rcx], al
cmp edx, 9
jb 0x18005e920
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], 0x1e3b1e32
mov edx, ebx
mov rdi, rax
mov dword [rbp - 0x2c], 0x3c171f09
xor eax, eax
mov dword [rbp - 0x28], 0x1a061215
mov byte [rbp - 0x22], al
mov word [rbp - 0x24], 0x1b1b
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x30]
add rcx, rax
lea eax, [rdx + 0x68]
inc edx
xor byte [rcx], al
cmp edx, 0xe
jb 0x18005e980
mov byte [rbp - 0x22], bl
mov edx, ebx
mov dword [rbp - 0x40], 0x70e1d06
mov dword [rbp - 0x3c], 0x30a4300
mov word [rbp - 0x38], 0x1c
nop
movsxd rax, edx
lea rcx, [rbp - 0x40]
add rcx, rax
lea eax, [rdx + 0x68]
inc edx
xor byte [rcx], al
cmp edx, 9
jb 0x18005e9b0
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 [0x1801be32c], ecx
lea rcx, str.win32u.dll
movsx eax, byte [rax + 4]
dec eax
mov dword [0x1801be324], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
je 0x18005eaac
movdqa xmm0, xmmword [0x1801a4700]
xor eax, eax
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0xa], al
mov edx, ebx
mov dword [rbp - 0x10], 0x1a0e2a01
mov word [rbp - 0xc], 0x1808
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx + 0x68]
inc edx
xor byte [rcx], al
cmp edx, 0x16
jb 0x18005ea40
lea rdx, [rbp - 0x20]
mov byte [rbp - 0xa], bl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movdqa xmm0, xmmword [0x1801a46d0]
movdqu xmmword [rbp - 0x30], xmm0
mov ecx, dword [rax + 4]
mov dword [0x1801be328], ecx
nop dword [rax]
movsxd rax, ebx
lea rcx, [rbp - 0x30]
add rcx, rax
lea eax, [rbx + 0x68]
inc ebx
xor byte [rcx], al
cmp ebx, 0xf
jb 0x18005ea80
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 0x18005eabb
mov dword [0x1801be328], 0x1044
mov ecx, 0x1082
mov dword [0x1801be320], ecx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
jmp 0x180067940
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 [0x1801be230], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [0x1801be230], 0
je 0x180067954
nop word [rax + rax]
lea rcx, str.GameOverlayRenderer64.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
mov qword [0x1801be330], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1801be330]
test rcx, rcx
je 0x180067980
xor edi, edi
nop word [rax + rax]
mov rbx, qword [0x1801bd5b0]
mov edx, 8
add rbx, rcx
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x1800679d2
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 0x1800679f2
mov rbx, qword [rsi + 0xf8]
mov edx, 8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180067a09
cmp qword [rbx], rdi
jne 0x180067a1a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1801be330]
jmp 0x1800679b0
mov rsi, qword [0x1801bd5b0]
mov edx, 8
add rsi, qword [0x1801be330]
mov rbx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180067a40
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 0x180067a60
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 0x180067a78
mov rbx, qword [rsi]
lea rax, [rbx + 0x1f3f]
mov rdx, rdi
lea rbp, [0x1801bf320]
cmp rbp, rax
ja 0x180067ab8
lea rax, [0x1801c125f]
cmp rax, rbx
jb 0x180067ab8
sub rbx, rbp
nop dword [rax]
lea rcx, [rdx + rbp]
inc rdx
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
cmp rdx, 0x1f40
jb 0x180067aa0
jmp 0x180067ac9
mov r8d, 0x1f40
mov rdx, rbx
mov rcx, rbp
call fcn.180090fe0
mov edx, 8
lea rcx, [0x1801bf360]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
mov rdx, rdi
lea rcx, [0x1801bf360]
test eax, eax
cmove rdx, qword [0x1801bf360]
mov qword [0x1801be238], rdx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_IsBadHugeWritePtr]
test eax, eax
jne 0x180067b13
lea rax, [0x180066a70]
mov qword [0x1801bf360], rax
mov rsi, qword [0x1801bd5b0]
mov edx, 8
add rsi, qword [0x1801be330]
mov rbx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180067b39
mov rbx, qword [rsi]
mov edx, 8
lea rcx, [rbx + 0xf8]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180067b56
mov rdi, qword [rbx + 0xf8]
mov edx, 8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_IsBadHugeWritePtr]
test eax, eax
jne 0x180067b6b
mov qword [rdi], rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov dword [0x1801bd3c4], 1
add rsp, 0x20
pop rdi
ret