Function at 0x1800207e0
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x408
lea rbp, [rsp + 0x40]
mov rax, qword [0x180031010]
xor rax, rbp
mov qword [rbp + 0x3b0], rax
mov r13d, r8d
mov dword [rbp + 8], r9d
mov r12, rdx
mov word [rbp + 0x72], 0x5446
mov r15, rcx
mov word [rbp + 0x78], 0x5c
xor edx, edx
mov word [rbp + 0x75], 0x5241
mov r8d, 0x104
mov word [rbp + 0x70], 0x4f53
lea rcx, [rbp + 0x80]
mov byte [rbp + 0x77], 0x45
mov byte [rbp + 0x74], 0x57
mov dword [rbp + 0x60], 0x73257325
mov byte [rbp + 0x64], 0
call fcn.180003100
lea rcx, str.RSpeedupTab
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x180020864
inc eax
xor edi, edi
cmp eax, 0x3fffffff
jle 0x18002087d
mov eax, edi
jmp 0x1800208b8
lea r8d, [rax + rax]
cdqe
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180020899
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180014b70
sub rsp, rcx
mov r9d, 3
lea rcx, [rsp + 0x40]
call fcn.180001580
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x60]
lea rax, [rbp + 0x70]
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x80]
call fcn.180001510
lea rcx, [rbp + 0x28]
mov dword [rbp + 0x21], 0x6c6c64
mov esi, 1
mov dword [rbp + 0x1d], 0x2e323369
mov word [rbp + 0x1b], 0x7061
mov word [rbp + 0x18], 0x6441
mov byte [rbp + 0x1a], 0x76
mov word [rbp + 0x42], 0x4179
mov dword [rbp + 0x3d], 0x61726269
mov dword [rbp + 0x38], 0x64616f4c
mov byte [rbp + 0x44], dil
mov byte [rbp + 0x41], 0x72
mov byte [rbp + 0x3c], 0x4c
mov dword [rbp + 0x2f], 0x6c642e32
mov word [rbp + 0x33], 0x6c
mov dword [rbp + 0x29], 0x656e7265
mov word [rbp + 0x2d], 0x336c
mov byte [rbp + 0x28], 0x4b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180020c3a
lea rcx, [rbp + 0x18]
call rax
mov rbx, rax
test rax, rax
je 0x180020c3a
lea rdx, [rbp + 0x48]
mov dword [rbp + 0x52], 0x417845
mov rcx, rax
mov word [rbp + 0x48], 0x6552
mov dword [rbp + 0x4b], 0x6e65704f
mov word [rbp + 0x4f], 0x654b
mov byte [rbp + 0x4a], 0x67
mov byte [rbp + 0x51], 0x79
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1800209cd
lea rcx, [rbp + 0x10]
mov r9d, 0x20019
mov qword [rsp + 0x20], rcx
lea rdx, [rbp + 0x80]
mov rcx, 0xffffffff80000001
xor r8d, r8d
call rax
mov esi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
jne 0x180020c3a
xor edx, edx
lea rcx, [rbp + 0x2a0]
mov r8d, 0x104
call fcn.180003100
mov r14, qword [rbp + 0x10]
lea rcx, [rbp + 0x18]
mov dword [rbp + 0x6a], 0x736c61
mov esi, 1
mov word [rbp + 0x68], 0x7668
mov dword [rbp + 0x41], 0x6c6c64
mov dword [rbp + 0x3d], 0x2e323369
mov word [rbp + 0x3b], 0x7061
mov word [rbp + 0x38], 0x6441
mov byte [rbp + 0x3a], 0x76
mov word [rbp + 0x32], 0x4179
mov dword [rbp + 0x2d], 0x61726269
mov dword [rbp + 0x28], 0x64616f4c
mov byte [rbp + 0x34], dil
mov byte [rbp + 0x31], 0x72
mov byte [rbp + 0x2c], 0x4c
mov dword [rbp + 0x1f], 0x6c642e32
mov word [rbp + 0x23], 0x6c
mov dword [rbp + 0x19], 0x656e7265
mov word [rbp + 0x1d], 0x336c
mov byte [rbp + 0x18], 0x4b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180020c31
lea rcx, [rbp + 0x38]
call rax
mov rbx, rax
test rax, rax
je 0x180020c31
lea rdx, [rbp + 0x48]
mov dword [rbp + 0x54], 0x41784565
mov rcx, rax
mov dword [rbp + 0x50], 0x756c6156
mov word [rbp + 0x4b], 0x7551
mov word [rbp + 0x48], 0x6552
mov word [rbp + 0x4d], 0x7265
mov byte [rbp + 0x4f], 0x79
mov byte [rbp + 0x4a], 0x67
mov byte [rbp + 0x58], dil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180020afa
lea rcx, [rbp + 4]
xor r9d, r9d
mov qword [rsp + 0x28], rcx
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x2a0]
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov rcx, r14
call rax
mov esi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
jne 0x180020c31
cmp dword [rbp + 4], edi
jbe 0x180020c31
xor edx, edx
lea rcx, [rbp + 0x190]
mov r8d, 0x104
call fcn.180003100
lea r9, [rbp]
mov word [rbp], 0x6425
mov edx, 0x104
mov byte [rbp + 2], dil
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], r15
lea rcx, [rbp + 0x190]
call fcn.180001510
lea rcx, [rbp + 0x18]
mov dword [rbp + 0x28], 0x776c6853
mov dword [rbp + 0x2c], 0x2e697061
mov word [rbp + 0x31], 0x6c6c
mov byte [rbp + 0x33], dil
mov byte [rbp + 0x30], 0x64
mov word [rbp + 0x52], 0x4179
mov dword [rbp + 0x4d], 0x61726269
mov dword [rbp + 0x48], 0x64616f4c
mov byte [rbp + 0x54], dil
mov byte [rbp + 0x51], 0x72
mov byte [rbp + 0x4c], 0x4c
mov dword [rbp + 0x1f], 0x6c642e32
mov word [rbp + 0x23], 0x6c
mov dword [rbp + 0x19], 0x656e7265
mov word [rbp + 0x1d], 0x336c
mov byte [rbp + 0x18], 0x4b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180020c31
lea rcx, [rbp + 0x28]
call rax
mov rbx, rax
test rax, rax
je 0x180020c31
lea rdx, [rbp + 0x38]
mov dword [rbp + 0x3d], 0x414972
mov rcx, rax
mov word [rbp + 0x3b], 0x7453
mov word [rbp + 0x38], 0x7453
mov byte [rbp + 0x3a], 0x72
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180020c13
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x2a0]
call rax
mov rdi, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test rdi, rdi
je 0x180020c31
mov rcx, qword [rbp + 0x10]
call fcn.18001ee10
mov eax, 1
jmp 0x180020c6b
mov rcx, qword [rbp + 0x10]
call fcn.18001ee10
mov eax, dword [rbp + 0x440]
mov r8d, r13d
mov r9d, dword [rbp + 8]
mov rdx, r12
mov dword [rsp + 0x30], eax
mov rcx, r15
mov eax, dword [rbp + 0x438]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x430]
mov dword [rsp + 0x20], eax
call qword [0x18005c8f0]
mov rcx, qword [rbp + 0x3b0]
xor rcx, rbp
call fcn.180001600
lea rsp, [rbp + 0x3c8]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret