Function at 0x1400369c0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x48], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x48]
add rax, 0x60
mov qword [rsp + 0x50], rax
cmp rcx, 0
je 0x140036cb6
mov rax, qword [rsp + 0x48]
movabs rcx, 0xc97119c985a1bd3d
add rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0xc97119c985a1bd3d
sub rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
movabs rcx, 0xfecf2c50c9360ea9
movabs rdx, 0xfecf2c50c9360eb9
xor rcx, rdx
cmp rax, rcx
jb 0x140036bbe
mov rdx, qword [rsp + 0x40]
movabs rcx, 0x94f3fcc1960e701e
movabs rax, 0x6b0c033e69f18fee
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140036a87
jmp 0x140036bac
mov eax, dword [0x140273ac8]
xor edx, edx
div dword [0x140273acc]
mov ecx, eax
mov edx, 0x65100aec
xor edx, 0x3ec8bb3b
mov eax, 0xa09e03b7
xor eax, 0x5f61fc48
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, 0x914b8c1d
add eax, 0xce596c2d
mov ecx, 0x36294c8
xor ecx, 0x922918d5
add eax, ecx
mov ecx, 0xa3fd5a81
xor ecx, 0x291341cb
sub eax, ecx
cmp eax, 0x6e2c8405
jae 0x140036cbc
mov eax, dword [0x140273ad0]
xor eax, 0x81b53914
mov ecx, dword [0x140273ad4]
mov edx, 0xaeadfb3e
xor edx, 0xd7d0b059
xor ecx, edx
mov edx, 0xd3c8f19f
xor edx, 0x65cc8e97
sub eax, edx
sub eax, ecx
mov ecx, 0x6722db8f
xor ecx, 0xd126a487
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdbed943a
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdbed943a
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov edx, 0xc2e0e0dd
xor edx, 0x831de7a6
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov edx, 0xfac22da9
xor edx, 0x53dd256
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x41fd077b
and ecx, edx
or eax, ecx
mov ecx, 0x33deb9bd
xor ecx, 0xcc214642
xor eax, ecx
mov ecx, 0x1d576cc9
xor ecx, 0x51af844e
or eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.14000f24b
mov eax, dword [rsp + 0x2c]
cmp eax, 0xd99e1c25
je 0x140036cbc
jmp 0x140036cb6
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x140036cb6
mov edx, dword [0x140273ad8]
mov ecx, dword [0x140273adc]
xor ecx, 0x890e7dc1
mov r8d, 0x2a157483
xor r8d, 0xd5ea8b7c
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
and ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xef556359
xor ecx, 0xa418dec4
xor edx, edx
div ecx
and eax, 0xb8032f42
add eax, 0xb219c377
cmp eax, 0x9920f75
je 0x140036cc5
mov rax, qword [rsp + 0x48]
mov ecx, dword [0x140273ae0]
or ecx, dword [0x140273ae4]
sub ecx, 0x15320ec4
add ecx, 0xb51323cd
add ecx, 0x15320ec4
xor edx, edx
sub edx, 0x3587365a
add ecx, edx
sub ecx, 0x47814e3a
mov dword [rsp + 0x24], ecx
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.140124f00
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x24]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2b], cl
cmp eax, 0x3aa73af3
jbe 0x140036cc5
mov al, byte [rsp + 0x2b]
test al, 1
jne 0x140036c99
jmp 0x140036cb6
add byte [rbx + 0x2614110d], cl
add bh, bh
adc eax, 0x2c750b
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x38]
mov rcx, rax
add rcx, 0x68
call fcn.1400190f0
nop
add rsp, 0x68
ret
mov bl, 0x84
xor bh, al
jmp 0x140036ae3
jae 0x140036c98
jl 0x140036c99
jmp 0x140036c18