Function at 0x14002cdb0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x130], xmm8
movaps xmmword [rbp + 0x120], xmm7
movaps xmmword [rbp + 0x110], xmm6
mov qword [rbp + 0x100], rdx
mov qword [rbp + 0x108], rcx
mov eax, dword [0x1402a92b8]
mov ecx, 0x6719416
xor ecx, 0xb11cf784
xor eax, ecx
mov r8d, dword [0x1402a92bc]
xor r8d, 0x47c8eba7
mov ecx, 0x79213779
xor ecx, 0x86dec886
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 ecx, 0x79a8db59
xor ecx, 0x36dccaf1
xor edx, edx
div ecx
add eax, 0x4df75b73
mov ecx, 0xbe34a37e
xor edx, edx
div ecx
mov ecx, 0x9a24928b
xor ecx, 0xea7b2dbf
cmp eax, ecx
je 0x14002da5d
mov eax, dword [0x1402a92c0]
xor eax, 0xe76b38b
mov ecx, dword [0x1402a92c4]
xor edx, edx
div ecx
mov edx, eax
not edx
and edx, 0x94863305
mov ecx, eax
and ecx, 0x6b79ccfa
imul ecx, edx
mov edx, eax
and edx, 0x94863305
or eax, 0x94863305
imul eax, edx
add eax, ecx
or eax, 0x1b8c5d43
mov ecx, eax
and ecx, 0x38b85cec
mov edx, eax
xor edx, 0xc747a313
add eax, edx
sub eax, ecx
mov dword [rbp + 0xe4], eax
mov eax, 0x5c803087
mov dword [rbp + 0xe0], eax
mov eax, 0x20
mov qword [rbp + 0xc8], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xc8]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
mov ecx, dword [0x1402d10b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xe0]
add rsp, 0x20
mov r9, rax
mov eax, dword [rbp + 0xe4]
add r9, 0x60
mov qword [rbp + 0xe8], r9
mov rdx, qword [rdx]
mov qword [rbp + 0xf0], rdx
cmp rdx, r8
setg dl
mov byte [rbp + 0xff], dl
cmp eax, ecx
jbe 0x14002da5d
mov al, byte [rbp + 0xff]
test al, 1
jne 0x14002cf6f
jmp 0x14002cf8f
mov rdx, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x108]
sub rsp, 0x20
call fcn.14002cbd7
add rsp, 0x20
jmp 0x14002da3c
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x100]
cmp rax, rcx
jge 0x14002da3c
mov rax, qword [rbp + 0x108]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0xb8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], rax
cmp rax, 0
je 0x14002d004
mov rcx, qword [rbp + 0x100]
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
movabs rdx, 0xaa8deecf3d4c2fd
movabs r8, 0xb55721130c2b3d02
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x14002d0aa
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x100]
mov rax, r8
sub rax, rdx
mov qword [rbp + 0xb0], rax
mov rcx, rax
xor rcx, r8
cmp rcx, 0
setl cl
xor rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
mov al, cl
xor al, 0xff
mov r8b, dl
xor r8b, 0xff
or al, r8b
and cl, dl
xor cl, 0xff
and al, cl
xor al, 0xff
test al, 1
jne 0x14002d098
mov r8, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xf0]
mov r9d, 0x18
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.140023a90
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp + 0xb8]
mov qword [rax], rcx
jmp 0x14002d0aa
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14002da3c
mov eax, dword [0x1402a92c8]
xor eax, dword [0x1402a92cc]
mov ecx, 0xdc8934ef
xor ecx, 0x368da286
or eax, ecx
add eax, 0x82dcc857
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x2e497b58
xor edx, 0xcb5abfe0
or eax, edx
add eax, ecx
cmp eax, 0xd350a219
ja 0x14002da66
mov r8, qword [rbp + 0x100]
mov eax, dword [0x1402a92d0]
mov ecx, dword [0x1402a92d4]
mov edx, 0x78d18f89
xor edx, 0x3cbed842
xor ecx, edx
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x108]
mov r9d, 0x4f10bf8f
xor r9d, 0xb0ef4070
mov ecx, eax
xor ecx, r9d
and ecx, 0xcbd71c5
mov r9d, 0xffffffff
xor r9d, 0xcbd71c5
and eax, r9d
sub eax, ecx
sub eax, 0x157f6eb4
add eax, 0xa2551104
add eax, 0x157f6eb4
mov r10d, 0xffffffff
xor r10d, 0xe64c97f1
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r9d
mov r9d, eax
and r9d, 0xe64c97f1
mov r10d, 0xa3bb2beb
xor r10d, 0x45f7bc1a
or eax, r10d
imul eax, r9d
add eax, ecx
mov ecx, 0xfe067317
xor ecx, 0xf2fb7c92
mov qword [rdx], r8
cmp eax, ecx
jb 0x14002da66
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xa8], rax
jmp 0x14002d1b6
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0xa0], rax
mov eax, dword [0x1402a92d8]
xor eax, 0x3d576513
mov ecx, dword [0x1402a92dc]
xor ecx, 0xd8b14862
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xc46be0e3
mov eax, 0x58a08c12
xor eax, 0x8a694576
add ecx, eax
mov eax, 0x77b3d331
xor eax, 0xf20ec99c
add ecx, eax
sub ecx, 0xd2c9c964
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xd3137084
xor edx, 0xb52e01d5
mov r8d, 0xcaf94d57
xor r8d, 0x3506b2a8
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x663d7151
mov r8d, 0xffffffff
xor r8d, 0x663d7151
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x9b53b700
xor ecx, 0xb63d676f
cmp eax, ecx
ja 0x14002da6f
mov eax, dword [0x1402a92e0]
imul eax, dword [0x1402a92e4]
imul ecx, eax, 0x6dbe5569
mov eax, ecx
and eax, 0x4c37b6bb
xor ecx, 0x4c37b6bb
or eax, ecx
mov edx, 0xfa46d259
xor edx, 0x5b92da6
mov ecx, eax
xor ecx, edx
mov edx, 0xe649a2e0
xor edx, 0xfc210c6a
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x1a68ae8a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1a68ae8a
or eax, 0x1a68ae8a
imul eax, edx
add eax, ecx
mov dword [rbp + 0x9c], eax
mov ecx, dword [0x1402d10b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
add rsp, 0x20
mov eax, dword [rbp + 0x9c]
cmp eax, 0xa93c824b
jae 0x14002da6f
movaps xmm0, xmmword [0x1402bab10]
movaps xmm1, xmmword [0x1402bab20]
movaps xmm2, xmmword [0x1402bab30]
movaps xmm3, xmmword [0x1402bab40]
xor eax, eax
mov qword [rbp + 0x48], rax
movaps xmmword [rbp + 0x50], xmm3
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x80], xmm0
jmp 0x14002d334
mov rax, qword [rbp + 0x48]
movaps xmm2, xmmword [rbp + 0x50]
movaps xmm7, xmmword [rbp + 0x60]
movaps xmm8, xmmword [rbp + 0x70]
movaps xmm5, xmmword [rbp + 0x80]
movaps xmmword [rbp - 0x20], xmm5
movaps xmmword [rbp - 0x10], xmm8
movaps xmmword [rbp], xmm7
movaps xmmword [rbp + 0x10], xmm2
mov qword [rbp + 0x28], rax
movaps xmm6, xmmword [0x1402bab50]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x1402bab50]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x1402bab60]
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rbp + 0x30], xmm1
movd eax, xmm0
test al, 1
jne 0x14002d43d
jmp 0x14002d44c
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0x28]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14002d464
jmp 0x14002d4ab
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x28]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0x8f88bf5d1ca1e8c7
movabs r9, 0x707740a2e35e1738
xor r8, r9
xor rdx, r8
or rcx, rdx
mov edx, 1
and rdx, 1
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 2
test al, 1
jne 0x14002d4c1
jmp 0x14002d559
mov rax, qword [rbp + 0xd0]
mov rsi, qword [rbp + 0x28]
movabs rcx, 0x81ed59facae392a3
movabs rdx, 0x7e12a605351c6d5c
xor rcx, rdx
mov rdx, rsi
xor rdx, rcx
mov r9, 0xffffffffffffffff
xor r9, 2
mov r8, 0xffffffffffffffff
movabs rcx, 0xc86787f714171377
xor r8, rcx
movabs r10, 0xc86787f714171377
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0xc86787f714171377
mov r10, r9
and r10, r11
mov r11, r8
and r11, 2
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xc86787f714171377
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 3
test al, 1
jne 0x14002d56f
jmp 0x14002d61a
mov rax, qword [rbp + 0xd0]
mov rsi, qword [rbp + 0x28]
movabs rcx, 0xfaa92bcbf18098e1
movabs rdx, 0x556d4340e7f671e
xor rcx, rdx
mov rdx, rsi
xor rdx, rcx
mov r9, 0xffffffffffffffff
xor r9, 3
mov r8, 0xffffffffffffffff
movabs rcx, 0x5d7f29603e16fcf8
xor r8, rcx
movabs r10, 0x5d7f29603e16fcf8
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x5d7f29603e16fcf8
mov r10, r9
and r10, r11
movabs r11, 0xfa2e017c37d9fb9d
movabs rdi, 0xfa2e017c37d9fb9e
xor r11, rdi
and r11, r8
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x5d7f29603e16fcf8
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 4
test al, 1
jne 0x14002d630
jmp 0x14002d643
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0x28]
or rcx, 4
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 5
test al, 1
jne 0x14002d659
jmp 0x14002d6ec
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x28]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 5
and rcx, r8
movabs r8, 0x1fc262a3335680bd
movabs r9, 0xe03d9d5ccca97f42
xor r8, r9
xor rdx, r8
movabs r8, 0xd98ecd3067a29af4
movabs r9, 0xd98ecd3067a29af1
xor r8, r9
movabs r9, 0xad39a1dba2e66618
movabs r10, 0x52c65e245d1999e7
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0xc04ac26ed675753f
movabs r9, 0x3fb53d91298a8ac0
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 6
test al, 1
jne 0x14002d702
jmp 0x14002d715
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0x28]
or rcx, 6
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 7
test al, 1
jne 0x14002d72b
jmp 0x14002d7f2
mov eax, dword [0x1402a92e8]
xor edx, edx
div dword [0x1402a92ec]
mov ecx, 0x2344d775
xor ecx, 0x943495a9
sub eax, ecx
add eax, 0xd7127c42
add eax, 0xb77042dc
or eax, 0xb9e927e
and eax, 0xe8275fed
mov ecx, 0x80abbc0a
xor ecx, 0x178fd422
cmp eax, ecx
jbe 0x14002da78
mov rcx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0x28]
mov eax, dword [0x1402a92f0]
xor edx, edx
div dword [0x1402a92f4]
mov r9d, 0xffffffff
xor r9d, 0x792b0fdd
mov edx, eax
and edx, r9d
mov r10d, 0x2437bd40
xor r10d, 0x5d1cb29d
mov r9d, eax
xor r9d, r10d
add eax, r9d
sub eax, edx
xor eax, 0x9723ef66
xor eax, 0x86e27ff3
mov rdx, r8
and rdx, 7
movabs r9, 0xdfdad37c7f161491
movabs r10, 0xdfdad37c7f161496
xor r9, r10
xor r8, r9
or rdx, r8
mov byte [rcx + rdx], 0
cmp eax, 0x7b082707
ja 0x14002d76d
jmp 0x14002d7f2
mov ecx, dword [0x1402a92f8]
mov edx, dword [0x1402a92fc]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xd1757966
xor ecx, 0x2e8a8699
xor eax, ecx
mov ecx, eax
xor ecx, 0xcc608faa
mov edx, 0xffffffff
xor edx, 0xcc608faa
and eax, edx
shl eax, 1
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc541d27e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x8d68eae
xor r8d, 0xf7297151
xor ecx, r8d
imul ecx, edx
mov r8d, 0x97469b9
xor r8d, 0xcc35bbc7
mov edx, eax
and edx, r8d
or eax, 0xc541d27e
imul eax, edx
add eax, ecx
mov ecx, 0x761b748c
xor edx, edx
div ecx
cmp eax, 0x7d474a14
ja 0x14002da81
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm2, xmmword [rbp - 0x10]
movaps xmm3, xmmword [rbp]
movaps xmm4, xmmword [rbp + 0x10]
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x1402a9300]
mov edx, dword [0x1402a9304]
xor edx, 0xe95be783
or eax, edx
imul eax, eax, 0x35620c16
add eax, 0x41aa189d
add rcx, 8
mov qword [rbp - 0x78], rcx
movaps xmm1, xmmword [0x1402bab70]
paddq xmm4, xmm1
movaps xmmword [rbp - 0x70], xmm4
paddq xmm3, xmm1
movaps xmmword [rbp - 0x60], xmm3
paddq xmm2, xmm1
movaps xmmword [rbp - 0x50], xmm2
paddq xmm0, xmm1
movaps xmmword [rbp - 0x40], xmm0
movabs rdx, 0x5077b1a5a2fbc1b6
movabs r8, 0x5077b1a5a2fbc1ae
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0x9cab8701
je 0x14002da81
movaps xmm0, xmmword [rbp - 0x40]
movaps xmm1, xmmword [rbp - 0x50]
movaps xmm2, xmmword [rbp - 0x60]
movaps xmm3, xmmword [rbp - 0x70]
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x21]
test cl, 1
mov qword [rbp + 0x48], rax
movaps xmmword [rbp + 0x50], xmm3
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x80], xmm0
je 0x14002d334
jmp 0x14002d966
mov rdx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xb8]
mov rcx, qword [rcx]
add rcx, 8
imul r8, r8, 0x18
add rcx, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov r8, qword [rax + 8]
mov qword [rdx + 8], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140069d60
mov rax, qword [rbp + 0xe8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14002da17
mov rcx, qword [rbp + 0xa0]
xor eax, eax
mov edx, eax
sub rdx, rcx
xor eax, eax
sub rax, 1
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rbp - 0x80], rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
shl rdx, 1
sub rdx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14002da1c
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14002da3c
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp + 0x100]
cmp rax, rcx
mov qword [rbp + 0xa8], rax
je 0x14002da17
jmp 0x14002d1b6
movaps xmm6, xmmword [rbp + 0x110]
movaps xmm7, xmmword [rbp + 0x120]
movaps xmm8, xmmword [rbp + 0x130]
lea rsp, [rbp + 0x140]
pop rdi
pop rsi
pop rbp
ret
invalid
add dword [rsi], ebp
jle 0x14002da70
jmp 0x14002d0ea
push rbp
push rbp
fucompi st(1)
idiv edi
inc dword [rbp - 0x16f3cefa]
test dword [rsi], eax
xor dword [rcx + rbp*8], ecx
in al, dx
cld
invalid
in eax, dx
leave
imul ecx, dword [rsi], 0xfffe13e9
dec dword [rax - 0x7d]
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14002cbd7
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14002cdb0