Function at 0x140043e72
Capabilities:
Get thread local storage value

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov ecx, dword [0x140274178]
or ecx, dword [0x14027417c]
mov eax, ecx
or eax, eax
mov edx, 0xb9062922
xor edx, 0x46f9d6dd
xor eax, edx
mov edx, 0x4cd6c6d2
or edx, 0x4cd6c6d2
xor edx, 0xffffffff
mov r8d, 0xfa46535e
xor r8d, 0x5b9aca1
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4cd6c6d2
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x495b2692
mov edx, 0xffffffff
xor edx, 0x495b2692
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x52415931
mov edx, 0xffffffff
xor edx, 0x52415931
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x87da06c5
jae 0x140043e60
mov eax, dword [0x140274180]
mov ecx, dword [0x140274184]
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x2a721b59
and eax, 0x158de4a6
sub eax, ecx
and eax, 0x2ee0bac2
add eax, 0x8848c96d
mov dword [rbp - 0x2c], eax
mov eax, 0x31201b25
mov dword [rbp - 0x30], eax
mov eax, 0x20
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
mov ecx, dword [rbp - 0x30]
add rsp, 0x20
mov r9, rax
mov eax, dword [rbp - 0x2c]
add r9, 0x60
mov qword [rbp - 0x28], r9
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
cmp rdx, r8
setg dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
jbe 0x140043a69
mov al, byte [rbp - 0x11]
test al, 1
jne 0x140043b06
jmp 0x140043b20
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140043570
add rsp, 0x20
jmp 0x140043e5b
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
cmp rax, rcx
jge 0x140043e5b
mov rax, qword [rbp - 8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x40], rax
cmp rax, 0
je 0x140043b80
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
movabs rdx, 0xaa92ee85548583b9
movabs r8, 0x156d117aab7a7c46
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x140043d39
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x10]
mov rcx, r9
sub rcx, r8
mov qword [rbp - 0x50], rcx
movabs rax, 0xecfb9a969c5d307c
movabs rdx, 0x1304656963a2cf83
xor rax, rdx
mov rdx, rcx
xor rdx, rax
mov rax, r9
and rax, rdx
xor r9, 0xffffffffffffffff
mov rdx, rcx
and rdx, r9
or rax, rdx
movabs rdx, 0xbcbe8e7e4ceae577
movabs r9, 0xbcbe8e7e4ceae577
xor rdx, r9
cmp rax, rdx
setl al
mov r9, rcx
xor r9, r8
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, 1
xor cl, 0
xor al, cl
xor dl, 0xff
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
xor al, 0xff
and al, cl
test al, 1
jne 0x140043d27
mov eax, dword [0x140274188]
mov edx, dword [0x14027418c]
mov ecx, 0xf01d8cd8
xor ecx, 0xf01d8cd8
sub ecx, edx
add eax, ecx
xor eax, 0x921df40c
mov r8d, 0xffffffff
xor r8d, 0xf306eb93
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf306eb93
or eax, 0xf306eb93
imul eax, edx
add eax, ecx
xor eax, 0x4a06bfd6
cmp eax, 0xe917388b
je 0x140043e69
mov r8, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x140274190]
and eax, dword [0x140274194]
mov r9d, 0x25ca85df
xor edx, edx
div r9d
mov r9d, 0xfc5c93ae
xor r9d, 0x9ec252dc
xor edx, edx
div r9d
mov rdx, qword [rbp - 0x40]
mov r9d, eax
mov eax, r9d
xor eax, 0xffffffff
xor r9d, 0xffffffff
or eax, r9d
mov r9d, 0xffffffff
xor r9d, 0xd31cdd95
mov r10d, 0xffffffff
xor r10d, 0xd31cdd95
or r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
or eax, r9d
mov dword [rbp - 0x54], eax
mov r9d, 0x20
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rcx, qword [rbp - 0x48]
add rsp, 0x30
mov rdx, rax
mov eax, dword [rbp - 0x54]
mov qword [rcx], rdx
cmp eax, 0xc73cf636
jbe 0x140043e69
jmp 0x140043d39
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x140043e5b
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
mov qword [rdx], r8
add rcx, 0x10
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x70], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov r8, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rbp - 0x70]
xorps xmm0, xmm0
movaps xmmword [rdx], xmm0
movaps xmmword [r8], xmm0
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
sub rsp, 0x20
call fcn.14007d10c
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140043e3c
mov rdx, qword [rbp - 0x70]
mov rcx, rdx
and rcx, 1
mov rax, rdx
or rax, 1
add rcx, rax
mov qword [rbp - 0x78], rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0x3fecd5f43d2126b5
movabs rax, 0xc0132a0bc2ded94a
xor r8, rax
mov rax, rcx
xor rax, r8
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
movabs rcx, 0x3cdc89ec813cda5b
movabs rdx, 0xc32376137ec325a4
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jge 0x140043e41
ret
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x140043e5b
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x10]
cmp rax, rcx
mov qword [rbp - 0x60], rax
je 0x140043e3c
jmp 0x140043d58
mov rsp, rbp
pop rbp
ret
jno 0x140043e1e
in al, 0xe8
jmp 0x140043a69
lodsd eax, dword [rsi]
mov byte [rbx - 0x1f216ae], ah
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140043570
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x1400439b0