Function at 0x180016200
Capabilities:
Allocate thread local storage
Create thread

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x1a0
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1801a8080]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov rdi, rcx
mov eax, 1
xchg dword [0x1801b05b8], eax
test eax, eax
jne 0x180013833
mov rax, qword [rcx + 8]
test rax, rax
jne 0x18001367d
lea ecx, [rax + 8]
call fcn.1800e2fc8
mov qword [rsp + 0x30], rax
lea rcx, vtable.RCMinHookApiHook.0
mov qword [rax], rcx
mov qword [rdi + 8], rax
xor edx, edx
mov r8d, 0x114
lea rcx, [rsp + 0x70]
call fcn.1801023f0
mov dword [rsp + 0x70], 0x114
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [rsp + 0x74]
mov dword [0x1801ad848], eax
mov eax, dword [rsp + 0x78]
mov dword [0x1801ad828], eax
mov eax, dword [rsp + 0x7c]
mov dword [0x1801ad82c], eax
call fcn.180092a60
mov rax, qword [rdi + 8]
test rax, rax
je 0x180013833
call fcn.180031b50
mov rsi, rax
mov qword [0x1801af860], rax
test rax, rax
je 0x180013835
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
call qword [rax]
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x1801ad84c], eax
mov edx, 0xc8
lea rcx, [0x18012b600]
call fcn.18012bfc0
mov r9b, 1
lea r8, [0x180008a50]
mov rdx, rsi
lea rcx, [rdi + 0x10]
call fcn.18012b440
test al, al
je 0x1800136f7
lea rcx, [rdi + 0x10]
call fcn.18012b3a0
mov qword [0x1801ad840], rax
lea rcx, [rdi + 0x10]
call fcn.18012b530
lea rcx, [rsi - 8]
call fcn.18012b6e0
lea rdx, [rsi - 0x18]
mov r9b, 1
lea r8, [0x1800086b0]
lea rcx, [rdi + 0x78]
call fcn.18012b440
lea rcx, [rdi + 0x78]
call fcn.18012b3a0
mov qword [0x1801ad830], rax
lea rcx, [rdi + 0x78]
call fcn.18012b530
mov rax, qword [0x1801ad830]
test rax, rax
je 0x180013760
mov qword [rsp + 0x30], rax
mov r9b, 1
lea r8, [0x180008670]
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x38]
call fcn.18012bd70
lea rcx, [rdi + 0x38]
call fcn.18012bd30
mov qword [0x1801ad850], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
mov r9, rdi
lea r8, [0x1800134b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.1800145f0
test al, al
je 0x180013827
call fcn.180031bc0
test rax, rax
je 0x180013827
mov r9b, 1
lea r8, [0x1800094b0]
mov rdx, rax
lea rcx, [rdi + 0xa0]
call fcn.18012b440
test al, al
je 0x180013827
lea rcx, [rdi + 0xa0]
call fcn.18012b3a0
mov qword [0x1801ad838], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
jne 0x1800137e1
lea rcx, [rdi + 0xa0]
call fcn.18012b3c0
jmp 0x180013827
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov byte [rsp + 0x60], 0
mov rax, qword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
lea rax, [0x180009760]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
call qword [rax + 8]
test al, al
je 0x1800137d3
mov rax, qword [rsp + 0x50]
mov qword [0x1801ad820], rax
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x18]
mov al, 1
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1800e2d00
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1800135c0
ret