Function at 0x140028560
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x88
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov eax, dword [0x140273368]
xor eax, 0xf22eb5cb
imul eax, dword [0x14027336c]
xor eax, 0x1d8cdbac
xor eax, 0xa4f1f6c6
mov ecx, 0x9834d15d
xor ecx, 0xec2ecd2
xor edx, edx
div ecx
cmp eax, 0xa4d34ac5
je 0x140028c54
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov r8d, dword [0x140273370]
mov r9d, dword [0x140273374]
mov eax, r8d
and eax, r9d
or r8d, r9d
add eax, r8d
mov r8d, 0xaf7a2139
xor r8d, 0xd0eaffbc
mov r9d, 0x348cd3fc
xor r9d, 0xcb732c03
xor r8d, r9d
mov edi, eax
xor edi, r8d
and edi, eax
mov r8d, edi
xor r8d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xb88b540
mov r9d, 0xffffffff
xor r9d, 0x5488b566
mov eax, r8d
and eax, 0x5488b566
and edi, r9d
mov r11d, r10d
and r11d, 0x5488b566
mov esi, r9d
and esi, 0xb88b540
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r10d
xor r8d, 0xffffffff
or r9d, 0x5488b566
and r8d, r9d
or eax, r8d
imul eax, eax, 0x46194315
mov rdx, qword [rdx]
mov qword [rsp + 0x68], rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x77], cl
cmp eax, 0xe67cc803
je 0x140028c54
mov al, byte [rsp + 0x77]
test al, 1
jne 0x14002873b
jmp 0x140028687
mov rax, qword [rsp + 0x78]
mov rcx, 0xffffffffffffffff
xor rcx, 0xfffffffffffffff0
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x58], rax
mov rdx, qword [rax]
xor eax, eax
sub rax, rdx
xor ecx, ecx
sub rcx, 0x10
add rax, rcx
xor ecx, ecx
sub rcx, rax
mov qword [rsp + 0x60], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0xa2b75c927a192921
movabs r8, 0x5d48a36d85e6d6de
xor r9, r8
mov r8, rdx
xor r8, r9
or rax, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xc5631d357d97648e
movabs r8, 0x3a9ce2ca82689b71
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jge 0x14002872e
call fcn.14000f24b
jmp 0x14002873b
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov eax, dword [0x140273378]
xor edx, edx
div dword [0x14027337c]
mov ecx, 0xa57046b9
xor edx, edx
div ecx
add eax, 0xbd2df329
mov ecx, 0x35a6136
xor ecx, 0x4a62a80f
imul eax, ecx
mov ecx, 0x37ba89ec
xor ecx, 0x6df83522
cmp eax, ecx
je 0x140028c5d
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov r8d, dword [0x140273380]
mov r9d, dword [0x140273384]
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov r10d, 0xb7b041b
xor r10d, 0xf484fbe4
mov r8d, r9d
xor r8d, r10d
mov r10d, 0xc6104038
xor r10d, 0x39efbfc7
xor r9d, r10d
and r8d, r9d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xaf1fffec
xor r8d, 0x912d6fd7
add edx, r8d
add edx, 0x2a407b87
sub edx, 0x3e32903b
mov r10d, 0x9695cca1
xor r10d, 0x5bc7799f
mov r8d, 0x4697c193
xor r8d, 0xb9683e6c
xor r10d, r8d
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0xcd52b53e
mov r10d, 0x7d7093dd
xor r10d, 0xb02226e3
or edx, r10d
imul edx, r9d
add edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xe74e187c
add edx, r8d
add edx, 1
mov dword [rsp + 0x50], edx
mov edx, 0x307effa2
xor edx, 0xf43934f2
mov dword [rsp + 0x4c], edx
mov qword [rax], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x50]
cmp rdx, 0
sete dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
jbe 0x140028c5d
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140028c49
jmp 0x1400288a0
mov eax, dword [0x140273388]
mov edx, dword [0x14027338c]
xor edx, 0xd3d22d87
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x9c850c5a
mov edx, 0xb96db558
xor edx, 0x25e8b902
or ecx, edx
add eax, ecx
mov ecx, eax
and ecx, 0x33d229c4
mov edx, 0xecbdf2d8
xor edx, 0xdf6fdb1c
or eax, edx
add ecx, eax
mov eax, ecx
and eax, 0xab4f7b33
mov edx, 0xa45f0a72
xor edx, 0xf107141
or ecx, edx
add eax, ecx
cmp eax, 0x739c4834
jb 0x140028c66
mov rcx, qword [rsp + 0x68]
mov edx, dword [str.Et_u]
xor edx, dword [0x140273394]
mov eax, 0x768b173a
xor eax, 0x83b1c0fd
imul edx, eax
add edx, 0xbb6fca73
mov eax, edx
and eax, 0xdea44583
mov r8d, 0x7383faf7
xor r8d, 0xad27bf74
xor edx, r8d
or eax, edx
movabs rdx, 0x4a3fb1d710f9eb54
movabs r8, 0x4a3fb1d710f9eb54
xor rdx, r8
sub rdx, rcx
movabs rcx, 0x9e40bf2424f50fed
movabs r8, 0x9e40bf2424f50fed
xor rcx, r8
movabs r8, 0x9a77b43d897fb413
movabs r9, 0x65884bc276804be3
xor r8, r9
sub rcx, r8
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
movabs rdx, 0xa73b43a912d3370c
movabs r8, 0xa73b43a912d3371c
xor rdx, r8
cmp rcx, rdx
setb cl
mov byte [rsp + 0x4b], cl
cmp eax, 0x46c81fe8
jb 0x140028c66
mov al, byte [rsp + 0x4b]
test al, 1
jne 0x140028c28
jmp 0x1400289e2
mov rdx, qword [rsp + 0x40]
mov rax, rdx
and rax, 0xfffffffffffffff0
mov rcx, rdx
or rcx, 0xfffffffffffffff0
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x95e77d7c2e6718ac
movabs r8, 0x95e77d7c2e6718ac
xor rdx, r8
cmp rcx, rdx
setl dl
movabs rcx, 0xe1d60d95d669cc56
movabs r8, 0x1e29f26a299633a9
xor rcx, r8
cmp rax, rcx
setg al
mov cl, al
xor cl, dl
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x140028a5c
jmp 0x140028b5c
mov eax, dword [0x140273398]
mov edx, dword [0x14027339c]
xor edx, 0x70934c87
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
add eax, 0xf0c2b05
add eax, 0x28c600
sub eax, 0xf0c2b05
mov ecx, 0x2e4db547
xor ecx, 0x3c67f1be
xor edx, edx
div ecx
mov ecx, 0x2ae67372
xor ecx, 0x9e118375
xor eax, ecx
cmp eax, 0x5211fa1c
jb 0x140028c6f
mov eax, dword [0x1402733a0]
mov r8d, dword [0x1402733a4]
xor r8d, 0x37a42e5d
mov ecx, eax
xor ecx, 0xffffffff
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
mov edx, 0xd7b3ce25
xor edx, 0xe9c10bd4
mov ecx, 0x8275929d
xor ecx, 0x7d8a6d62
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x3e72c5f1
add eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x8160db07
mov edx, 0xffffffff
xor edx, 0x8160db07
and eax, edx
sub eax, ecx
sub eax, 0xd470b816
mov dword [rsp + 0x2c], eax
mov eax, 0xa6b63c6c
xor eax, 0x34bcd5a4
mov dword [rsp + 0x28], eax
call fcn.14000f24b
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
cmp eax, ecx
je 0x140028c6f
jmp 0x140028c49
mov eax, dword [0x1402733a8]
add eax, dword [0x1402733ac]
mov ecx, 0x7fb624bc
xor ecx, 0x8a483b3b
mov edx, 0x7191a0d7
xor edx, 0x8e6e5f28
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xa33ab95d
xor edx, edx
div ecx
mov ecx, 0x6f7ab55
xor edx, edx
div ecx
mov ecx, 0xbe9d6037
xor ecx, 0x7f6af4fa
cmp eax, ecx
je 0x140028c78
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1402733b0]
and eax, dword [0x1402733b4]
mov edx, 0xffffffff
xor edx, 0x1a70e48e
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov r8d, 0xd78cff76
xor r8d, 0xc29bc061
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x38]
mov r8d, eax
mov rax, qword [rsp + 0x68]
sub r8d, 0x7f777058
mov dword [rsp + 0x24], r8d
mov qword [rdx], rcx
mov r8, qword [rax]
mov cl, 1
xor cl, 1
and cl, 1
call fcn.1400200e0
mov eax, dword [rsp + 0x24]
cmp eax, 0x5350c500
je 0x140028c78
jmp 0x140028c49
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rax]
mov ecx, 1
call fcn.1400200e0
mov rcx, qword [rsp + 0x68]
call fcn.140020296
nop
add rsp, 0x88
pop rdi
pop rsi
ret
adc al, ch
xor eax, 0xf94fe9a2
invalid
outsd dx, dword [rsi]
push qword [rcx - 0x4ed16bb]
invalid
and byte [rsi + 0x6d], bh
invalid
not ecx
or dword [rsi - 0x17], 0x37
invalid
push rbp
add dword [rsi + 0x53], ebx
jmp 0x140028bae