Function at 0x13da490
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov r12, r9
mov r15d, r8d
mov r14d, edx
mov edi, ecx
xor ebx, ebx
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
je 0x13ffc3e
mov rcx, qword [rsi + 0xe8]
test rcx, rcx
je 0x13ffc46
mov rax, qword [rcx]
call qword [rax + 0x418]
mov rbp, rax
mov r13, qword [rsp + 0x100]
cmp edi, 0xf
je 0x13ffc5b
cmp edi, 9
je 0x13ffc5b
cmp edi, 0x10
je 0x13ffc4e
cmp edi, 0xa
je 0x13ffc4e
lea eax, [rdi - 0xfffa]
lea r8, [0x039f5200]
cmp eax, 4
jbe 0x13da551
mov rax, rdi
shr rax, 3
movzx ecx, dil
and cl, 7
movzx eax, byte [rax + r8 + 0x100]
shr al, cl
test al, 1
je 0x13da862
test rsi, rsi
je 0x13da563
test byte [rsi + 0x300], 0x80
je 0x13da862
mov qword [rsp + 0xf0], rbx
lea rdx, [rsp + 0xf0]
mov rcx, r8
call fcn.01284cb0
mov ebx, eax
test eax, eax
js 0x13da58e
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x10], edi
xor ebx, ebx
test ebx, ebx
js 0x13ffc91
mov rdi, qword [rsp + 0xf0]
mov edx, dword [rdi + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x13ffcb6
movzx eax, dl
add al, al
mov ecx, 1
sub cl, al
and cl, 7
imul edx, edx, 0x2e
lea eax, [rdx + 1]
shr rax, 3
lea r8, [0x039f5200]
movzx edx, byte [rax + r8 + 0x10d]
shr dl, cl
test dl, 1
je 0x13da5f4
jmp 0x13da5e2
mov rax, qword [rsp + 0xf0]
mov word [rax + 0x30], 3
mov dword [rdi + 0x38], r14d
test r12, r12
je 0x13da63a
mov edx, dword [rdi + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x13da630
movzx eax, dl
add al, al
mov ecx, 3
sub cl, al
and cl, 7
imul edx, edx, 0x2e
lea eax, [rdx + 3]
shr rax, 3
movzx edx, byte [rax + r8 + 0x10d]
shr dl, cl
test dl, 1
je 0x13da63a
mov word [rdi + 0x60], socket
mov qword [rdi + 0x68], r12
movabs r14, 0x346dc5d63886594b
test rsi, rsi
je 0x13ffd6a
test rbp, rbp
je 0x13da66c
mov rax, qword [rbp]
mov rdx, rdi
mov rcx, rbp
call qword [rax + 0x3e8]
mov ebx, eax
test eax, eax
js 0x13ffcc2
mov rcx, qword [rsi + 0x248]
test rcx, rcx
jne 0x13ffce7
mov rax, qword [0x039f1188]
test rax, rax
je 0x13da6d1
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rax, rax
je 0x13da6d1
mov rcx, rax
call fcn.01173310
mov rbp, rax
mov rcx, rbx
call fcn.011732b0
mov rcx, rbp
lock xadd qword [rsi + 0x2f0], rcx
mov rcx, qword [rsi + 0xe8]
test rcx, rcx
je 0x13da6d1
mov r8, qword [rcx]
mov rdx, rbp
call qword [r8 + 0x3d0]
mov r8, qword [rsi + 0x2f0]
mov edx, dword [rdi + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x13ffd33
mov ecx, edx
imul ecx, ecx, 0x2e
add ecx, 6
shr rcx, 3
add dl, 1
mov al, 0xfe
imul dl
and al, 7
lea rbp, [0x039f5200]
movzx edx, byte [rcx + rbp + 0x10d]
movzx ecx, al
shr dl, cl
test dl, 1
jne 0x13ffd31
mov ecx, dword [rsp + 0xf8]
test ecx, ecx
je 0x13ffde3
xor r12d, r12d
mov r8, r12
sub ecx, 1
je 0x13ffd9c
sub ecx, 1
jne 0x13ffd76
lea r8, [0x013da888]
jmp 0x13da74c
mov edx, dword [rdi + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x13ffda8
mov ecx, edx
imul ecx, ecx, 0x2e
add ecx, 8
shr rcx, 3
mov al, 0xfe
imul dl
and al, 7
movzx edx, byte [rcx + rbp + 0x10d]
movzx ecx, al
shr dl, cl
test dl, 1
jne 0x13ffda8
mov rsi, qword [rsp + 0x108]
test rsi, rsi
jne 0x13ffdeb
test r15d, r15d
jne 0x14002aa
cmp byte [rsp + 0xe0], 0
je 0x13da801
mov edx, dword [rsp + 0xe8]
mov rcx, rdi
call fcn.01349330
mov ebx, eax
test eax, eax
js 0x14002f5
mov rcx, rdi
call fcn.013db490
mov r11, qword [rdi + 0x80]
sub r11, qword [rdi + 0x68]
add r11, 0x1388
mov rax, r14
imul r11
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov word [rdi + 0x90], socket
mov qword [rdi + 0x98], rdx
test rsi, rsi
jne 0x1400316
test r13, r13
jne 0x1400376
mov rdx, qword [rsp + 0xf0]
lea rdi, [0x039f5200]
mov rcx, rdi
call fcn.01284d30
mov ebx, eax
mov rax, qword [rsp + 0xf0]
test ebx, ebx
mov ecx, 0
cmovns rax, rcx
mov qword [rsp + 0xf0], rax
test ebx, ebx
js 0x14003c0
mov ebx, ecx
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
jne 0x14003e1
mov eax, ebx
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rbp, rbx
jmp 0x13da4f2
mov rbp, rbx
jmp 0x13da4f2
mov rcx, rbp
call fcn.013b3d70
jmp 0x13da51e
test r13, r13
je 0x13ffc83
cmp word [r13], bx
je 0x13ffc83
test rsi, rsi
je 0x13ffc83
mov rdx, r13
mov rcx, rbp
call fcn.0134dc30
mov ebx, eax
test eax, eax
js 0x13da862
xor ebx, ebx
mov rcx, rbp
call fcn.013b3d70
nop
jmp 0x13da51e
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
jmp 0x13da862
lea r8, [0x039f5200]
jmp 0x13da5e2
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
jmp 0x13da862
cmp qword [rcx + 0x68], 0
je 0x13da67c
mov rcx, qword [rcx + 0x68]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0x200]
mov ebx, eax
test eax, eax
jns 0x13da67c
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
jmp 0x13da862
jmp 0x13ffd3a
lea rbp, [0x039f5200]
lea rcx, [r8 + 0x1388]
mov rax, r14
imul rcx
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov word [rdi + 0xa8], socket
mov qword [rdi + 0xb0], rdx
jmp 0x13da71c
lea rbp, [0x039f5200]
jmp 0x13da71c
sub ecx, 1
je 0x13ffd90
cmp ecx, 1
jne 0x13da74c
lea r8, [0x0156e790]
jmp 0x13da74c
lea r8, [0x0156e750]
jmp 0x13da74c
lea r8, [0x0156e740]
jmp 0x13da74c
or r9d, 0xffffffff
lea edx, [r9 + 9]
mov rcx, rdi
call fcn.01284e60
mov ebx, eax
test eax, eax
jns 0x13da786
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
jmp 0x13da862
xor r12d, r12d
jmp 0x13da786
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0xd8]
mov r11d, eax
mov r8d, dword [rdi + 0x10]
lea ecx, [r8 - 0xfffa]
cmp ecx, 4
jbe 0x13ffe3c
mov edx, r8d
imul edx, edx, 0x2e
add edx, 0xc
shr rdx, 3
mov ecx, 0xfe
sub cl, r8b
add cl, cl
and cl, 7
lea r14, [0x039f5200]
movzx eax, byte [rdx + r14 + 0x10d]
shr al, cl
test al, 1
je 0x13ffe53
jmp 0x13ffe43
lea r14, [0x039f5200]
mov word [rdi + 0x138], 3
mov dword [rdi + 0x140], r11d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VarOr]
mov r8, rax
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x13ffe96
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_VarFix]
mov r8, rax
mov edx, VariantTimeToDosDateTime
mov rcx, rdi
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x13ffed9
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rdi
call fcn.01284b70
test al, al
je 0x140025e
mov qword [rsp + 0x40], r12
mov rax, qword [0x039f1180]
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x13fff0e
lea rbp, [rax + 0x20]
jmp 0x13fff11
mov rbp, r12
mov qword [rsp + 0x40], rbp
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VarBstrFromCy]
mov r12, rax
mov qword [rsp + 0x48], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.0118c100
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
lea r8, [0x01173e98]
movzx ecx, byte [r8 + rax*2 + 5]
movzx eax, byte [r8 + rax*2 + 4]
add eax, ecx
cdqe
movabs r9, 0x7fffffffffffffff
mov rcx, r9
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x800
jge 0x13fffe8
lea r8, [0x014003f8]
mov edx, 0x216
lea rcx, [0x0157e2c0]
call fcn.017eea00
mov ebx, eax
lea rax, [0x0104ef20]
mov qword [rsp + 0x50], rax
lea rax, [0x0109b930]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x50]
call fcn.0116d120
nop
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x78]
nop
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
lea rax, [rdx + rdx*2]
movzx ecx, byte [r8 + rax*2 + 5]
movzx eax, byte [r8 + rax*2 + 4]
add ecx, eax
movsxd rbx, ecx
add rbx, 0x1002
mov rcx, qword [rbp + 0x30]
cmp rbx, r9
jae 0x14001ef
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x14001ef
mov rcx, qword [rbp + 0x28]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rbx
lea rcx, [rsp + 0x30]
call fcn.0116a950
nop
mov r9, qword [rbp + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x30]
call fcn.0118a2d0
mov ebx, eax
test eax, eax
jns 0x14000c9
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
lea rax, [0x0104ef20]
mov qword [rsp + 0x50], rax
lea rax, [0x0109b930]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x50]
call fcn.0116d120
nop
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x78]
nop
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
mov rax, qword [rsi]
lea rdx, [rsp + 0x30]
mov rcx, rsi
call qword [rax + 0x1f8]
mov ebx, eax
test eax, eax
jns 0x140013d
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
lea rax, [0x0104ef20]
mov qword [rsp + 0x50], rax
lea rax, [0x0109b930]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x50]
call fcn.0116d120
nop
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x78]
nop
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
lea r8, [rsp + 0x30]
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rdi
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x14001b2
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
lea rax, [0x0104ef20]
mov qword [rsp + 0x50], rax
lea rax, [0x0109b930]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x50]
call fcn.0116d120
nop
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x78]
nop
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
lea rax, [0x0104ef20]
mov qword [rsp + 0x50], rax
lea rax, [0x0109b930]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x50]
call fcn.0116d120
nop
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x78]
jmp 0x140025e
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xc1030001
call fcn.0124e580
mov ebx, eax
lea rax, [0x0104ef20]
mov qword [rsp + 0x50], rax
lea rax, [0x0109b930]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x50]
call fcn.0116d120
nop
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x78]
nop
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
mov rax, qword [rsi]
mov rdx, rdi
mov rcx, rsi
call qword [rax + 0x370]
mov ebx, eax
test eax, eax
jns 0x1400294
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, r14
call fcn.012845f0
jmp 0x13da862
lea rbp, [0x039f5200]
movabs r14, 0x346dc5d63886594b
jmp 0x13da797
mov edx, dword [rdi + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x14002e0
mov ecx, edx
imul ecx, ecx, 0x2e
add ecx, 0x10
shr rcx, 3
mov al, 0xfe
imul dl
and al, 7
movzx edx, byte [rcx + rbp + 0x10d]
movzx ecx, al
shr dl, cl
test dl, 1
je 0x13da7a0
mov word [rdi + 0x198], 3
mov dword [rdi + 0x1a0], r15d
jmp 0x13da7a0
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
jmp 0x13da862
mov rcx, rsi
call fcn.015d14f0
test rax, rax
je 0x13da80a
mov rcx, rsi
call fcn.015d14f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + VarOr]
mov r8, rax
mov edx, 0x1c
mov rcx, rdi
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x13da80a
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
jmp 0x13da862
cmp word [r13], 0
je 0x13da813
or r9d, 0xffffffff
mov r8, r13
lea edx, [r9 + 0x2b]
mov rcx, rdi
call fcn.01284970
mov ebx, eax
test eax, eax
jns 0x13da813
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
jmp 0x13da862
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x13da862
xor r8d, r8d
mov rcx, rdi
call fcn.012845f0
jmp 0x13da862
xor r8d, r8d
mov rcx, rdi
call fcn.012845f0
nop
jmp 0x13da862