Function at 0x1400491d0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x1a0
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x170], xmm6
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x120], rcx
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
add rax, 0x60
mov qword [rsp + 0x130], rax
mov rax, qword [rcx]
mov qword [rsp + 0x138], rax
cmp rax, rdx
jle 0x140049257
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
call fcn.140048dc0
jmp 0x140049e41
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x128]
cmp rax, rcx
jge 0x140049e41
mov rax, qword [rsp + 0x120]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x110], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x118], rax
cmp rax, 0
je 0x1400492c3
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x118]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14004946f
mov r8, qword [rsp + 0x138]
mov r9, qword [rsp + 0x128]
mov rdx, r9
sub rdx, r8
mov qword [rsp + 0x108], rdx
not r9
mov rcx, rdx
or rcx, r9
mov rax, rdx
and rax, r9
not rcx
or rcx, rax
test rcx, rcx
sets al
xor rdx, r8
and rcx, rdx
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x140049465
mov eax, dword [0x1402a9f78]
mov edx, dword [0x1402a9f7c]
mov ecx, 0x1f90132b
xor ecx, 0x3a033c8b
xor edx, ecx
mov ecx, edx
and ecx, eax
mov r8d, 0x6762d79c
xor r8d, 0x989d2863
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x6219e184
xor ecx, 0x3353c6ce
add eax, ecx
sub eax, 0x5761930c
xor ecx, ecx
sub ecx, eax
mov eax, 0x5d97920
xor eax, 0x5d97920
mov edx, 0xd433569f
xor edx, 0x90c2b01d
sub eax, edx
add ecx, eax
mov eax, 0xc99af64e
xor eax, 0xc99af64e
sub eax, ecx
cmp eax, 0x2517a41b
jb 0x140049f9c
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x138]
mov eax, dword [0x1402a9f80]
mov r10d, dword [0x1402a9f84]
xor r10d, 0x5daf0213
mov r9d, eax
and r9d, r10d
shl r9d, 1
xor eax, r10d
add eax, r9d
xor r9d, r9d
sub r9d, 0x9bfc707c
sub eax, r9d
or eax, 0x42a0b569
mov r9d, 0xe92157ec
xor r9d, 0xaf6cf4e5
sub eax, r9d
mov dword [rsp + 0x104], eax
mov eax, 0x5ec6f43c
xor eax, 0x84236a38
mov dword [rsp + 0x100], eax
movabs r9, 0x5ffa6ea256b02711
movabs rax, 0x5ffa6ea256b02709
xor r9, rax
movabs rax, 0x1b6f4474cd895805
movabs r10, 0x1b6f4474cd89580d
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140023a90
mov rdx, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x100]
mov r8, rax
mov eax, dword [rsp + 0x104]
mov qword [rdx], r8
cmp eax, ecx
jae 0x140049f9c
jmp 0x14004946f
call fcn.14000ee80
jmp 0x140049e41
mov eax, dword [0x1402a9f88]
mov ecx, dword [0x1402a9f8c]
mov edx, 0xc5594a7a
xor edx, 0x3aa6b585
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
imul eax, eax, 0x527df763
mov edx, 0x9837d517
xor edx, 0x9837d516
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x792f0bb1
add eax, ecx
add eax, 0xb637b17f
sub eax, 0x7ee23343
sub eax, 0xb637b17f
cmp eax, 0x3358026f
je 0x140049fa5
mov rdx, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov eax, dword [0x1402a9f90]
mov ecx, dword [0x1402a9f94]
xor ecx, 0x542dd8ce
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xaf6e000f
mov r9d, 0xffffffff
xor r9d, 0xaf6e000f
and eax, r9d
sub eax, ecx
xor eax, 0x7dfc49dc
add eax, 0x73204eb7
mov ecx, 0x332a48d7
xor ecx, 0xece3a9ab
mov qword [rdx], r8
cmp eax, ecx
jae 0x1400494ca
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0xf8], rax
jmp 0x140049540
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xa0], rax
mov ecx, dword [0x1402d10b0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
movaps xmm0, xmmword [0x1402bacb0]
movaps xmm1, xmmword [0x1402bacc0]
movaps xmm2, xmmword [0x1402bacd0]
movaps xmm3, xmmword [0x1402bace0]
xor eax, eax
mov qword [rsp + 0xa8], rax
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1400495aa
mov rax, qword [rsp + 0xa8]
movaps xmm2, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm5, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x40], xmm5
movaps xmmword [rsp + 0x50], xmm8
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x70], xmm2
mov qword [rsp + 0x88], rax
movaps xmm6, xmmword [0x1402bacf0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x1402bacf0]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x1402bad00]
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 [rsp + 0x90], xmm1
movd eax, xmm0
test al, 1
jne 0x1400496d0
jmp 0x1400496e4
mov rax, qword [rsp + 0x88]
mov cl, 0xc5
xor cl, 0xc5
mov byte [rsp + rax + 0x158], cl
movaps xmm0, xmmword [rsp + 0x90]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x140049700
jmp 0x140049790
mov r11, qword [rsp + 0x88]
mov rcx, r11
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 1
mov r8, 0xffffffffffffffff
movabs rax, 0x43f95c4fcf3b9931
xor r8, rax
movabs r9, 0x43f95c4fcf3b9931
mov rax, rcx
and rax, r9
and r11, r8
movabs r10, 0x43f95c4fcf3b9931
mov r9, rdx
and r9, r10
mov r10, r8
and r10, 1
or rax, r11
or r9, r10
xor rax, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xab47a05aef8c339d
movabs r9, 0xe8befc1520b7aaac
xor rdx, r9
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rsp + rax + 0x158], 0
movaps xmm0, xmmword [rsp + 0x90]
pextrw eax, xmm0, 2
test al, 1
jne 0x1400497aa
jmp 0x1400497d8
mov rax, qword [rsp + 0x88]
mov rdx, 0xffffffffffffffff
xor rdx, 2
mov rcx, rax
and rcx, rdx
mov rdx, rax
xor rdx, 2
add rax, rdx
sub rax, rcx
mov byte [rsp + rax + 0x158], 0
movaps xmm0, xmmword [rsp + 0x90]
pextrw eax, xmm0, 3
test al, 1
jne 0x1400497f2
jmp 0x1400498ab
mov r11, qword [rsp + 0x88]
movabs rax, 0xabd28d93c8c85818
movabs rcx, 0x542d726c3737a7e7
xor rax, rcx
mov rcx, r11
xor rcx, rax
mov r8, 0xffffffffffffffff
xor r8, 3
mov rdx, 0xffffffffffffffff
movabs rax, 0xf32c4bd4bd1d7952
xor rdx, rax
movabs r9, 0xf32c4bd4bd1d7952
mov rax, rcx
and rax, r9
and r11, rdx
movabs r10, 0xb6de1e91cfef4e0b
movabs r9, 0x45f2554572f23759
xor r10, r9
mov r9, r8
and r9, r10
movabs r10, 0x53fa87e8748872e5
movabs rsi, 0x53fa87e8748872e6
xor r10, rsi
and r10, rdx
or rax, r11
or r9, r10
xor rax, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xf32c4bd4bd1d7952
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rsp + rax + 0x158], 0
movaps xmm0, xmmword [rsp + 0x90]
pextrw eax, xmm0, 4
test al, 1
jne 0x1400498c5
jmp 0x1400499d7
mov r8d, dword [0x1402a9f98]
mov eax, dword [0x1402a9f9c]
xor eax, 0x31a2a32c
add r8d, eax
mov eax, 0xffffffff
xor eax, 0x3a01558
add r8d, eax
add r8d, 1
mov eax, 0xe027ddcb
xor eax, 0x5ff87af7
and r8d, eax
mov ecx, 0x614b9009
xor ecx, 0x9eb46ff6
mov eax, r8d
xor eax, ecx
and eax, 0xbdd5543d
mov edx, 0xffffffff
xor edx, 0xbdd5543d
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xb09e9210
and ecx, 0xbdd5543d
and edx, 0xb09e9210
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xa34fe0c0
je 0x140049fae
mov eax, dword [0x1402a9fa0]
add eax, dword [0x1402a9fa4]
mov ecx, 0x8937960f
xor ecx, 0x29795006
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xe34520a1
xor edx, 0x1cbadf5e
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xb4bb0a1
or eax, edx
xor ecx, 0xffffffff
mov edx, 0x94d9c59b
xor edx, 0x9f92753a
mov r8d, 0xa3751e90
xor r8d, 0x5c8ae16f
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x8c1e84da
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x88]
mov ecx, 0xd2d18fc0
xor ecx, 0x318778
or rdx, 4
mov byte [rsp + rdx + 0x158], 0
cmp eax, ecx
je 0x140049944
jmp 0x1400499d7
mov eax, dword [0x1402a9fa8]
xor eax, dword [0x1402a9fac]
mov ecx, 0xc34befc3
xor ecx, 0xd33b970f
sub eax, ecx
sub eax, 0x4a834aaa
add eax, 0x107078cc
sub eax, 0xd43b3f
add eax, 0x2d6c70b4
add eax, 0xd43b3f
add eax, 0x33acca55
sub eax, 0x2fd02202
mov ecx, 0x1fb506b5
xor ecx, 0x2c19cce0
sub eax, ecx
cmp eax, 0xaa1a0f8b
ja 0x140049fb7
movaps xmm0, xmmword [rsp + 0x90]
mov eax, dword [0x1402a9fb0]
mov ecx, dword [0x1402a9fb4]
sub eax, ecx
imul eax, eax, 0x69daf9c0
or eax, 0x80e89f9f
and eax, 0xe3ec9fdf
pextrw ecx, xmm0, 5
mov byte [rsp + 0x3f], cl
cmp eax, 0xed201c01
jae 0x140049a2b
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140049a76
jmp 0x140049b1b
mov eax, dword [0x1402a9fb8]
xor eax, 0xc93e32a6
xor edx, edx
div dword [0x1402a9fbc]
mov ecx, 0x3285b18f
xor ecx, 0x2e23925
and eax, ecx
and eax, eax
mov ecx, 0x14d783c0
xor ecx, 0xeb287c3f
xor eax, ecx
mov ecx, 0x24480ccf
and ecx, 0x24480ccf
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
sub eax, 0x38809814
mov ecx, 0xd91295a
xor ecx, 0x6a388ce4
cmp eax, ecx
jbe 0x140049fc0
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1402a9fc0]
add eax, dword [0x1402a9fc4]
sub eax, 0x5d3c8629
mov r8d, 0x54a78099
xor edx, edx
div r8d
mov r8d, 0x2b7e9026
xor edx, edx
div r8d
or rcx, 5
mov byte [rsp + rcx + 0x158], 0
cmp eax, 0x9c995a18
je 0x140049fc0
jmp 0x140049b1b
movaps xmm0, xmmword [rsp + 0x90]
pextrw eax, xmm0, 6
test al, 1
jne 0x140049b35
jmp 0x140049c8e
mov eax, dword [0x1402a9fc8]
mov ecx, dword [0x1402a9fcc]
xor ecx, 0x94c8a4c0
imul eax, ecx
and eax, eax
mov ecx, 0x830bc3b
xor ecx, 0xf7cf43c4
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc81251fd
mov edx, 0xffffffff
xor edx, 0xc81251fd
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xccc61e9f
xor edx, 0x3339e160
xor ecx, edx
or eax, ecx
add eax, 0xd17033b8
add eax, 0xff09566d
mov ecx, 0xc2f7fe4e
xor ecx, 0x9410df2d
cmp eax, ecx
je 0x140049fc9
mov r8, qword [rsp + 0x88]
mov eax, dword [0x1402a9fd0]
mov edx, dword [0x1402a9fd4]
xor edx, 0xf7197899
or eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x94a8cffc
xor ecx, 0x6b573003
xor eax, ecx
and eax, 0xa409bda
mov ecx, 0xdb5f0f1e
xor ecx, 0xeeb8dc0f
xor edx, edx
div ecx
mov ecx, 0x538e3c03
xor ecx, 0xac71c3fc
mov edx, eax
xor edx, ecx
and edx, 0x543e27f1
mov r9d, 0xffffffff
xor r9d, 0x543e27f1
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, 0x543e27f1
or eax, 0x543e27f1
imul eax, edx
add eax, ecx
mov ecx, 0x814fbc41
xor ecx, 0xc7e944fc
movabs r9, 0xc230a4da9ced50c8
movabs rdx, 0xc230a4da9ced50ce
xor r9, rdx
mov rdx, r8
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xdebfd10d6d163c68
movabs r10, 0xdebfd10d6d163c6e
xor r9, r10
or r8, r9
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
mov byte [rsp + rdx + 0x158], 0
cmp eax, ecx
ja 0x140049fc9
jmp 0x140049c8e
movaps xmm0, xmmword [rsp + 0x90]
pextrw eax, xmm0, 7
test al, 1
jne 0x140049ca8
jmp 0x140049cd6
mov rax, qword [rsp + 0x88]
movabs rcx, 0xcb4a4794c06af320
movabs rdx, 0xcb4a4794c06af327
xor rcx, rdx
or rax, rcx
mov cl, 0x3c
xor cl, 0x3c
mov byte [rsp + rax + 0x158], cl
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
mov rax, qword [rsp + 0x88]
add rax, 8
movaps xmm4, xmmword [0x1402bad10]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rsp + 0xa8], rax
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
jne 0x1400495aa
jmp 0x140049d47
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x110]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x150], rax
lea rdx, [rsp + 0x140]
call fcn.140279e75
mov rax, qword [rsp + 0x130]
mov al, byte [rax]
mov cl, 0x93
xor cl, 0x93
cmp al, cl
jne 0x140049e19
mov rdx, qword [rsp + 0xa0]
mov rcx, rdx
add rcx, 1
mov qword [rsp + 0x30], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0x7513fa4b8ad1a302
movabs r8, 0x8aec05b4752e5cfd
xor r9, r8
mov r8, rdx
xor r8, r9
or rax, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x140049e1e
call fcn.14000ee80
jmp 0x140049e41
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x128]
cmp rax, rcx
mov qword [rsp + 0xf8], rax
je 0x140049e19
jmp 0x140049540
mov eax, dword [0x1402a9fd8]
add eax, dword [0x1402a9fdc]
mov ecx, 0xcb1cc515
xor ecx, 0xe9e2dc90
imul eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x852ed04
xor edx, 0x323eed8
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xb7103dc
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x6c7878c
xor r8d, 0xdb68450
mov edx, eax
and edx, r8d
or eax, 0xb7103dc
imul eax, edx
add eax, ecx
xor eax, 0x63b9f51e
mov ecx, 0xc018afa5
xor ecx, 0xe3ed2d8b
cmp eax, ecx
jb 0x140049fd2
mov r11d, dword [0x1402a9fe0]
xor r11d, dword [0x1402a9fe4]
xor r11d, 0xffffffff
mov eax, 0xffffffff
xor eax, 0xc219113d
mov ecx, 0xffffffff
xor ecx, 0x992628ec
or r11d, eax
mov eax, 0xd880412d
xor eax, 0x41a669c1
or eax, ecx
mov ecx, 0x7e2efb5d
xor ecx, 0x81d104a2
xor r11d, ecx
and r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xfebea02f
mov r8d, 0xffffffff
xor r8d, 0xd01630a1
mov eax, ecx
and eax, 0xd01630a1
and r11d, r8d
mov r10d, 0xaa9a664b
xor r10d, 0x7a8c56ea
mov r9d, edx
and r9d, r10d
mov r10d, r8d
and r10d, 0xfebea02f
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x8c48ea7d
xor edx, 0x5c5edadc
or edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0x2b38eeb0
mov ecx, 0x840c6b4
xor ecx, 0xd378dcd8
cmp eax, ecx
je 0x140049fd2
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
add rsp, 0x1a0
pop rsi
ret
movabs al, byte [0xfffff3e9e9821875]
pop rbx
invalid
mov esp, 0xe90e6e1c
invalid
invalid
or al, 0xf8
stosb byte [rdi], al
jmp 0x140049ad0
pop rbp
mov ebp, 0xcee9b52d
sti
invalid
mov dh, 0xfb
push rdx
invalid