Function at 0x140017740
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x58], rcx
mov rax, qword [rdx + 8]
mov qword [rsp + 0x60], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r9d, r8d
mov ecx, 8
xor eax, eax
cmp r9d, 0x100
cmovb rcx, rax
mov eax, 0x18
mov r10d, 0x10
cmp r9d, 0x1000000
cmovb rax, r10
cmp r9d, 0x10000
cmovb rax, rcx
mov ecx, eax
shr r9d, cl
mov ecx, r9d
mov ecx, ecx
mov r9d, ecx
lea rcx, [0x140281d90]
movsx rcx, byte [rcx + r9]
movabs r9, 0xcd74074eb2d35db1
add rax, r9
add rax, rcx
movabs rcx, 0xcd74074eb2d35db1
sub rax, rcx
movabs r9, 0xbc4c04ed57c131fd
movabs rcx, 0x14907361950b6b21
xor r9, rcx
mov rcx, rax
add rcx, r9
add rcx, 0xfffffffffffffffb
movabs r9, 0xa8dc778cc2ca5adc
sub rcx, r9
sar r8, cl
mov qword [rsp + 0x70], r8
mov rcx, r8
xor r8d, r8d
sub r8, 0xffffffffffffffe0
sub rcx, r8
mov qword [rsp + 0x78], rcx
xor ecx, ecx
sub rcx, 0xfffffffffffffffa
sub rax, rcx
mov qword [rsp + 0x80], rax
mov rax, rdx
add rax, 0x18
mov qword [rsp + 0x88], rax
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x90], rax
cmp rax, 0
je 0x14001792b
mov eax, dword [0x140272bb8]
and eax, dword [0x140272bbc]
mov r8d, 0xffffffff
xor r8d, 0xcd50f72e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xcd50f72e
mov r8d, 0x222dc29b
xor r8d, 0xef7d35b5
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x6799e4bb
xor ecx, 0xcecee34f
imul eax, ecx
mov ecx, 0xcfa458f6
xor edx, edx
div ecx
mov ecx, 0x3ff460d1
xor ecx, 0xc4606451
cmp eax, ecx
je 0x140017fab
mov rcx, qword [rsp + 0x90]
mov eax, dword [0x140272bc0]
mov r8d, dword [0x140272bc4]
mov edx, eax
and edx, r8d
shl edx, 1
xor eax, r8d
add eax, edx
mov r8d, 0xb7a7d945
xor edx, edx
div r8d
mov r8d, 0x36fc764e
xor r8d, 0xeb27e641
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x68]
sub eax, 0x1aa72670
mov rdx, qword [rdx + 0x20]
mov qword [rcx + 0x20], rdx
cmp eax, 0x80d0e95
jb 0x140017fab
jmp 0x14001792b
mov ecx, dword [0x140272bc8]
xor ecx, dword [0x140272bcc]
mov edx, 0xc3c8c484
xor edx, 0xac1d1c67
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, 0x6fd5d8e3
sub ecx, eax
add ecx, 0x22744ba
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xb9943956
and ecx, 0xb9943956
mov edx, 0x72fbc3dc
xor edx, 0x8d043c23
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x13fb5872
je 0x140017fb4
mov rdx, qword [rsp + 0x68]
mov r9d, dword [0x140272bd0]
mov r8d, dword [0x140272bd4]
mov ecx, r9d
xor ecx, 0xffffffff
mov eax, 0x4d3eda61
xor eax, 0xc64aa952
and eax, ecx
mov r10d, 0x7faccf0d
xor r10d, 0xf4d8bc3e
mov ecx, 0x7b19fc42
xor ecx, 0x84e603bd
xor r10d, ecx
and r9d, r10d
mov r11d, 0x84ccf279
xor r11d, 0x7b330d86
mov ecx, r8d
xor ecx, r11d
and ecx, 0x8b747333
and r8d, r10d
or eax, r9d
or ecx, r8d
xor eax, ecx
xor eax, 0xb05a6c27
imul eax, eax, 0x50d48569
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0xd6956a91
xor r8d, 0x539ce6e0
and r8d, ecx
mov r9d, 0xffffffff
xor r9d, 0x85098c71
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x85098c71
or eax, 0x85098c71
imul eax, r8d
add eax, ecx
mov ecx, 0xce1f29bc
xor ecx, 0xa68f0ad6
mov r8, rdx
add r8, 0x20
mov qword [rsp + 0x40], r8
mov rdx, qword [rdx + 0x20]
mov qword [rsp + 0x48], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
je 0x14001798c
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140017bb8
jmp 0x140017a82
mov eax, dword [0x140272bd8]
mov ecx, dword [0x140272bdc]
sub eax, 0x57e6da95
sub eax, ecx
mov ecx, 0xbfc173dd
xor ecx, 0xe827a948
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xd2e01a80
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xd2e01a80
add eax, edx
sub eax, ecx
xor eax, 0x400043bc
mov ecx, eax
xor ecx, 0x9006eafb
xor ecx, 0xffffffff
mov edx, 0x4a5778a2
xor edx, 0xda519259
or eax, edx
and eax, ecx
mov ecx, 0x89b9367d
xor ecx, 0xda4690e2
cmp eax, ecx
je 0x140017fbd
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x88]
mov r8d, dword [0x140272be0]
mov r9d, dword [0x140272be4]
xor r9d, 0x4fc26f40
mov eax, r8d
and eax, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x87be2dd6
xor r9d, r9d
sub r9d, 1
sub r8d, r9d
sub eax, r8d
sub eax, 0x36f5a823
mov r10d, 0x6b15d276
xor r10d, 0xce09393c
mov r8d, 0xed49047d
xor r8d, 0x12b6fb82
xor r10d, r8d
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
mov r10d, 0x438deb6e
xor r10d, 0xbc721491
xor r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xa51ceb4a
or eax, 0xa51ceb4a
imul eax, r9d
add eax, r8d
mov rdx, qword [rdx]
mov qword [rcx + 0x18], rdx
cmp eax, 0xed76f5c3
jae 0x140017aef
jmp 0x140017bb8
mov eax, dword [0x140272be8]
mov ecx, dword [0x140272bec]
add eax, 0xb478b3de
sub eax, ecx
sub eax, 0xb478b3de
and eax, 0x2b856976
add eax, 0xfb8ea73a
mov ecx, 0x8aeb6682
xor ecx, 0xbfbc2bbb
add eax, ecx
mov ecx, 0x55d7f95e
xor ecx, 0xae595e64
sub eax, ecx
mov ecx, 0x4117346f
xor ecx, 0x90c4537a
sub eax, ecx
mov ecx, 0x7e3b4d5c
xor ecx, 0x5c50e4dc
cmp eax, ecx
je 0x140017fc6
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov r11d, dword [0x140272bf0]
xor r11d, 0x2a23a688
mov eax, dword [0x140272bf4]
add r11d, 0xa32457cc
sub r11d, eax
sub r11d, 0xa32457cc
mov eax, r11d
xor eax, 0xffffffff
and eax, 0x506737a
mov r10d, 0xffffffff
xor r10d, 0x506737a
and r11d, r10d
mov edx, 0xffffffff
xor edx, 0x61a812dd
and edx, 0x506737a
and r10d, 0x61a812dd
or eax, r11d
or edx, r10d
xor eax, edx
mov r10d, 0xb33cc5f4
xor edx, edx
div r10d
mov r10d, 0x7a351269
xor r10d, 0xd7f6b3c0
xor edx, edx
div r10d
mov rdx, qword [rsp + 0x68]
add rcx, 0x868
shl r9, 8
add rcx, r9
shl r8, 3
add rcx, r8
mov qword [rsp + 0x30], rcx
cmp qword [rcx], rdx
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x3b987e92
jae 0x140017fc6
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140017ce8
jmp 0x140017f88
mov eax, dword [0x140272bf8]
xor eax, 0xfb8bd9b7
or eax, dword [0x140272bfc]
and eax, 0x93b10214
or eax, eax
mov ecx, 0xb9ff2c2e
xor ecx, 0x4600d3d1
xor eax, ecx
mov ecx, 0xc7987c9
or ecx, 0xc7987c9
xor ecx, 0xffffffff
mov edx, 0x2869165a
xor edx, 0xd796e9a5
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd196cc8c
xor ecx, 0x7727f6f4
and eax, ecx
mov ecx, 0xf767cd23
xor ecx, 0x18952428
cmp eax, ecx
jae 0x140017fcf
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x88]
mov eax, dword [0x140272c00]
add eax, dword [0x140272c04]
mov ecx, 0x9ae13a6
xor ecx, 0xf25b56ff
mov r9d, 0x9c0d2201
xor r9d, 0x63f2ddfe
xor ecx, r9d
mov r9d, 0x693aeb31
xor r9d, 0x693aeb31
mov r10d, 0x9603f363
xor r10d, 0x9603f362
sub r9d, r10d
sub ecx, r9d
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r9d, 0x7b4a092
xor r9d, 0x2c3502df
and r9d, ecx
mov r10d, 0xffffffff
xor r10d, 0x2b81a24d
mov ecx, eax
and ecx, r10d
imul ecx, r9d
mov r9d, eax
and r9d, 0x2b81a24d
or eax, 0x2b81a24d
imul eax, r9d
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x6d90ff8f
add eax, ecx
add eax, 1
mov ecx, 0x763563b2
xor ecx, 0x97e380ef
mov rdx, qword [rdx]
mov qword [r8], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x2f], dl
cmp eax, ecx
jae 0x140017fcf
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140017e28
jmp 0x140017f88
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
mov r8d, dword [rax + rdx*4 + 0x804]
and rcx, 0x1f
movabs rax, 0xb50ec6dbf9f65590
movabs r9, 0xb50ec6dbf9f65591
xor rax, r9
shl rax, cl
mov rcx, qword [rsp + 0x58]
mov r9d, eax
mov eax, 0xfdb89523
xor eax, 0x2476adc
xor r9d, eax
xor r9d, 0xffffffff
mov eax, r8d
xor eax, r9d
and eax, r8d
mov dword [rcx + rdx*4 + 0x804], eax
mov ecx, 0x2d836e53
xor ecx, 0x2d836e53
cmp eax, ecx
jne 0x140017f88
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rax + 0x800]
mov dword [rsp + 0x28], ecx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0x1f
or rcx, r8
movabs r8, 0x48d3764f87ab9c1
movabs r9, 0xfb72c89b0785463e
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0x1f
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov edx, 1
shl rdx, cl
mov ecx, dword [rsp + 0x28]
mov r10d, edx
mov r8d, r10d
xor r8d, 0xffffffff
and r8d, 0x7873acd5
mov r9d, 0xffffffff
xor r9d, 0x7873acd5
and r10d, r9d
mov edx, 0xe71422c3
xor edx, 0x18ebdd3c
mov r11d, 0x9837688b
xor r11d, 0x67c89774
xor edx, r11d
and edx, 0x7873acd5
and r9d, 0xffffffff
or r8d, r10d
or edx, r9d
xor r8d, edx
xor ecx, 0xffffffff
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc1d303db
or ecx, r8d
or edx, 0xc1d303db
mov r8d, 0x63201cbe
xor r8d, 0x9cdfe341
xor ecx, r8d
and ecx, edx
mov dword [rax + 0x800], ecx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x40]
mov qword [rcx], 0
mov qword [rax], 0
add rsp, 0x98
ret
invalid
in al, 0xba
rcr dword [rax - 0x17], 0xcf
stc
invalid
and byte [rdx], 0xa6
invalid
sar esi, 1
mov bl, byte [rcx]
jmp 0x140017c14
cwde
stc
and al, 0xaa
jmp 0x140017d4d