Function at 0x14004a430
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x98
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rcx
mov ecx, dword [0x140274538]
mov eax, dword [0x14027453c]
xor eax, 0xfb003b80
or ecx, eax
sub ecx, 0x47b94fa3
mov eax, 0xa7cfbcd3
xor eax, 0xa314e0b5
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x6346df3f
xor edx, 0x59e374a
mov r8d, 0x85cbb032
xor r8d, 0x7a344fcd
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x66d8e875
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x5ee32778
xor edx, 0xa11cd887
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x66d8e875
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x604669bc
xor ecx, 0x3b8e9ce2
cmp eax, ecx
je 0x14004ad1d
mov ecx, dword [0x140274540]
mov eax, dword [0x140274544]
xor eax, 0xc810e9c5
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov eax, 0xf11881a3
xor eax, 0x48a0fc7c
imul ecx, eax
xor eax, eax
sub eax, 0xab01381f
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xfde169aa
xor eax, 0xffffffff
mov edx, 0xfde169aa
and edx, 0xfde169aa
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, 0xd95087c3
xor eax, 0x747b718a
mov dword [rsp + 0x68], eax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x68]
mov r9, rax
mov eax, dword [rsp + 0x6c]
add r9, 0x60
mov qword [rsp + 0x70], r9
mov rdx, qword [rdx]
mov qword [rsp + 0x78], rdx
cmp rdx, r8
setg dl
mov byte [rsp + 0x87], dl
cmp eax, ecx
je 0x14004a4da
mov al, byte [rsp + 0x87]
test al, 1
jne 0x14004a5ab
jmp 0x14004a5c5
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.140049f80
jmp 0x14004ad12
mov eax, dword [0x140274548]
mov edx, dword [0x14027454c]
mov ecx, 0x10971b03
xor ecx, 0x10971b03
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x5731808d
xor ecx, 0x65a0553c
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0x268c97fa
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x268c97fa
add eax, edx
sub eax, ecx
imul eax, eax, 0xb9a00aa9
mov ecx, 0x8976733d
xor ecx, 0xfea8f75e
cmp eax, ecx
ja 0x14004ad26
mov r8, qword [rsp + 0x88]
mov eax, dword [0x140274550]
xor edx, edx
div dword [0x140274554]
mov rdx, qword [rsp + 0x78]
mov edi, eax
mov eax, edi
xor eax, 0xffffffff
mov ecx, 0x129ff603
xor ecx, 0x1f3200e0
and ecx, eax
mov r9d, 0x9e70dabe
xor r9d, 0x93dd2c5d
mov eax, 0xecb2109d
xor eax, 0x134def62
xor r9d, eax
mov eax, edi
and eax, r9d
imul eax, ecx
mov ecx, edi
and ecx, 0xdadf6e3
or edi, 0xdadf6e3
imul edi, ecx
add edi, eax
sub edi, 0xc2aa44ef
mov ecx, edi
xor ecx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xff4c7b67
mov r10d, 0xffffffff
xor r10d, 0x5e708b8b
mov eax, ecx
and eax, 0x5e708b8b
and edi, r10d
mov r11d, r9d
and r11d, 0x5e708b8b
mov esi, 0x2d00d433
xor esi, 0xd24caf54
and esi, r10d
or eax, edi
or r11d, esi
xor eax, r11d
or ecx, r9d
mov r9d, 0x15a97537
xor r9d, 0xea568ac8
xor ecx, r9d
mov r9d, 0x25fd8270
xor r9d, 0x7b8d09fb
or r9d, r10d
and ecx, r9d
or eax, ecx
mov ecx, 0x86071b90
xor ecx, 0xc6ead2c1
cmp rdx, r8
setl dl
mov byte [rsp + 0x67], dl
cmp eax, ecx
je 0x14004a62b
mov al, byte [rsp + 0x67]
test al, 1
jne 0x14004a734
jmp 0x14004ad12
mov eax, dword [0x140274558]
mov edx, dword [0x14027455c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x4caf4506
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
mov edx, 0xea389a4d
xor edx, 0x15c765b2
xor eax, edx
or eax, 0x862c99ae
add eax, ecx
mov edx, 0x16a1b331
xor edx, 0x4137a9d5
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x57961ae4
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xa6ed1c85
jb 0x14004ad2f
mov rcx, qword [rsp + 0x90]
mov edx, dword [0x140274560]
mov eax, dword [0x140274564]
xor eax, 0x8ac20b6b
imul edx, eax
mov eax, edx
or eax, 0xf11d4ff8
xor eax, 0xffffffff
mov r8d, 0x6270366a
xor r8d, 0x9d8fc995
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xf11d4ff8
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0xda0fbc36
xor edx, 0x25f043c9
mov r8d, eax
xor r8d, edx
and r8d, 0x2a25ad3
mov r9d, 0xffffffff
xor r9d, 0x2a25ad3
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x2a25ad3
or eax, 0x2a25ad3
imul eax, r8d
add eax, edx
xor edx, edx
sub edx, 0x29f490c5
add eax, edx
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x50], rdx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x58], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x66], cl
cmp eax, 0xefa0d49b
je 0x14004ad2f
mov al, byte [rsp + 0x66]
test al, 1
jne 0x14004a8b5
jmp 0x14004a86b
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rdx, rax
add rdx, 1
movabs r8, 0xb9826e0374ee17a7
movabs r9, 0x467d91fc8b11e858
xor r8, r9
xor rax, r8
movabs r8, 0xbfffffffffffffff
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x14004aab4
mov ecx, dword [0x140274568]
mov eax, dword [0x14027456c]
xor eax, 0x208ffcf5
add ecx, eax
xor ecx, 0x86763d38
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xd70a81c1
xor edx, 0xb6c1a44b
mov r8d, 0x41d48d7b
xor r8d, 0xbe2b7284
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x61cb258a
and edx, r8d
xor eax, 0xffffffff
mov r8d, 0x94e93e3f
xor r8d, 0x6b16c1c0
xor edx, r8d
and eax, edx
mov edx, 0xed3d245
xor edx, 0x6f18f7cf
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x7159d2ba
xor ecx, 0x8ea62d45
xor eax, ecx
mov ecx, 0x47cd6d91
xor ecx, 0x52c85107
and eax, ecx
mov ecx, 0x124df641
xor ecx, 0x3cb113fd
cmp eax, ecx
je 0x14004ad38
mov r9, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x140274570]
xor eax, dword [0x140274574]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xaa340d58
mov r10d, 0xffffffff
xor r10d, 0xaa340d58
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, 0xaa340d58
mov r10d, 0x9b542c8d
xor r10d, 0x316021d5
or eax, r10d
imul eax, r8d
add eax, edx
mov edx, 0xbe69ecc7
xor edx, 0x120c1c1e
imul eax, edx
imul eax, eax, 0x779ac4f4
mov r8, rcx
sub r8, r9
mov qword [rsp + 0x40], r8
mov rdx, r8
xor rdx, rcx
xor rdx, 0xffffffffffffffff
mov r10, rcx
and r10, rdx
movabs rdx, 0x2512695d4c5790b1
movabs r11, 0x2512695d4c5790b3
xor rdx, r11
imul rdx, r10
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
cmp rcx, 0
setl cl
mov r10, r8
xor r10, 0xffffffffffffffff
mov rdx, r9
and rdx, r10
movabs r10, 0x884836f6a741adb3
movabs r11, 0x77b7c90958be524c
xor r10, r11
xor r9, r10
and r8, r9
or rdx, r8
movabs r8, 0x16a6da03ba7335d0
movabs r9, 0xe95925fc458cca2f
xor r8, r9
cmp rdx, r8
setg dl
and cl, dl
mov byte [rsp + 0x4f], cl
cmp eax, 0xac9f34f9
je 0x14004ad38
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14004aaaa
jmp 0x14004aa77
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14004aab4
call fcn.14000f24b
jmp 0x14004ad12
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14004ad12
mov ecx, dword [0x140274578]
xor ecx, 0xdd1c269
mov edx, dword [0x14027457c]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov r8d, 0xe77557a6
xor r8d, 0x188aa859
xor ecx, r8d
mov r8d, 0xed826384
xor r8d, 0x127d9c7b
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x4e4f0c66
xor ecx, 0x2eb7652b
or eax, ecx
and eax, 0xad7d9d69
mov ecx, eax
and ecx, 0x51cdfe18
shl ecx, 1
add eax, 0x51cdfe18
sub eax, ecx
cmp eax, 0x7702871f
jbe 0x14004ad41
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x140274580]
mov r8d, dword [0x140274584]
mov edx, 0x22b9f099
xor edx, 0xb006b0ca
xor r8d, edx
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x30]
imul edx, edx, 0xc1333faa
mov r10d, 0xffffffff
xor r10d, 0x6283e812
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
mov r10d, 0x1c402b3a
xor r10d, 0xe3bfd4c5
xor r8d, r10d
imul r8d, r9d
mov r10d, 0x85d5a09b
xor r10d, 0xe7564889
mov r9d, edx
and r9d, r10d
or edx, 0x6283e812
imul edx, r9d
add edx, r8d
sub edx, 0xa9cd6d9
mov r8d, 0xff34877f
xor r8d, 0x3d664e65
sub edx, r8d
mov r8d, 0x78eb495b
xor r8d, 0x72779f82
add edx, r8d
mov dword [rsp + 0x28], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401da782
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x28]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xc2d0427c
jae 0x14004ad41
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14004ac4a
jmp 0x14004ad12
mov r9, qword [rsp + 0x30]
mov rax, r9
add rax, 1
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rcx, 0xb03dfc5675333d2c
and r8, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0xb03dfc5675333d2c
xor rdx, rcx
and r9, rdx
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r10, 0x2b317aadbd47c5a8
movabs r11, 0x9b0c86fbc874f884
xor r10, r11
and rcx, r10
and rdx, 0xffffffffffffffff
or r8, r9
or rcx, rdx
xor r8, rcx
mov rcx, rax
and rcx, r8
movabs rdx, 0x1b17b1334d9827ad
movabs r9, 0xe4e84eccb267d852
xor rdx, r9
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x357cbcd2ea5fa6a9
movabs r8, 0x357cbcd2ea5fa6a9
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jge 0x14004aad1
call fcn.14000f24b
nop
add rsp, 0x98
pop rdi
pop rsi
ret
jbe 0x14004ad42
xor esp, dword [rbx - 0x17]
mov ah, 0xf7
invalid
cmp esi, dword [rcx - 0x316350c]
clc
invalid
xor dl, byte [0x19cedb26e]
cli
invalid
adc eax, 0xe925043c
adc edi, esp
invalid
jb 0x14004ad8c
push 0xfffffffffe11e995
push 0xfffffffffe11e995
invalid
add dword [rax], eax
add byte [rax], al
add byte [rax - 0x39], cl
or byte [r8], al
add byte [rax], al
add byte [rcx], dh
ror byte [rcx - 0xe21173e], 0xff
dec dword [rax - 0x75]
and al, 0x20
mov rdx, qword [rsp + 0x28]
call fcn.14004a430
mov rax, qword [rsp + 0x30]
add rsp, 0x38
ret