Function at 0x138a010
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x039f1190]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, rcx
xor r14d, r14d
mov qword [r11 - 0x78], r14
mov rax, qword [0x039f1180]
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x138a072
lea rdi, [rax + 0x20]
jmp 0x138a075
mov rdi, r14
mov qword [rsp + 0x80], rdi
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VarBstrFromCy]
mov rbp, rax
mov qword [rsp + 0x88], rax
mov r13d, 1
lea rcx, [rsp + 0x40]
call fcn.0116d180
nop
lea rax, [0x01165c20]
mov qword [rsp + 0x58], rax
lea rbx, [0x01000000]
lea rcx, [rbx + 0x4f0d0]
mov qword [rsp + 0x40], rcx
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
lea r15, [0x0104ef20]
mov qword [rsp + 0x40], r15
lea r12, [0x0109b930]
mov qword [rsp + 0x58], r12
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.0116cfa0
xor edx, edx
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x180]
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
movzx ecx, byte [rbx + rax*2 + 0x173e9d]
movzx eax, byte [rbx + rax*2 + 0x173e9c]
add eax, ecx
cdqe
movabs r8, 0x7fffffffffffffff
mov rcx, r8
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x32
jge 0x138a199
lea r8, [0x0138a778]
mov edx, 0x954
lea rcx, [0x01580f90]
call fcn.017eea00
mov ebx, eax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov r8, qword [rcx]
mov rdx, rbp
call qword [r8 + 0x78]
jmp 0x138a727
lea rax, [rdx + rdx*2]
movzx ecx, byte [rbx + rax*2 + 0x173e9d]
movzx eax, byte [rbx + rax*2 + 0x173e9c]
add ecx, eax
movsxd rbx, ecx
add rbx, 0x66
mov rcx, qword [rdi + 0x30]
cmp rbx, r8
jae 0x138a6e7
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x138a6e7
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x30]
call fcn.0116a950
nop
mov r9, qword [rdi + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.0118a2d0
mov ebx, eax
test eax, eax
jns 0x138a246
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
mov qword [rsp + 0x38], r14
mov rcx, qword [rsi + 0xb90]
test rcx, rcx
je 0x138a29a
lea rdx, [rsp + 0x38]
call fcn.01175210
mov ebx, eax
test eax, eax
je 0x138a29a
test eax, eax
jns 0x138a284
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x138a316
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x138a316
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x138a316
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x138a316
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x138a2d4
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov ecx, 0xc1000002
call fcn.0124e580
mov ebx, eax
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x138a316
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x138a316
lea rcx, [rax + 0x18]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
mov edx, 0x3a
call qword [rax + 0xc0]
mov ebx, eax
test eax, eax
jns 0x138a303
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x138a316
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x138a316
mov ebx, r14d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x138a316
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test ebx, ebx
jns 0x138a34c
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
mov r12d, dword [0x039f3438]
test r12d, r12d
jne 0x138a3ab
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x138a3a3
test byte [rax - 5], 0x40
jne 0x138a36e
movsxd rcx, dword [rax - 4]
jmp 0x138a379
mov rcx, qword [rax]
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov ecx, eax
shr rcx, 1
je 0x138a3a3
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.017d2280
mov r13d, eax
test eax, eax
jne 0x138a3a3
mov rcx, qword [rsi + 0x40]
mov rdx, qword [rcx]
call qword [rdx + SafeArrayCopy]
mov r12d, eax
test eax, eax
jne 0x138a3ab
call sub.KERNEL32.dll_GetUserDefaultLCID
mov r12d, eax
mov edx, r12d
mov rcx, rsi
call fcn.017d2f00
mov ebx, eax
cmp eax, 0xc1000002
je 0x138a407
cmp eax, 0xc1090009
je 0x138a407
test eax, eax
jns 0x138a4fb
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
mov r9d, r12d
lea r8, [0x0157e4d0]
mov edx, socket
lea rcx, [rsp + 0x98]
call qword [sym.imp.MSVCR80.dll_swprintf_s]
cmp eax, 0xffffffff
jne 0x138a480
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov ecx, 0xc1000001
call fcn.0124e580
mov ebx, eax
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
mov word [rsp + 0xbe], 0
mov qword [rsp + 0x20], 0x1000000f
lea r9, [0x0138a760]
lea r8, [rsp + 0x98]
mov edx, r14d
mov ecx, 0xc109000e
call fcn.0124e580
mov edx, 0x409
mov rcx, rsi
call fcn.017d2f00
mov ebx, eax
test eax, eax
jns 0x138a4fb
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
test r13d, r13d
je 0x138a54f
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x138a538
test byte [rax - 5], 0x40
jne 0x138a516
movsxd rcx, dword [rax - 4]
jmp 0x138a521
mov rcx, qword [rax]
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov ecx, eax
shr rcx, 1
je 0x138a538
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.017d2280
mov r13d, eax
jmp 0x138a54f
mov rcx, qword [rsi + 0x38]
mov rax, qword [rcx]
call qword [rax + SafeArrayCopy]
mov edx, eax
mov rcx, rsi
call fcn.017d1ff0
mov r13d, eax
cmp r13d, 0xc1090009
jne 0x138a5a6
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x138a574
movzx eax, byte [r8 - 5]
test al, 0x40
jne 0x138a56f
test al, 0x20
je 0x138a577
mov r8, qword [r8]
jmp 0x138a577
mov r8, r14
mov qword [rsp + 0x20], 0x1000000f
lea r9, [0x0138a760]
mov edx, r14d
mov ecx, 0xc109000e
call fcn.0124e580
lea rdx, [rsi + 0x278]
lea rcx, [rsi + 0x40]
call fcn.01284120
jmp 0x138a5e7
mov ebx, r13d
test r13d, r13d
jns 0x138a5e7
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
lea rcx, [rsi + 0x278]
cmp qword [rcx], 0
jne 0x138a5fd
lea rdx, [rsi + 0x40]
call fcn.01284120
mov rax, qword [0x039f1188]
test rax, rax
je 0x138a614
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
jmp 0x138a617
mov rax, r14
lea r12, [rax + 0x20]
mov rdx, qword [rsi + 0x40]
mov rcx, r12
call fcn.0116c0e0
mov ebx, eax
test eax, eax
jns 0x138a666
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
mov rdx, qword [rsi + 0x38]
mov rcx, r12
call fcn.0116c090
mov ebx, eax
test eax, eax
jns 0x138a6ae
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
mov ebx, r14d
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r15
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x138a727
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov ecx, 0xc1030001
call fcn.0124e580
mov ebx, eax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
mov eax, ebx
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.01003340
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret