Function at 0x14003b920
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov ecx, dword [0x1402a9928]
mov edx, dword [0x1402a992c]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov r8d, 0xd69457e3
xor r8d, 0x296ba81c
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd23bff2
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x303d123a
mov r8d, 0xffffffff
xor r8d, 0x303d123a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x303d123a
or eax, 0x303d123a
imul eax, edx
add eax, ecx
mov ecx, 0xaca0b1d9
xor edx, edx
div ecx
cmp eax, 0xcf995035
ja 0x14003be04
mov eax, dword [0x1402a9930]
mov ecx, 0xf6dd0a0
xor ecx, 0x3263b55f
xor eax, ecx
xor edx, edx
div dword [0x1402a9934]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x9fcbb0b0
xor r8d, 0x60344f4f
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xb881e388
xor edx, 0x7178b422
mov r8d, 0xd0163a72
xor r8d, 0x2fe9c58d
xor edx, r8d
or eax, edx
mov edx, 0xc9f957aa
and edx, 0xc9f957aa
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x9f0d6846
xor edx, 0x60f297b9
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xbce75ce8
xor edx, 0x4318a317
xor ecx, edx
or eax, ecx
mov ecx, 0xdd774cd3
xor ecx, 0x9e570de9
add eax, ecx
or eax, 0x35f1fcd3
mov dword [rsp + 0x5c], eax
mov eax, 0xe377a533
xor eax, 0xfe50b2c
mov dword [rsp + 0x58], eax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x58]
mov r9, rax
mov eax, dword [rsp + 0x5c]
add r9, 0x60
mov qword [rsp + 0x60], r9
mov rdx, qword [rdx]
mov qword [rsp + 0x68], rdx
cmp rdx, r8
setg dl
mov byte [rsp + 0x77], dl
cmp eax, ecx
je 0x14003be04
mov al, byte [rsp + 0x77]
test al, 1
jne 0x14003bab4
jmp 0x14003bbe3
mov eax, dword [0x1402a9938]
mov edx, dword [0x1402a993c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
xor eax, 0x4bbaf038
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0x139dea1a
xor r8d, 0xec6215e5
mov edx, eax
xor edx, r8d
or ecx, edx
mov edx, 0x14c348d7
xor edx, 0xeb3cb728
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xeddbc952
or ecx, edx
mov edx, 0xeddbc952
and edx, 0xeddbc952
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7d4b091
mov r8d, 0xffffffff
xor r8d, 0x7d4b091
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xf42d8981
xor edx, 0xbd2767e
xor ecx, edx
mov edx, 0xd91cd4b9
xor edx, 0xdec86428
mov r8d, 0xfa49554b
xor r8d, 0x5b6aab4
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x3b5f4be5
je 0x14003be0d
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1402a9940]
mov edx, dword [0x1402a9944]
xor edx, 0x24e929f
and eax, edx
mov r8d, 0xd82539cb
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x78]
mov r8d, eax
sub r8d, 0x297a20c4
mov r9d, 0xffffffff
xor r9d, 0x4e934d1
mov eax, r8d
xor eax, r9d
and eax, r8d
mov dword [rsp + 0x54], eax
call fcn.14003b749
mov eax, dword [rsp + 0x54]
cmp eax, 0xd4a4c4d5
jae 0x14003bb7a
jmp 0x14003bdfb
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jge 0x14003bdfb
mov rax, qword [rsp + 0x80]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x14003bc86
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0xbfffffffffffffff
xor r8, r9
and rdx, r8
movabs r8, 0x4b80d85395876c3a
movabs r9, 0xb47f27ac6a7893c5
xor r8, r9
xor rax, r8
xor rdx, 0xffffffffffffffff
and rax, rdx
cmp rax, rcx
jge 0x14003bd70
mov rdx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x78]
movabs rax, 0xaf4319b6736439c1
movabs rcx, 0xaf4319b6736439c1
xor rax, rcx
sub rax, rdx
mov rcx, r9
add rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, rcx
and rax, rax
xor rax, 0xffffffffffffffff
and rax, r9
xor rax, 0xffffffffffffffff
and r9, r9
xor r9, 0xffffffffffffffff
mov r8, rcx
and r8, r9
xor r8, 0xffffffffffffffff
and rax, r8
movabs r8, 0xf816f1032e772d89
movabs r9, 0x7e90efcd188d276
xor r8, r9
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14003bd66
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x68]
movabs r9, 0xde762cf51f72e140
movabs rax, 0xde762cf51f72e148
xor r9, rax
movabs rax, 0xacbc1e4ee14f2811
movabs r10, 0xacbc1e4ee14f2819
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140023a90
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x14003bd70
call fcn.14000ee80
jmp 0x14003bdfb
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x14003bdfb
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.140128800
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x14003bdfb
mov rdx, qword [rsp + 0x28]
mov rax, rdx
add rax, 1
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x14003bd8a
call fcn.14000ee80
nop
add rsp, 0x88
ret
xchg dword [rsi], edi
in al, 0xaf
jmp 0x14003b9b3
push rbp
sti
sahf
jmp 0x14003bb7a