Function at 0x140024ca0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
movabs rax, 0x46b013301bbac8de
movabs rcx, 0x46b013301bbac8cf
xor rax, rcx
cmp rdx, rax
jge 0x140024cf5
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x70]
mov rcx, rax
add rcx, 0x68
call fcn.140014f80
mov qword [rsp + 0x60], rax
jmp 0x140025073
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
movabs rcx, 0xe4fd5c9970c5bb71
movabs rax, 0x1b02a3668f3a448e
xor rcx, rax
mov rax, r8
xor rax, rcx
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov rcx, rdx
sub rcx, rax
mov qword [rsp + 0x58], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xf1778234ac9cc69d
movabs rdx, 0xf1778234ac9cc69d
xor rcx, rdx
cmp rax, rcx
jge 0x140024d66
call fcn.14000f24b
jmp 0x140025073
mov rcx, qword [rsp + 0x58]
movabs rdx, 0x66c1997ce0d2cf34
movabs rax, 0x993e66831f2d30cb
xor rdx, rax
mov rax, rcx
add rax, rdx
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
or al, al
mov dl, 1
xor dl, 0
xor al, dl
or cl, cl
mov dl, 1
xor dl, 0
xor cl, dl
or al, cl
xor al, 0xff
test al, 1
jne 0x140024dd6
jmp 0x140024de0
call fcn.14000f24b
jmp 0x140025073
mov rdx, qword [rsp + 0x58]
movabs rcx, 0x61fd5272e57ad00d
movabs rax, 0x61fd5272e57ad00d
xor rcx, rax
sub rcx, rdx
xor eax, eax
sub rax, 1
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x50], rax
xor ecx, ecx
movabs r8, 0x69f4667b3f6a1852
sub rcx, r8
sub rcx, rdx
movabs rdx, 0x69f4667b3f6a1852
add rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140024e48
call fcn.14000f24b
jmp 0x140025073
mov rax, qword [rsp + 0x50]
cmp rax, 0
jge 0x140024e67
mov rcx, r8
mov rdx, r8
call fcn.14001a720
jmp 0x140025073
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x50]
mov rcx, rax
add rcx, 0x68
call fcn.140014f80
mov r8, qword [rsp + 0x68]
mov qword [rsp + 0x40], rax
movabs rdx, 0xbc318f24056e32b7
movabs rcx, 0x43ce70dbfa91cd48
xor rdx, rcx
mov rcx, r8
and rcx, rdx
shl rcx, 1
mov rdx, r8
xor rdx, 0xffffffffffffffff
add rdx, rcx
and rdx, rax
mov rax, r8
xor rax, 0xffffffffffffffff
and rax, rdx
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
sub rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0x6e24cb81d8c0647d
movabs r8, 0x91db347e273f9b82
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x140024f17
jmp 0x140024fba
mov eax, dword [str.g7Z]
mov ecx, 0x2b9f60a5
xor ecx, 0x8313b29f
xor eax, ecx
sub eax, dword [0x1402731cc]
mov ecx, 0x5672d993
xor edx, edx
div ecx
mov ecx, 0x50ebadfe
xor ecx, 0x79b95a51
and eax, ecx
mov ecx, 0x2bd12d84
xor ecx, 0x358949eb
xor edx, edx
div ecx
cmp eax, 0x926b5098
jae 0x140025137
mov ecx, dword [0x1402731d0]
mov eax, 0x3cdc6d27
xor eax, 0x5a1468a2
xor ecx, eax
and ecx, dword [0x1402731d4]
mov edx, 0xffffffff
xor edx, 0x93a08a01
mov eax, ecx
xor eax, edx
and eax, ecx
add eax, 0x756b8a1a
mov ecx, 0x54b64276
xor ecx, 0xa85341e2
xor edx, edx
div ecx
mov dword [rsp + 0x3c], eax
call fcn.14000f24b
mov eax, dword [rsp + 0x3c]
cmp eax, 0xd2c86e62
je 0x140025137
jmp 0x140025073
mov rax, qword [rsp + 0x48]
movabs rdx, 0x870573ce78dae8b8
movabs rcx, 0x78fa8c3187251746
xor rdx, rcx
mov rcx, rax
add rcx, rdx
mov qword [rsp + 0x30], rcx
xor rcx, rax
movabs rdx, 0x6d94cd464cac9b41
movabs r8, 0x6d94cd464cac9b41
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0x47c7f0aa9dbb444f
movabs r8, 0x47c7f0aa9dbb444e
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x14002502d
jmp 0x140025037
call fcn.14000f24b
jmp 0x140025073
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
add rdx, rcx
mov r8w, ax
mov word [rdx], r8w
movabs rdx, 0xb1f06b9e8d630a7e
sub rax, rdx
add rax, rcx
movabs rcx, 0xb1f06b9e8d630a7e
add rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1402731d8]
xor eax, 0xbc1e5310
mov r8d, dword [0x1402731dc]
mov edx, 0x21ea0684
xor edx, 0xde15f97b
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0x32f5ff7d
mov ecx, 0x48e97b10
xor ecx, 0xdd8f33d8
xor eax, ecx
imul eax, eax, 0xd710ed3
cmp eax, 0x3e713ec8
je 0x140025140
mov eax, dword [0x1402731e0]
sub eax, dword [0x1402731e4]
mov edx, 0x571975df
xor edx, 0x4ee5ed83
mov ecx, eax
and ecx, edx
xor eax, 0x19fc985c
or ecx, eax
mov eax, 0xdb071554
xor eax, 0x869856c4
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x1cc2a8a1
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xd3a372c4
jae 0x1400250e3
mov rax, qword [rsp + 0x28]
add rsp, 0x78
ret
cwde
stosd dword [rdi], eax
movabs al, byte [0xa9d4fffffe20e978]
jrcxz 0x1400251af
invalid
jmp 0x1400250e3
add byte [rcx + rcx*4 - 0x74], cl
and al, 0x70
add al, byte [rax]
add byte [rcx + rcx*4 - 0x7c], cl
and al, 0x78
add al, byte [rax]
add byte [rax - 0x77], cl
xchg esp, eax
and al, 0x80
add al, byte [rax]
add byte [rax - 0x77], cl
mov word [rax + rcx*4], fs
add al, byte [rax]
add byte [rcx - 0x7d], cl
stc
adc dword [rdi], ecx
lea ebp, [rdx]
add byte [rax], al
add byte [rbx + rcx*4 - 0x7c], cl
and al, 0x78
add al, byte [rax]
add byte [rax - 0x75], cl
xchg esp, eax
and al, 0x80
add al, byte [rax]
add byte [rax - 0x75], cl
mov word [rax + rcx*4], fs
add al, byte [rax]
add al, ch
jns 0x1400251d7
invalid