Function at 0x140054620
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov eax, dword [0x140274a38]
mov ecx, 0x7d071de0
xor ecx, 0xad0154bd
xor eax, ecx
xor eax, dword [0x140274a3c]
mov r8d, 0xffffffff
xor r8d, 0x47bca4ae
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x47bca4ae
or eax, 0x47bca4ae
imul eax, edx
add eax, ecx
sub eax, 0x4fb5af21
add eax, 0x4ff0fdea
add eax, 0x7b9dd981
sub eax, 0x4ff0fdea
cmp eax, 0xc7d22596
jae 0x140054e26
mov eax, dword [0x140274a40]
mov r8d, dword [0x140274a44]
mov ecx, 0xa374fb18
xor ecx, 0x5c8b04e7
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4513da88
mov r8d, 0xffffffff
xor r8d, 0x4513da88
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4513da88
or eax, 0x4513da88
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xd2fd193b
xor edx, 0xa8d1922a
and edx, ecx
mov r8d, 0x7084763c
xor r8d, 0xaa8fd2d
mov ecx, 0xe0f5408e
xor ecx, 0x1f0abf71
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x71b28c09
xor r8d, 0xb9e0718
mov edx, eax
and edx, r8d
or eax, 0x7a2c8b11
imul eax, edx
add eax, ecx
add eax, 0x48a54e26
mov dword [rsp + 0x7c], eax
mov eax, 0xcbfb3711
xor eax, 0x2efbe809
mov dword [rsp + 0x78], eax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x78]
mov r9, rax
mov eax, dword [rsp + 0x7c]
add r9, 0x60
mov qword [rsp + 0x80], r9
mov rdx, qword [rdx]
mov qword [rsp + 0x88], rdx
cmp rdx, r8
setg dl
mov byte [rsp + 0x97], dl
cmp eax, ecx
je 0x14005469e
mov al, byte [rsp + 0x97]
test al, 1
jne 0x1400547da
jmp 0x1400547f4
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call fcn.1400542a0
jmp 0x140054d31
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
jge 0x140054d31
mov eax, dword [0x140274a48]
add eax, dword [0x140274a4c]
add eax, 0xa3d30273
mov r8d, 0xffffffff
xor r8d, 0x24345a31
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x720c824e
xor r8d, 0x5638d87f
mov edx, eax
and edx, r8d
or eax, 0x24345a31
imul eax, edx
add eax, ecx
imul eax, eax, 0x9d4210e6
cmp eax, 0xcb0ebe49
jae 0x140054e2f
mov rcx, qword [rsp + 0xa0]
mov eax, dword [0x140274a50]
xor eax, 0x6a2c5acc
and eax, dword [0x140274a54]
mov r8d, 0xfc351c2d
xor r8d, 0xbf2fef2
xor edx, edx
div r8d
mov edx, 0xb2ea1ab0
xor edx, 0x73e1bbeb
and eax, edx
add eax, 0xe3c46808
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x60], rdx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x68], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x77], cl
cmp eax, 0x351ad7a0
je 0x140054e2f
mov al, byte [rsp + 0x77]
test al, 1
jne 0x140054957
jmp 0x1400548e1
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
mov rax, rdx
xor rax, 0xffffffffffffffff
movabs r8, 0x2bc39ec159a277d3
movabs r9, 0x943c613ea65d882c
xor r8, r9
movabs r9, 0xe134cdb41cb8c3d7
movabs r10, 0x1ecb324be3473c28
xor r9, r10
xor r8, r9
or rax, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0xbfffffffffffffff
xor r8, r9
or rdx, r8
and rax, rdx
xor rax, 0xffffffffffffffff
cmp rax, rcx
jge 0x140054ab6
mov r8, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rdx, rcx
sub rdx, r8
mov qword [rsp + 0x58], rdx
mov rax, rdx
xor rax, rcx
cmp rax, 0
setl al
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
or rcx, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140054aac
mov eax, dword [0x140274a58]
sub eax, dword [0x140274a5c]
add eax, 0x1fdf84e2
mov ecx, 0xfad73563
xor ecx, 0xaa084c29
sub eax, ecx
sub eax, 0xe60075ec
add eax, 0x50df794a
mov ecx, 0xab12cc6d
xor ecx, 0xe4977498
xor eax, ecx
cmp eax, 0x18bc7d1d
jae 0x140054e38
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x140274a60]
or eax, dword [0x140274a64]
mov r9d, 0xb4d9f20e
xor r9d, 0x2ea34350
sub eax, r9d
mov r9d, 0x6dde0ce7
xor r9d, 0xe588d04c
sub eax, r9d
add eax, 0x9a7ab15e
xor r9d, r9d
sub r9d, 0x181560cf
add eax, r9d
xor r9d, r9d
sub r9d, eax
xor eax, eax
sub eax, 0x44f974de
add r9d, eax
xor eax, eax
sub eax, r9d
mov dword [rsp + 0x54], eax
mov eax, 0x4b82225d
xor eax, 0x38089c78
mov dword [rsp + 0x50], eax
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rdx, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
mov r8, rax
mov eax, dword [rsp + 0x54]
mov qword [rdx], r8
cmp eax, ecx
jae 0x140054a01
jmp 0x140054ab6
call fcn.14000f24b
jmp 0x140054d31
mov eax, dword [0x140274a68]
mov ecx, dword [0x140274a6c]
xor ecx, 0x259a4452
and eax, ecx
mov ecx, 0x35b99f2e
xor ecx, 0xc3db2148
xor eax, ecx
mov ecx, 0xb491c051
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0x3974bd8a
mov ecx, eax
and ecx, edx
mov r8d, 0x8b0738ef
xor r8d, 0xb2738565
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xe7a3bdaa
xor ecx, 0x8f4ea847
cmp eax, ecx
jae 0x140054e41
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov ecx, dword [0x140274a70]
mov r9d, dword [0x140274a74]
mov eax, 0xa1597c5b
xor eax, 0xd02687d0
xor r9d, eax
mov r10d, ecx
xor r10d, r9d
xor r10d, 0xffffffff
mov eax, r9d
and eax, r10d
shl eax, 1
sub eax, r9d
sub ecx, eax
mov eax, 0x10d93a54
xor eax, 0xcdf45eb8
imul ecx, eax
mov eax, ecx
and eax, 0x216c6c3d
xor ecx, 0x216c6c3d
or eax, ecx
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xa005204a
mov ecx, 0xffffffff
xor ecx, 0x3df152f
or eax, r9d
or ecx, 0x3df152f
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xa3a2955f
xor ecx, 0xb2e14940
mov qword [rdx], r8
cmp eax, ecx
je 0x140054b18
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x48], rax
jmp 0x140054bc7
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
cmp rax, rcx
jge 0x140054d31
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.140224b42
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x140054d31
mov eax, dword [0x140274a78]
mov ecx, dword [0x140274a7c]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
add eax, 0x88b7193b
add eax, 0xf1866031
sub eax, 0x88b7193b
or eax, 0x2d14b436
mov edx, 0x9f1c4ae9
xor edx, 0xcb3945be
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x54250f57
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x729c9739
jbe 0x140054e4a
mov r8, qword [rsp + 0x40]
mov eax, dword [0x140274a80]
xor eax, 0x8fa6bc6a
mov edx, dword [0x140274a84]
and eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
sub eax, 0xba2e2ed
add eax, 0xb1e2a398
add eax, 0xba2e2ed
xor ecx, ecx
sub ecx, 0xadb940e1
add eax, ecx
mov ecx, 0x944ff940
xor ecx, 0xfd89fad6
and eax, ecx
xor ecx, ecx
mov edx, ecx
sub rdx, 1
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x30], rcx
movabs rdx, 0x56dec0e6dc236d6d
movabs r9, 0xa9213f1923dc9292
xor rdx, r9
xor r8, rdx
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x31ec4033
ja 0x140054c6c
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x140054d2c
jmp 0x140054bc7
call fcn.14000f24b
mov eax, dword [0x140274a88]
mov ecx, dword [0x140274a8c]
mov edx, 0x181fc072
xor edx, 0x5f3b050a
xor ecx, edx
or eax, ecx
mov ecx, 0xd40d8214
xor ecx, 0xa7c0c781
xor eax, ecx
mov ecx, 0xde61551
xor ecx, 0x54acb28c
xor eax, ecx
sub eax, 0xddc0e055
cmp eax, 0x8e4a5235
jb 0x140054e53
mov r11d, dword [0x140274a90]
mov r10d, dword [0x140274a94]
mov ecx, r11d
xor ecx, 0xffffffff
mov eax, 0xf33a9e94
xor eax, 0xcc5616b
mov edx, r10d
xor edx, eax
mov r8d, 0xffffffff
xor r8d, 0x3cad4120
mov r9d, 0x22e4b41d
xor r9d, 0x1e49f53d
mov eax, ecx
and eax, r9d
and r11d, r8d
mov r9d, edx
and r9d, 0x3cad4120
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x6e8d60fa
xor edx, 0x522021da
or edx, r8d
and ecx, edx
or eax, ecx
and eax, 0x9c3b90d9
and eax, 0x96b0cc91
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x7c7624df
xor edx, 0xeb6b9c9d
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x971db842
and eax, edx
sub eax, ecx
cmp eax, 0xe2f4cb04
jbe 0x140054d76
add rsp, 0xa8
ret
movabs dword ss:[0x91fffff86fe98a22], eax
xchg ecx, eax
cli
add esi, dword [rbx - 0x17]
xor dl, bh
invalid
push rbx
cmp eax, ecx
cmp al, 0xe9
sar bl, 0xff
call qword [rcx + rcx*4 + 0x5b]
xor cl, ch
invalid
push rsp
mov dword [rbx + 0x30], ebx
jmp 0x140054b18
xchg esi, eax
xchg ecx, eax
jmp 0x140054c6c
invalid