Function at 0x180009e60
Capabilities:
Allocate thread local storage
Get hostname

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
xor r15d, r15d
mov edi, r15d
mov eax, dword [0x180023a08]
lea r12d, [r15 + 1]
lea r13d, [r15 + 0x38]
lea rsi, [0x18001b3a8]
test eax, eax
jne 0x180009b74
or esi, 0xffffffff
lea r14, [0x18001b3a8]
xor eax, eax
lock cmpxchg dword [0x1800239ec], r12d
jne 0x180009b4d
mov eax, dword [0x180023a08]
test eax, eax
jne 0x180009b41
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x180023040], eax
cmp eax, esi
je 0x180009a8d
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x180023044], eax
cmp eax, esi
je 0x180009a8d
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x180023048], eax
cmp eax, esi
jne 0x180009add
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test eax, eax
je 0x180009add
mov ecx, dword [0x180023040]
cmp ecx, esi
je 0x180009aa9
call qword [sym.imp.KERNEL32.dll_TlsFree]
mov ecx, dword [0x180023044]
cmp ecx, esi
je 0x180009ab9
call qword [sym.imp.KERNEL32.dll_TlsFree]
mov ecx, dword [0x180023048]
cmp ecx, esi
je 0x180009ac9
call qword [sym.imp.KERNEL32.dll_TlsFree]
mov dword [0x180023040], esi
mov dword [0x180023044], esi
mov dword [0x180023048], esi
jmp 0x180009b36
mov rcx, r13
call fcn.18001446c
mov rbx, rax
mov qword [rbp + 0x48], rax
mov qword [rax], r14
mov byte [rax + 8], r15b
mov qword [0x180023a00], rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [rbx + 8], r12b
mov rcx, r13
call fcn.18001446c
mov rbx, rax
mov qword [rbp + 0x40], rax
mov qword [rax], r14
mov byte [rax + 8], r15b
mov qword [0x180027cd8], rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [rbx + 8], r12b
mov edi, r15d
test edi, edi
jne 0x180009b5c
mov dword [0x180023a08], r12d
mov eax, r12d
lock cmpxchg dword [0x1800239ec], r15d
mov eax, dword [0x180023a08]
test eax, eax
jne 0x180009b6d
jmp 0x180009a3e
mov eax, r12d
lock cmpxchg dword [0x1800239ec], r15d
jmp 0x180009e3e
lea rsi, [0x18001b3a8]
mov rax, qword [0x180023a00]
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x10], r15d
lea r14, [rax + 0x10]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [rbp - 0x10], r12d
mov eax, r12d
lock xadd dword [0x180027c10], eax
add eax, r12d
cmp eax, r12d
jne 0x180009e31
mov ecx, 8
call fcn.18001446c
mov qword [rbp + 0x48], rax
mov qword [rax], r15
mov qword [0x1800238b8], rax
mov rcx, r13
call fcn.18001446c
mov rbx, rax
mov qword [rbp + 0x48], rax
mov qword [rax], rsi
mov byte [rax + 8], r15b
mov qword [0x1800238b0], rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [rbx + 8], r12b
mov ecx, 0xf0
call fcn.180014580
mov qword [rbp + 0x48], rax
mov edi, 7
lea rcx, [0x180001090]
test rax, rax
je 0x180009c30
mov qword [rax], rdi
lea rbx, [rax + 0x10]
mov qword [rsp + 0x20], rcx
lea r9, [0x1800091e0]
mov r8d, edi
lea edx, [rdi + 0x19]
mov rcx, rbx
call fcn.180014828
jmp 0x180009c33
mov rbx, r15
test rbx, rbx
jne 0x180009c59
mov qword [0x1800238d0], r15
lea edi, [rbx + 0xe]
mov edx, edi
mov r8d, 0xc3b4
mov ecx, 9
call fcn.18000c5ec
jmp 0x180009d5c
mov eax, r15d
mov rcx, rbx
mov dword [rcx], eax
add eax, r12d
lea rcx, [rcx + 0x20]
cmp eax, edi
jl 0x180009c5f
mov qword [0x1800238d0], rbx
mov rcx, r13
call fcn.18001446c
mov rbx, rax
mov qword [rbp + 0x48], rax
mov qword [rax], rsi
mov byte [rax + 8], r15b
mov qword [0x1800238a0], rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [rbx + 8], r12b
lea r8, [0x1800238d9]
mov rcx, r8
mov rdx, qword [0x1800239f8]
or rdx, r12
mov rax, rcx
mov rcx, r15
test rax, rax
cmove rcx, r8
test rcx, rcx
jne 0x180009caf
mov qword [0x1800239f8], rdx
mov dword [rbp + 0x58], 0xff
lea rdx, [rbp + 0x58]
lea rcx, [0x1800238e0]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
jne 0x180009cf6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov edx, eax
jmp 0x180009c44
mov dword [0x1800282d4], r12d
mov rcx, r13
call fcn.18001446c
mov rbx, rax
mov qword [rbp + 0x48], rax
mov qword [rax], rsi
mov byte [rax + 8], r15b
mov qword [0x1800239f0], rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [rbx + 8], r12b
mov byte [0x1800238d8], r15b
xor r9d, r9d
xor r8d, r8d
xor edx, edx
or rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov qword [0x1800238c8], rax
test rax, rax
je 0x180009ce7
call fcn.18000bb00
mov edi, eax
test eax, eax
je 0x180009e2c
mov rsi, qword [0x1800239f0]
test rsi, rsi
je 0x180009d86
mov rax, qword [rsi]
mov rbx, qword [rax]
mov rcx, rbx
call qword [fcn.1800154a0]
mov edx, r12d
mov rcx, rsi
call rbx
mov qword [0x1800239f0], r15
mov rsi, qword [0x1800238a0]
test rsi, rsi
je 0x180009db0
mov rax, qword [rsi]
mov rbx, qword [rax]
mov rcx, rbx
call qword [fcn.1800154a0]
mov edx, r12d
mov rcx, rsi
call rbx
mov qword [0x1800238a0], r15
mov rcx, qword [0x1800238c8]
test rcx, rcx
je 0x180009dc9
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1800238c8], r15
mov rsi, qword [0x1800238d0]
test rsi, rsi
je 0x180009e17
mov rcx, rsi
call fcn.1800091fc
test rsi, rsi
je 0x180009e10
lea rbx, [rsi - 0x10]
lea r9, [0x180001090]
mov r8, qword [rbx]
mov edx, 0x20
mov rcx, rsi
call fcn.1800144a8
mov rdx, qword [rbx]
shl rdx, 5
add rdx, 0x10
mov rcx, rbx
call fcn.180014464
mov qword [0x1800238d0], r15
call fcn.180004924
mov qword [0x1800239f8], r15
lock dec dword [0x180027c10]
jmp 0x180009e31
call fcn.18000c64c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [rbp - 0x10], r15d
mov eax, edi
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
jmp 0x1800099e4