Function at 0x14003f08c
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rax, 0x60
mov qword [rsp + 0x80], rax
mov rax, qword [rcx]
mov qword [rsp + 0x88], rax
cmp rax, rdx
jle 0x14003eccb
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
call fcn.14003e630
jmp 0x14003f072
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jge 0x14003f072
mov eax, dword [0x1402a9ab8]
or eax, dword [0x1402a9abc]
mov ecx, eax
xor ecx, 0x328d1241
mov edx, 0xffffffff
xor edx, 0x328d1241
and eax, edx
shl eax, 1
sub eax, ecx
add eax, 0x84b7af65
mov ecx, 0xfb368eb1
xor ecx, 0x302c5ecc
sub eax, ecx
sub eax, 0x84b7af65
sub eax, 0xa993d252
cmp eax, 0x4a9eddcc
ja 0x14003f07a
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1402a9ac0]
mov r8d, dword [0x1402a9ac4]
xor r8d, 0xb94233ed
mov edx, r8d
and edx, eax
mov r9d, 0xf0f1c9ae
xor r9d, 0xf0e3651
xor edx, r9d
add eax, r8d
add eax, 1
add eax, edx
mov edx, 0xffffffff
xor edx, 0x9370fde1
add eax, edx
add eax, 1
mov edx, 0x682df2cf
xor edx, 0x56959e4d
sub eax, edx
add eax, 0x6ec1c1b4
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x58], rdx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x60], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x51cb8c1c
je 0x14003f07a
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x14003ede2
jmp 0x14003edc2
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14003ee94
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0x50], rcx
mov rax, rcx
xor rax, rdx
movabs rdx, 0xd42f8cffdc4c7c7f
movabs r9, 0xd42f8cffdc4c7c7f
xor rdx, r9
cmp rax, rdx
setl al
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
movabs rdx, 0x7298cc502af0f3e2
movabs r8, 0x8d6733afd50f0c1d
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14003ee8a
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.140023a90
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x14003ee94
call fcn.14000ee80
jmp 0x14003f072
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov qword [rcx], rdx
lea rcx, [rsp + 0x90]
add rcx, 0x10
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1402d10b0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x38]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rdx], xmm0
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
lea rdx, [rsp + 0x90]
call fcn.140073010
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x14003f050
mov eax, dword [0x1402a9ac8]
xor edx, edx
div dword [0x1402a9acc]
add eax, 0xb990203b
mov ecx, 0x720d76bd
xor edx, edx
div ecx
add eax, 0xe7b170bd
cmp eax, 0xfe575007
jae 0x14003f083
mov r8, qword [rsp + 0x38]
mov eax, dword [0x1402a9ad0]
mov edx, dword [0x1402a9ad4]
xor edx, 0x90b9bd7e
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0xa52a99e7
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf335a707
xor edx, 0x85825e4b
and edx, ecx
mov r9d, 0xffffffff
xor r9d, 0x76b7f94c
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov r9d, 0x7fe3b384
xor r9d, 0x9544ac8
mov edx, eax
and edx, r9d
mov r9d, 0x25dd5707
xor r9d, 0x536aae4b
or eax, r9d
imul eax, edx
add eax, ecx
add eax, 0x5880601b
xor ecx, ecx
mov edx, ecx
sub rdx, r8
xor ecx, ecx
sub rcx, 1
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rsp + 0x28], rcx
mov rdx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and r9, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
or r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xa622d20d
jb 0x14003ef4d
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14003f04b
jmp 0x14003f055
call fcn.14000ee80
jmp 0x14003f072
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
mov qword [rsp + 0x48], rax
je 0x14003f050
jmp 0x14003eebf
add rsp, 0xb8
ret
fistp dword [rcx - 0x77]
in eax, 0xe9
stosd dword [rdi], eax
cld
invalid
add ecx, dword [rdx - 0x3e16a6ab]
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14003e630
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14003ec70