Function at 0x180002950
Capabilities:
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov qword [rbp - 0x19], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov edx, ecx
mov ecx, dword [0x180041e78]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea rcx, [0x180031440]
call fcn.180004d30
lea rcx, [rbp + 0xf]
call fcn.18000b960
nop
lea rdx, [rbp + 0xf]
lea rcx, str.CustomActionData
call fcn.1800048a0
test al, al
jne 0x1800029bd
mov esi, 0x643
jmp 0x180002cbd
lea rcx, [rbp + 0xf]
call fcn.18000c3d0
mov r8, rax
xor edx, edx
lea rcx, [rbp - 1]
call fcn.18000b690
nop
xor esi, esi
mov edi, esi
lea rcx, [rbp - 1]
call fcn.18000bc50
mov rbx, rax
mov rcx, rax
mov edx, 0x3b
call fcn.180017a4c
test rax, rax
je 0x180002a6e
cmp rax, rbx
je 0x180002a0f
mov rcx, rbx
nop
cmp byte [rcx], 0x20
je 0x180002a18
inc rcx
cmp rcx, rax
jne 0x180002a00
inc edi
lea rbx, [rax + 1]
mov rcx, rbx
jmp 0x1800029e8
mov r9, rax
mov r8, rbx
xor edx, edx
lea rcx, [rbp + 0x1f]
call fcn.18000b6c0
nop
mov rcx, rax
call fcn.18000bc50
mov r8, rax
xor edx, edx
lea rcx, [rbp - 0x11]
call fcn.18000b7e0
nop
mov rcx, rax
call fcn.18000c3b0
mov rdx, rax
lea rcx, str.Server_name___s__is_invalid__contains_spaces
call fcn.180004f60
nop
lea rcx, [rbp - 0x11]
call fcn.18000b9b0
nop
lea rcx, [rbp + 0x1f]
call fcn.18000b9b0
jmp 0x180002a8f
lea rcx, [rbp - 1]
call fcn.18000c440
cmp rbx, rax
je 0x180002a99
mov rdx, rax
mov rcx, rbx
call fcn.180005120
test al, al
je 0x180002a8f
inc edi
jmp 0x180002a99
mov esi, 0x643
jmp 0x180002cb3
mov edx, edi
lea rcx, str.Server_count___lu
call fcn.180004f60
mov r12, rsi
mov qword [rbp - 0x11], rsi
mov dword [rbp - 9], esi
lea edi, [rdi*8 + 0x10]
xor ecx, ecx
test edi, edi
jne 0x180002acc
call fcn.1800177ec
mov dword [rbp - 9], esi
mov qword [rbp - 0x11], rsi
jmp 0x180002ae6
mov edx, edi
call fcn.180017b64
test rax, rax
je 0x180002ca5
mov r12, rax
mov qword [rbp - 0x11], rax
mov dword [rbp - 9], edi
lea rax, str.CustomActions.dll
mov qword [r12], rax
lea rax, str._config
mov qword [r12 + 8], rax
lea r15, [r12 + 0x10]
lea rcx, [rbp - 1]
call fcn.18000bc50
mov rdi, rax
mov rbx, r15
mov edx, 0x3b
mov rcx, rax
call fcn.180017a4c
mov r14, rax
test rax, rax
je 0x180002b86
cmp r14, rdi
je 0x180002b6d
mov ecx, r14d
sub ecx, edi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdi
mov r9d, MsiDatabaseExportA
lea r8d, [r9 - 0xc]
lea rdx, [0x18003143c]
mov ecx, r9d
call fcn.180006dd0
mov rdi, rax
mov rcx, rax
call fcn.180001b80
test al, al
jne 0x180002b6d
mov qword [rbx], rdi
add rbx, 8
lea rdi, [r14 + 1]
mov edx, 0x3b
mov rcx, rdi
call fcn.180017a4c
mov r14, rax
test rax, rax
jne 0x180002b26
lea rcx, [rbp - 1]
call fcn.18000c440
cmp rdi, rax
je 0x180002bd3
sub eax, edi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, MsiDatabaseExportA
lea r8d, [r9 - 0xc]
lea rdx, [0x18003143c]
mov ecx, r9d
call fcn.180006dd0
mov rdi, rax
mov rcx, rax
call fcn.180001b80
test al, al
jne 0x180002bd3
mov qword [rbx], rdi
add rbx, 8
lea rcx, [0x180003a30]
call fcn.180010560
mov rdi, r12
cmp r12, rbx
je 0x180002c31
mov r14, r12
neg r14
nop dword [rax]
mov r8, qword [rdi]
xor edx, edx
lea rcx, [rbp + 0x1f]
call fcn.18000b7e0
nop
mov rcx, rax
call fcn.18000c3b0
mov r8, rax
lea rdx, [r14 + rdi]
sar rdx, 3
lea rcx, str.configure___u____s_
call fcn.180004f60
nop
lea rcx, [rbp + 0x1f]
call fcn.18000b9b0
add rdi, 8
cmp rdi, rbx
jne 0x180002bf0
mov rcx, rbx
sub rcx, r12
sar rcx, 3
mov rdx, r12
call fcn.18000db00
movzx r13d, al
mov rdi, rsi
mov r14, rbx
sub r14, r15
add r14, 7
shr r14, 3
cmp r15, rbx
cmova r14, rsi
test r14, r14
je 0x180002c78
mov rcx, qword [r15]
call fcn.180001b60
lea r15, [r15 + 8]
inc rdi
cmp rdi, r14
jne 0x180002c64
lea rcx, [rbp + 0xf]
call fcn.18000c3b0
mov rdx, rax
test r13b, r13b
jne 0x180002c97
lea rcx, str.Unable_to_create_configuration_for_server_names____s_
call fcn.180004f60
jmp 0x180002ca5
lea rcx, str.Configuration_created_for_server_names____s_
call fcn.180004f60
jmp 0x180002caa
mov esi, 0x643
mov rcx, r12
call fcn.1800177ec
nop
lea rcx, [rbp - 1]
call fcn.18000b9b0
nop
lea rcx, [rbp + 0xf]
call fcn.18000b9b0
mov eax, esi
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret