Function at 0x140018180
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x178
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x148], rcx
mov rax, rdx
add rax, 8
mov qword [rsp + 0x150], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x158], rax
mov r8, qword [rcx + 0x2080]
xor r9d, r9d
sub r9, rax
sub r8, r9
mov qword [rcx + 0x2080], r8
mov rcx, qword [rdx]
movabs r8, 0xf7501f17d974b1b5
movabs r9, 0x8afe0e8268b4e4b
xor r8, r9
and rcx, r8
mov qword [rsp + 0x160], rcx
mov qword [rdx], rcx
cmp rcx, 0
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rdx
je 0x140018a05
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x160]
xor edx, edx
sub rdx, r8
add rcx, rdx
mov qword [rsp + 0x118], rcx
mov rdx, rcx
sar rdx, 0xc
mov qword [rsp + 0x120], rdx
add rax, 0x20a0
mov qword [rsp + 0x128], rax
sar rcx, 0x15
mov qword [rsp + 0x130], rcx
movabs rdx, 0x47f4d18605cd2a83
movabs r8, 0xb80b2e79fa32d57c
xor rdx, r8
xor rcx, rdx
movabs r8, 0xfe59a0504056e2b8
movabs rdx, 0xfe59a0504056e247
xor r8, rdx
movabs rdx, 0xcc6f00477517e9b5
movabs r9, 0x3390ffb88ae8164a
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x308976f79e3add84
xor rdx, r9
or rcx, r8
movabs r8, 0x308976f79e3add84
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
shl rcx, 3
add rax, rcx
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x138]
mov rdx, qword [rdx]
mov qword [rsp + 0x110], rdx
cmp rdx, 0
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
je 0x140018a05
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x130]
cmp qword [rax + 8], rcx
mov qword [rsp + 0x138], rax
jne 0x1400182e3
mov rax, qword [rsp + 0x140]
mov r8, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x110]
movabs rcx, 0x713ea46efb908d37
movabs r9, 0x713ea46efb908d31
xor rcx, r9
shr r8, cl
mov rcx, qword [rsp + 0x120]
mov r9, r8
add r9, 1
xor r8, 0xffffffffffffffff
movabs r10, 0xdd7b1aabbd5c6a7c
movabs r11, 0xdd7b1aabbd5c6a7b
xor r10, r11
or r8, r10
add r8, r9
mov rdx, qword [rdx + r8*8 + 0x10]
movabs r8, 0xfefffc0f68627905
movabs r9, 0xfefffc0f6862793a
xor r8, r9
and rcx, r8
mov r8d, 1
shl r8, cl
mov rcx, qword [rsp + 0x158]
and rdx, r8
movabs r8, 0x9ebc6ebdf05685e7
movabs r9, 0x9ebc6ebdf05685e7
xor r8, r9
cmp rdx, r8
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
je 0x140018a05
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x118]
mov rdx, qword [rdx]
mov r8, rdx
add r8, 1
xor rdx, 0xffffffffffffffff
movabs r9, 0xcdb2431bee85583f
movabs r10, 0xcdb2431bee85583e
xor r9, r10
or rdx, r9
add rdx, r8
cmp rdx, 0
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
jne 0x140018a05
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x118]
mov r8, rdx
add r8, 8
mov qword [rsp + 0x108], r8
mov rdx, qword [rdx + 8]
movabs r8, 0x4ae6461f7b333a67
movabs r9, 0xb519b9e084ccca28
xor r8, r9
add rdx, r8
movabs r8, 0x2e20d42f48451cc1
movabs r9, 0x2e20d42f76baec8e
xor r8, r9
cmp rdx, r8
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
jae 0x140018a05
mov ecx, dword [0x140272c08]
mov eax, dword [0x140272c0c]
add ecx, 0xe2d7a0d0
add ecx, eax
sub ecx, 0xe2d7a0d0
mov eax, 0x5212fd8b
xor eax, 0x29610023
add ecx, eax
xor ecx, 0xd5db972f
mov edx, 0xffffffff
xor edx, 0x1a7647d3
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x247dc8e7
jae 0x140018cc5
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x148]
mov r8d, dword [0x140272c10]
mov r9d, dword [0x140272c14]
mov eax, r8d
and eax, r9d
shl eax, 1
add r8d, r9d
sub r8d, eax
add r8d, 0x3fdb52d1
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x1c200073
mov r9d, 0xffffffff
xor r9d, 0x1c200073
and r8d, r9d
or eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x59332080
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r10d, 0x93eb071f
xor r10d, 0xcad8279f
mov r9d, eax
and r9d, r10d
or eax, 0x59332080
imul eax, r9d
add eax, r8d
mov dword [rsp + 0xdc], eax
mov eax, 0x2f954bbb
xor eax, 0xe418d986
mov dword [rsp + 0xf4], eax
call fcn.140017740
mov r9, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x108]
mov r8, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x128]
mov eax, dword [rsp + 0xdc]
mov r9, qword [r9]
add r9, qword [rcx]
mov qword [rsp + 0xe0], r9
mov qword [rcx], r9
mov rcx, r8
sar rcx, 0xc
mov qword [rsp + 0xe8], rcx
movabs rcx, 0x8d8bd31726c8c051
movabs r9, 0x8d8bd31726c8c044
xor rcx, r9
sar r8, cl
mov ecx, dword [rsp + 0xf4]
mov qword [rsp + 0xf8], r8
movabs r9, 0xa1d50b50ea69b2a0
movabs r10, 0x5e2af4af15964d5f
xor r9, r10
xor r8, r9
mov r10, 0xffffffffffffffff
xor r10, 0xff
mov r9, 0xffffffffffffffff
movabs r11, 0x7513432d20513687
xor r9, r11
or r8, r10
movabs r10, 0x7513432d20513687
or r9, r10
xor r8, 0xffffffffffffffff
and r8, r9
shl r8, 3
add rdx, r8
mov qword [rsp + 0x100], rdx
cmp eax, ecx
je 0x140018521
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xd0], rax
jmp 0x1400186bf
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
mov rcx, qword [rcx]
mov qword [rsp + 0xc0], rcx
cmp rcx, 0
mov qword [rsp + 0xc8], rax
je 0x14001883d
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xf8]
cmp qword [rax + 8], rcx
mov qword [rsp + 0xd0], rax
jne 0x1400186bf
mov eax, dword [0x140272c18]
xor eax, 0x5cf0bac4
mov ecx, dword [0x140272c1c]
xor ecx, 0x7a1f6c31
add eax, ecx
xor ecx, ecx
sub ecx, 0x3a80bfbc
add eax, ecx
mov ecx, 0x4b62fc6d
xor ecx, 0x1489ef45
add eax, ecx
add eax, 0x59acee97
sub eax, 0x5feb1328
mov ecx, 0x1323eeba
xor ecx, 0xe71a7558
or eax, ecx
cmp eax, 0x5a7567a6
je 0x140018cce
mov r8, qword [rsp + 0xe8]
mov ecx, dword [0x140272c20]
xor ecx, dword [0x140272c24]
add ecx, 0xcadab6c9
mov eax, ecx
and eax, 0xd6f86ea5
xor ecx, 0xd6f86ea5
or eax, ecx
mov ecx, 0x45d7d63d
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xc0]
movabs rcx, 0xed1c305c2fa340b9
movabs r9, 0xed1c305c2fa340bf
xor rcx, r9
shr r8, cl
mov rcx, qword [rsp + 0xe8]
movabs r9, 0xeb1af65d5f9bf37e
movabs r10, 0xeb1af65d5f9bf379
xor r9, r10
and r8, r9
mov r9, qword [rdx + r8*8 + 0x10]
and rcx, 0x3f
mov r10d, 1
shl r10, cl
mov rcx, qword [rsp + 0x108]
movabs r11, 0x6c675804167598d5
movabs rsi, 0x9398a7fbe98a672a
xor r11, rsi
xor r10, r11
and r9, r10
mov qword [rdx + r8*8 + 0x10], r9
mov rcx, qword [rcx]
mov qword [rsp + 0xb8], rcx
cmp eax, 0x8cee17be
ja 0x140018cce
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], rax
jmp 0x14001883d
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xc8]
cmp rcx, 0x3f000000
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
jle 0x140018a05
mov eax, dword [0x140272c28]
imul eax, dword [0x140272c2c]
mov ecx, 0xb38e9af
xor ecx, 0x7e52af35
add eax, ecx
mov ecx, 0xbbd5a985
xor ecx, 0xf5c0951f
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xd83edccd
shl ecx, 1
mov edx, 0x8970cdb1
xor edx, 0x514e117c
add eax, edx
sub eax, ecx
cmp eax, 0x8e7e5cfd
jb 0x140018cd7
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x148]
mov edi, dword [0x140272c30]
mov eax, 0x7161adab
xor eax, 0x191c9df4
xor edi, eax
mov esi, dword [0x140272c34]
mov r8d, edi
xor r8d, 0xffffffff
mov r9d, esi
xor r9d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xa6b3305f
mov eax, r8d
and eax, 0xa6b3305f
and edi, r10d
mov r11d, r9d
and r11d, 0xa6b3305f
and esi, r10d
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0xf7cacbf7
xor r9d, 0x5179fba8
or r9d, r10d
and r8d, r9d
or eax, r8d
imul eax, eax, 0x935ffc0b
mov r8d, 0xc8b24cc6
xor r8d, 0x6370cd63
mov r9d, 0x61b1a7c2
xor r9d, 0x9e4e583d
xor r8d, r9d
add eax, r8d
mov r8d, 0xee49c0f8
xor r8d, 0xee49c0f9
add eax, r8d
mov r8d, eax
add r8d, 1
xor eax, 0xffffffff
mov r9d, 0x5675c42f
xor r9d, 0x5f0350f
or eax, r9d
add eax, r8d
mov dword [rsp + 0xac], eax
mov r8d, 0x3f000000
call fcn.1400130f0
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0xa0], rax
call fcn.1400136a0
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0xac]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0xb0], rcx
cmp eax, 0x9cb7ac0d
ja 0x1400188b8
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
jmp 0x140018a05
mov rax, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x170]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
mov r8, rcx
add r8, 8
mov qword [rsp + 0x70], r8
add rdx, rcx
mov qword [rsp + 0x78], rdx
mov rcx, rdx
sar rcx, 0xc
mov qword [rsp + 0x80], rcx
add rax, 0x20a0
movabs rcx, 0x5c7cac758ff168ce
movabs r8, 0x5c7cac758ff168db
xor rcx, r8
sar rdx, cl
mov qword [rsp + 0x88], rdx
mov rcx, rdx
movabs rdx, 0xad4b2514ff9e12a4
movabs r8, 0xad4b2514ff9e125b
xor rdx, r8
and rcx, rdx
shl rcx, 3
add rax, rcx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x140018caa
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
cmp qword [rax + 8], rcx
mov qword [rsp + 0x98], rax
jne 0x140018aa6
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x58]
mov rdx, rcx
shr rdx, 6
mov r8, rdx
xor r8, 7
xor r8, 0xffffffffffffffff
or rdx, 7
and rdx, r8
mov qword [rsp + 0x48], rdx
mov rax, qword [rax + rdx*8 + 0x10]
and rcx, 0x3f
mov edx, 1
shl rdx, cl
mov qword [rsp + 0x50], rdx
mov rcx, rdx
and rax, rcx
cmp rax, 0
je 0x140018caa
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
movabs rdx, 0x5b359c286485513f
movabs r8, 0xa4ca63d79b7aaec0
xor rdx, r8
xor rax, rdx
or rax, 1
add rax, rcx
movabs rcx, 0xba84b7309fc50485
movabs rdx, 0xba84b7309fc50485
xor rcx, rdx
cmp rax, rcx
jne 0x140018caa
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
mov rdx, rax
add rdx, 8
mov qword [rsp + 0x40], rdx
mov rax, qword [rax + 8]
sub rax, 0xfb1
setge al
sub rcx, 0x3f000000
setl cl
and al, cl
test al, 1
jne 0x140018bbc
jmp 0x140018caa
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x148]
call fcn.140017740
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x90]
mov rdx, qword [rdx]
add rdx, qword [rcx]
mov qword [rsp + 0x30], rdx
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
cmp rcx, 0
mov qword [rsp + 0x28], rax
je 0x140018c5d
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x88]
cmp qword [rax + 8], rcx
mov qword [rsp + 0x38], rax
jne 0x140018bf3
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
mov r8, qword [rcx + rdx*8 + 0x10]
xor r9, 0xffffffffffffffff
and r8, r9
mov qword [rcx + rdx*8 + 0x10], r8
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movabs rcx, 0x9d6ba2013666dacb
movabs rdx, 0x9d6ba2010966dacb
xor rcx, rdx
cmp rax, rcx
jle 0x140018caa
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x60]
mov r8d, 0x3f000000
call fcn.1400130f0
mov rcx, qword [rsp + 0x148]
mov rdx, rax
call fcn.1400136a0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x148]
add rsp, 0x178
pop rdi
pop rsi
jmp fcn.1400136a0
scasb al, byte [rdi]
imul edi, dword [rcx], 0xf853e9a2
invalid
add eax, 0xe90583a4
mov edx, edi
invalid
sahf
imul edi, dword [rbx], 0xfbd8e917
invalid