Function at 0x180117880
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov rdi, r9
mov rbx, r8
mov rbp, rdx
mov rsi, rcx
test r9, r9
jne 0x1801178ac
xor eax, eax
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x60], r12
xor r12d, r12d
mov rax, r9
mov rdx, r12
nop word [rax + rax]
test rax, rax
je 0x18011797a
cmp dword [rax + 8], 0xa
jne 0x1801178d9
or rdx, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
jmp 0x1801178c0
test rax, rax
je 0x18011797a
cmp dword [rax + 8], 8
jne 0x18011797a
or rdx, rbx
test rdx, 0xc00
jne 0x180117908
mov rax, qword [rcx + 0x98]
mov ecx, dword [rax + 0x38]
or rbx, rcx
or rdx, rbx
test rdx, 0xc00
jne 0x180117931
mov eax, dword [rsi + 0x90]
test al, 8
je 0x180117925
bts rbx, 0xa
or rdx, rbx
jmp 0x180117931
test al, 0x10
je 0x180117931
bts rbx, 0xb
or rdx, rbx
and edx, 0xc00
cmp rdx, 0xc00
jne 0x180117956
lea r8d, [rdx - 0x18]
lea r9, [0x180042bf0]
mov rcx, rsi
mov rdx, rbp
call fcn.18010c480
bt rbx, 0xa
jae 0x180117967
btr rbx, 0xb
bts rbx, 0xa
bt rbx, 0xb
jae 0x18011799f
btr rbx, 0xa
bts rbx, 0xb
jmp 0x18011799f
test rbx, 0xc00
je 0x18011799f
lea r9, [0x180042c30]
mov r8d, 0xc05
mov rdx, rbp
call fcn.18010c480
and rbx, 0xfffffffffffff3ff
movabs rax, 0x1b8400e00
and rbx, rax
je 0x180117a94
mov r8, rbx
and r8d, 0x18000000
je 0x180117a37
mov edx, dword [rdi + 8]
mov rcx, r12
mov rax, rdi
cmp edx, 8
je 0x1801179d1
cmp edx, 9
jne 0x1801179d8
mov rax, qword [rdi + 0x30]
mov rcx, rdi
test rax, rax
je 0x180117a66
cmp dword [rax + 8], 2
jne 0x180117a66
movsxd rax, dword [rax + 0x30]
lea rdx, [0x1800273c0]
bt dword [rdx + rax*4], 9
jae 0x180117a66
test rcx, rcx
je 0x180117a37
mov eax, dword [rcx + 0x3c]
mov r9, qword [rcx + 0x30]
mov rdx, rbp
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r8
mov r8d, dword [rcx + 8]
mov rcx, rsi
call fcn.180117eb0
mov rdi, rax
test rax, rax
je 0x180117b45
and rbx, 0xffffffffe7ffffff
mov rax, qword [rdi]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call qword [rax + 0x58]
mov rcx, rbx
mov eax, dword [rax]
and ecx, 0x20000200
cmp rcx, 0x20000200
jne 0x180117a9c
test al, 2
je 0x180117ab0
and rbx, 0xffffffffdffffdff
jmp 0x180117ab0
mov eax, 0x73
mov ecx, 0x75
bt rbx, 0x1c
cmovb eax, ecx
lea r9, [0x180042c78]
mov r8d, 0xc0d
mov rcx, rsi
mov rdx, rbp
mov dword [rsp + 0x20], eax
call fcn.18010c480
mov rax, rdi
jmp 0x180117b52
bt rbx, 9
jae 0x180117ab0
test al, 2
je 0x180117ab0
test al, 4
jne 0x180117ab0
btr rbx, 9
test rbx, rbx
je 0x180117a94
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x180117ad2
nop
mov rax, qword [rcx + 0x30]
xor rax, rbx
je 0x180117ae1
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x180117ac0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180117ae6
mov rax, r12
jmp 0x180117aec
mov rax, rcx
jmp 0x180117b52
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax + 8]
mov edx, 0x48
lea r8d, [rdx - 0x38]
call fcn.180243b70
mov r11, rax
test rax, rax
je 0x180117b45
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r12
mov dword [rax + 0x28], 0xffffffff
mov dword [r11 + 8], 0xa
mov qword [r11 + 0x40], r12
lea rax, [0x1800431d0]
mov qword [r11], rax
mov qword [r11 + 0x30], rbx
mov qword [r11 + 0x38], rdi
mov rax, qword [rdi + 0x18]
mov qword [r11 + 0x40], rax
mov qword [rdi + 0x18], r11
jmp 0x180117b4f
mov byte [rsi + 0x468], 1
mov r11, r12
mov rax, r11
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret