Function at 0x11cda30
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov qword [rsp + 0xb0], 0xfffffffffffffffe
mov r15, rdx
mov r12, rcx
xor r14d, r14d
mov qword [rax - 0x68], r14
mov rax, qword [0x039f1180]
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14d014f
add rax, 0x20
mov qword [rsp + 0x40], rax
jmp 0x11cda92
mov qword [rsp + 0x90], rax
mov rcx, qword [rax + 0x30]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VarBstrFromCy]
mov qword [rsp + 0x98], rax
mov rsi, r14
mov qword [rsp + 0x50], r14
mov rax, qword [r12]
mov rcx, r12
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
mov r13, rax
cmp dword [rax + 0x290], 0x16
je 0x14d015c
cmp byte [rax + 0x349], 0
jne 0x11cdae7
cmp dword [rax + 0x344], 9
je 0x14d0169
cmp byte [r13 + 0x3d8], 0
jne 0x11cdb28
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
cmp qword [rax + 0x308], 0
je 0x11cdb28
mov rcx, qword [rax + 0x308]
test byte [rcx - 5], 0x40
jne 0x14d0199
movsxd rax, dword [rcx - 4]
jmp 0x11cdb1f
shr rax, 1
jne 0x14d01a9
mov edx, 1
mov rcx, qword [r12 + 0x888]
call fcn.01331990
test rax, rax
je 0x14d01f9
lea rdi, [rax - 0x28]
jmp 0x11cdb49
mov qword [rsp + 0x70], rdi
test rdi, rdi
je 0x11cdb5d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov r15, r14
mov qword [rsp + 0xa0], r14
mov rbx, qword [rsp + 0x120]
test rbx, rbx
jne 0x14d0201
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
lea r8, [rsp + 0x4c]
mov rbx, qword [rsp + 0x108]
mov rdx, rbx
call qword [rax + VarR8FromDate]
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14d02f2
test eax, eax
jne 0x120dccc
mov r8, qword [rsp + 0x100]
mov rax, qword [r8 + 0x888]
mov edx, dword [rsp + 0x4c]
mov r13d, edx
mov ecx, dword [rax + 0xe8]
shr r13d, cl
imul r13d, dword [rax + 0xd0]
mov eax, dword [rax + 0xec]
and eax, edx
add r13d, eax
mov rax, qword [r8 + 0x18]
shr rax, 0x36
test al, 1
je 0x11cdd92
mov qword [rsp + 0x88], r14
lea rdx, [rsp + 0x88]
mov rcx, r8
call fcn.01230890
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14d0514
mov rbx, qword [rsp + 0x88]
test rbx, rbx
je 0x11cdd84
mov qword [rsp + 0x38], r14
mov rcx, qword [rbx + 0x108]
add rcx, 0xc0
mov rax, qword [rcx]
xor r8d, r8d
lea rdx, [rsp + 0x38]
call qword [rax + 0x20]
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14d0544
mov rcx, qword [rsp + 0x38]
add rcx, 0x28
mov rax, qword [rcx]
call qword [rax + SafeArrayCopy]
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14d057b
mov r10, qword [rsp + 0x38]
movzx eax, byte [r10 + 0x20]
shr al, 5
test al, 1
jne 0x14d05b2
mov rax, qword [r10 + 0x38]
mov ecx, dword [rax + 0xd0]
xor edx, edx
mov eax, r13d
div ecx
mov r12d, eax
xor edx, edx
mov eax, r13d
div ecx
mov r11, qword [r10]
lea r9, [rsp + 0x60]
mov r8d, edx
mov edx, r12d
mov rcx, r10
call qword [r11 + 0x1d8]
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14d05d0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x38]
xor r9d, r9d
lea r8, [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x2a8]
call fcn.01259f60
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14d0607
cmp dword [rsp + 0x58], 0
jne 0x11cdd73
mov r12d, 0x1000001
mov dword [rsp + 0x30], r12d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x11cdd27
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x11cdd3d
test rsi, rsi
jne 0x14d0834
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x30]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x98]
call qword [rax + 0x78]
mov eax, r12d
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x11cdd84
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
test rbx, rbx
je 0x11cdd92
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov dword [rsp + 0x68], r14d
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x4ef
mov r9, r15
mov r8, qword [rsp + 0x128]
mov edx, r13d
mov rcx, qword [rsp + 0x100]
call fcn.0127d4e0
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14d063b
cmp dword [rsp + 0x68], 0
jne 0x14d0654
mov rax, qword [rsp + 0x110]
mov dword [rax], r13d
mov r12d, r14d
mov dword [rsp + 0x30], r14d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x11cdd3d
cmp dword [r13 + 0x290], 0x16
je 0x14d030e
cmp byte [r13 + 0x349], 0
jne 0x120dcf2
cmp dword [r13 + 0x344], 9
je 0x14d0402
test r12d, r12d
je 0x11cdbaa
mov r12d, 0x1000001
mov dword [rsp + 0x30], r12d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x11cdd3d
mov rax, r14
mov qword [rsp + 0x40], rax
jmp 0x11cda92
cmp dword [rax + 0x300], 0x10
je 0x11cdad1
mov rax, qword [rax]
mov rcx, r13
call qword [rax + 0x390]
test al, al
jne 0x11cdae7
lea rsi, [r13 + 0x4a8]
mov qword [rsp + 0x50], rsi
or edx, 0xffffffff
mov rcx, rsi
call fcn.011701c0
jmp 0x11cdb28
mov rcx, qword [rcx]
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov eax, eax
jmp 0x11cdb1f
mov rax, qword [r13]
mov rcx, r13
call qword [rax + VarOr]
cmp qword [rax], 0
je 0x14d01d1
mov r8, qword [rax]
movzx eax, byte [r8 - 5]
test al, 0x40
jne 0x14d01cc
test al, 0x20
je 0x14d01d4
mov r8, qword [r8]
jmp 0x14d01d4
mov r8, r14
xor r9d, r9d
lea rdx, [0x0158c6f8]
mov ecx, 0xc11f003c
call fcn.017ee830
mov r12d, eax
mov dword [rsp + 0x30], eax
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rdi, r14
jmp 0x11cdb49
mov qword [rsp + 0x60], r14
cmp qword [rbx + 0xa0], 0
je 0x14d021d
mov rcx, qword [rbx + 0xa0]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rbx + 0xa0]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x58], r14
mov rbx, qword [rsp + 0x60]
mov r12, qword [rbx]
mov rcx, qword [rsp + 0x100]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VarFix]
mov rdx, rax
lea r8, [rsp + 0x58]
mov rcx, rbx
call qword [r12 + 0x220]
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x14d02ad
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14d027b
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14d028c
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
test rdi, rdi
je 0x14d029b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14d02c7
call fcn.01caa7f0
mov r15, rax
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14d02d8
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x11cdb79
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x11cdb79
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
cmp dword [r13 + 0x300], 0x10
je 0x120dcda
test rsi, rsi
je 0x14d0331
mov rcx, rsi
call fcn.0115c690
mov rsi, r14
mov qword [rsp + 0x50], r14
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rsp + 0x70], r14
mov r8, qword [rsp + 0x118]
mov rdx, rbx
mov rbx, qword [rsp + 0x100]
mov rcx, rbx
call fcn.01cdd580
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x14d0377
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
lea rsi, [r13 + 0x4a8]
mov qword [rsp + 0x50], rsi
or edx, 0xffffffff
mov rcx, rsi
call fcn.011701c0
mov edx, 1
mov rcx, qword [rbx + 0x888]
call fcn.01331990
test rax, rax
je 0x14d03b8
lea rdi, [rax - 0x28]
test rdi, rdi
je 0x14d03bb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x14d03bb
mov rdi, r14
mov qword [rsp + 0x70], rdi
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
lea r8, [rsp + 0x4c]
mov rdx, qword [rsp + 0x108]
call qword [rax + VarR8FromDate]
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x120dcf2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x390]
test al, al
jne 0x14d0428
test rsi, rsi
je 0x14d0428
mov rcx, rsi
call fcn.0115c690
mov rsi, r14
mov qword [rsp + 0x50], r14
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rsp + 0x70], r14
call fcn.0115c5b0
mov rbx, rax
mov r8, qword [rsp + 0x118]
mov r12, qword [rsp + 0x108]
mov rdx, r12
mov rdi, qword [rsp + 0x100]
mov rcx, rdi
call fcn.01cbce80
test eax, eax
je 0x14d047d
mov rcx, rbx
call fcn.0109c0c0
mov r12d, 0x1000001
mov dword [rsp + 0x30], r12d
jmp 0x11cdd3d
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x390]
test al, al
jne 0x14d04a5
lea rsi, [r13 + 0x4a8]
mov qword [rsp + 0x50], rsi
or edx, 0xffffffff
mov rcx, rsi
call fcn.011701c0
mov edx, 1
mov rcx, qword [rdi + 0x888]
call fcn.01331990
test rax, rax
je 0x14d04cf
lea rdi, [rax - 0x28]
test rdi, rdi
je 0x14d04d2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x14d04d2
mov rdi, r14
mov qword [rsp + 0x70], rdi
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
lea r8, [rsp + 0x4c]
mov rdx, r12
call qword [rax + VarR8FromDate]
mov r12d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x120dcf2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14d0528
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14d0555
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14d058c
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rax, qword [r10 + 0x38]
mov r12d, r13d
mov ecx, dword [rax + 0xe8]
shr r12d, cl
mov edx, dword [rax + 0xec]
and edx, r13d
jmp 0x11cdca2
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14d05e1
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14d0618
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r15, qword [rsp + 0x108]
mov r13, qword [rsp + 0x40]
jmp 0x14d06b4
mov r12d, 0x1000001
mov dword [rsp + 0x30], r12d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x11cdd3d
mov qword [rsp + 0x20], 0x1000000e
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov ecx, 0xc11f0035
call fcn.0124e580
mov rax, qword [rsp + 0x100]
mov r11, qword [rax]
mov rcx, rax
call qword [r11 + VarOr]
mov rcx, rax
call fcn.011740c0
mov rcx, rax
mov r8d, 0x1000000e
lea rdx, [0x01292bb8]
call fcn.017ee3a0
mov rbx, r14
mov rax, qword [rsp + 0x100]
mov rdi, qword [rax + 0x148]
test rdi, rdi
jle 0x11cdd3d
nop
mov word [rsp + 0x78], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.013d28b0
test eax, eax
jne 0x14d0824
lea rcx, [rsp + 0x38]
call fcn.0116a950
nop
cmp word [rsp + 0x78], 1
jne 0x14d077a
mov r9d, 7
mov r8, qword [r13 + 0x28]
lea rdx, [0x0158cbc0]
lea rcx, [rsp + 0x38]
call fcn.0118a4d0
test eax, eax
jns 0x14d0794
test eax, eax
jne 0x14d07f0
jmp 0x14d0794
xor r9d, r9d
mov r8, qword [r13 + 0x28]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x78]
call fcn.011745b0
test eax, eax
jne 0x14d080a
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14d07af
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x14d07aa
test al, 0x20
je 0x14d07b2
mov rcx, qword [rcx]
jmp 0x14d07b2
mov rcx, r14
mov r8d, 0x1000000e
lea rdx, [0x01386388]
call fcn.017ee3a0
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
lea rcx, [rsp + 0x78]
call fcn.01187f10
add rbx, 1
add r15, 9
cmp rbx, rdi
jge 0x11cdd3d
jmp 0x14d0720
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
lea rcx, [rsp + 0x78]
call fcn.01187f10
jmp 0x11cdd3d
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
lea rcx, [rsp + 0x78]
call fcn.01187f10
jmp 0x11cdd3d
lea rcx, [rsp + 0x78]
call fcn.01187f10
nop
jmp 0x11cdd3d
mov rcx, rsi
call fcn.0115c690
nop
jmp 0x11cdd46