Function at 0x140022539
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x3b8
movaps xmmword [rsp + 0x3a0], xmm15
movaps xmmword [rsp + 0x390], xmm14
movaps xmmword [rsp + 0x380], xmm13
movaps xmmword [rsp + 0x370], xmm12
movaps xmmword [rsp + 0x360], xmm11
movaps xmmword [rsp + 0x350], xmm10
movaps xmmword [rsp + 0x340], xmm9
movaps xmmword [rsp + 0x330], xmm8
movaps xmmword [rsp + 0x320], xmm7
movaps xmmword [rsp + 0x310], xmm6
mov qword [rsp + 0x2f0], rdx
mov qword [rsp + 0x2f8], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x300], r8
mov rcx, r8
add rcx, rdx
mov qword [rsp + 0x308], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
or rax, rax
movabs rdx, 0x470b92aae8e17b14
movabs r8, 0xb8f46d55171e84eb
xor rdx, r8
xor rax, rdx
or rcx, rcx
movabs rdx, 0x7cecf1570f710f38
movabs r8, 0x83130ea8f08ef0c7
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x47e17a15cab561f
movabs r8, 0xfb81e85ea354a9e0
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xb8d19fd483a0a640
movabs rdx, 0xb8d19fd483a0a640
xor rcx, rdx
cmp rax, rcx
jge 0x140022651
call fcn.14000a590
jmp 0x140023a5b
mov rax, qword [rsp + 0x2f8]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x2d8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x2e0], rax
cmp rax, 0
sete al
mov byte [rsp + 0x2ef], al
test al, 1
jne 0x1400226e1
mov rax, qword [rsp + 0x2e0]
mov rcx, qword [rax]
mov qword [rsp + 0x2d0], rcx
movabs rdx, 0xda8591a2e83f62be
movabs rax, 0x9a8591a2e83f62be
xor rdx, rax
movabs rax, 0x5a6ec233871150da
movabs r8, 0xa5913dcc78eeaf25
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
je 0x14002297d
mov rcx, qword [rsp + 0x308]
movabs rdx, 0x786278662685e4d7
movabs rax, 0x786278662685e4d6
xor rdx, rax
mov rax, rcx
add rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140022721
call fcn.14000a590
jmp 0x140023a5b
mov rdx, qword [rsp + 0x308]
movabs rcx, 0xd5c599fc289fbeb0
movabs rax, 0xd5c599fc289fbeb0
xor rcx, rax
sub rcx, rdx
movabs rax, 0xdb3ee6433f1b0910
movabs r8, 0xdb3ee6433f1b0910
xor rax, r8
movabs r8, 0x5dc3ea1fec8e1e88
movabs r9, 0x5dc3ea1fec8e1e81
xor r8, r9
sub rax, r8
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x2c8], rax
movabs rcx, 0x72d6289f75a62aa2
add rcx, 0xfffffffffffffffe
sub rcx, rdx
movabs rdx, 0xce487e47d1318b8f
movabs r8, 0xbc9e56d8a497a12d
xor rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400227c6
call fcn.14000a590
jmp 0x140023a5b
mov rax, qword [rsp + 0x2c8]
cmp rax, 0
jge 0x1400227e8
mov rcx, r8
mov rdx, r8
call fcn.140010917
jmp 0x140023a5b
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x2c8]
mov rcx, rax
add rcx, 0x68
call fcn.14000d5e6
mov r8, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x308]
mov rcx, rax
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x2b8], rcx
mov qword [r8], rcx
mov qword [rcx], rdx
mov rax, qword [rax]
mov qword [rsp + 0x2c0], rax
cmp rax, 0
jle 0x140022958
mov rcx, qword [rsp + 0x2c0]
mov rax, qword [rsp + 0x308]
mov rdx, rcx
sub rdx, rax
cmovl rax, rcx
mov qword [rsp + 0x2b0], rax
cmp rax, 0
jge 0x140022882
mov rcx, r8
mov rdx, r8
call fcn.140010917
jmp 0x140023a5b
mov rcx, qword [rsp + 0x2b0]
mov rax, qword [rsp + 0x2e0]
mov rdx, qword [rsp + 0x2b8]
add rdx, 8
mov qword [rsp + 0x298], rdx
add rax, 8
mov qword [rsp + 0x2a0], rax
movabs rdx, 0xb6f2d4f2c81f7012
movabs rax, 0xb6f2d4f2c81f7012
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0x2a8], rax
je 0x140023a5b
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x298]
mov r8, qword [rsp + 0x2a0]
mov r8b, byte [r8 + rax]
mov byte [rdx + rax], r8b
movabs r8, 0xdc1350c5ba2fe9e9
movabs rdx, 0xdc1350c5ba2fe9e8
xor r8, rdx
mov rdx, rax
and rdx, r8
shl rdx, 1
movabs r8, 0xf50229b29ad46daa
movabs r9, 0xf50229b29ad46dab
xor r8, r9
xor rax, r8
add rax, rdx
cmp rax, rcx
mov qword [rsp + 0x2a8], rax
je 0x140023a5b
jmp 0x1400228dc
mov al, byte [rsp + 0x2ef]
test al, 1
jne 0x14002296c
jmp 0x140023a5b
mov rax, qword [rsp + 0x2b8]
mov byte [rax + 8], 0
jmp 0x140023a5b
mov rcx, qword [rsp + 0x308]
mov rdx, qword [rsp + 0x2d0]
movabs r8, 0xbfffffffffffffff
mov rax, rdx
and rax, r8
xor rax, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
and rdx, r8
movabs r8, 0xee625ed226cf8a46
movabs r9, 0x119da12dd93075b9
xor r8, r9
xor rdx, r8
and rax, rdx
xor rax, 0xffffffffffffffff
mov qword [rsp + 0x290], rax
cmp rax, rcx
jge 0x140023a5b
mov rcx, qword [rsp + 0x290]
movabs rdx, 0x287dc385ca24d91b
movabs rax, 0x287dc385ca24d91a
xor rdx, rax
mov eax, 4
cmp rcx, rdx
mov qword [rsp + 0x288], rax
jl 0x140022c79
mov rax, qword [rsp + 0x290]
movabs rcx, 0x9b4f1290704f4e63
movabs rdx, 0x9b4f1290704fce63
xor rcx, rdx
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x280], xmm0
cmp rax, rcx
jae 0x140022b16
movsd xmm0, qword [rsp + 0x280]
mov rax, qword [rsp + 0x290]
shl rax, 1
mov qword [rsp + 0x268], rax
movsd xmm1, qword [0x140197b00]
mulsd xmm0, xmm1
movsd qword [rsp + 0x270], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x278], xmm1
ucomisd xmm0, xmm1
mov qword [rsp + 0x288], rax
jne 0x140022aa8
jp 0x140022aa8
jmp 0x140022c79
movsd xmm1, qword [rsp + 0x270]
movsd xmm0, qword [rsp + 0x278]
subsd xmm0, xmm1
call fcn.140195ba0
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x270]
movsd qword [rsp + 0x260], xmm1
call fcn.140195ba0
movsd xmm1, qword [rsp + 0x260]
mov rax, qword [rsp + 0x268]
movsd xmm2, qword [0x140197af8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
mov qword [rsp + 0x288], rax
jae 0x140022c79
call fcn.14000a590
jmp 0x140022c79
movsd xmm0, qword [rsp + 0x280]
mov rax, qword [rsp + 0x290]
movabs rcx, 0xafe0d1d761b576c8
movabs rdx, 0x501f2e289e4a8937
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
and rdx, 3
movabs r8, 0xb1bb394b5520b0e3
movabs rcx, 0xb1bb394b5520b0e0
xor r8, rcx
movabs rcx, 0xbcae35ae907f3a39
movabs r9, 0x4351ca516f80c5c6
xor rcx, r9
xor r8, rcx
mov rcx, rax
and rcx, r8
imul rcx, rdx
movabs r8, 0xd7c3f4044c69aa1f
movabs rdx, 0xd7c3f4044c69aa1c
xor r8, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0xd3083b8dde9e5fa7
movabs r9, 0xd3083b8dde9e5fa4
xor r8, r9
or rax, r8
imul rax, rdx
add rax, rcx
mov qword [rsp + 0x248], rax
movsd xmm1, qword [0x140197af0]
mulsd xmm0, xmm1
movsd qword [rsp + 0x250], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x258], xmm1
ucomisd xmm0, xmm1
jne 0x140022c01
jp 0x140022c01
jmp 0x140022c5f
movsd xmm1, qword [rsp + 0x250]
movsd xmm0, qword [rsp + 0x258]
subsd xmm0, xmm1
call fcn.140195ba0
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x250]
movsd qword [rsp + 0x240], xmm1
call fcn.140195ba0
movsd xmm1, qword [rsp + 0x240]
movsd xmm2, qword [0x140197af8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140022c5f
call fcn.14000a590
jmp 0x140022c79
mov rax, qword [rsp + 0x248]
mov ecx, 2
cqo
idiv rcx
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x230], rcx
mov rdx, rax
sub rdx, rcx
cmovg rcx, rax
mov qword [rsp + 0x238], rcx
movabs rdx, 0x7c3e273767a70584
movabs rax, 0x7c3e273767a70584
xor rdx, rax
movabs rax, 0xc888a24512d29ca1
movabs r8, 0xc888a24512d29ca0
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140022cf5
call fcn.14000a590
jmp 0x140023a5b
mov rax, qword [rsp + 0x238]
movabs rdx, 0x5fafd9c6fe2d498e
movabs rcx, 0x5fafd9c6fe2d4987
xor rdx, rcx
mov rcx, rax
add rcx, rdx
mov qword [rsp + 0x228], rcx
mov rdx, 0xfffffffffffffffe
sub rdx, rax
movabs r8, 0xd232ed126d7eff36
movabs rax, 0x2dcd12ed928100c9
xor r8, rax
mov rax, rcx
xor rax, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
movabs r8, 0xa3963b84ecf2396a
movabs r9, 0x5c69c47b130dc695
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x5494a69ce918fa29
movabs rdx, 0x5494a69ce918fa29
xor rcx, rdx
cmp rax, rcx
jge 0x140022da5
call fcn.14000a590
jmp 0x140023a5b
mov rax, qword [rsp + 0x228]
movabs rcx, 0x514501a7a551bf35
movabs rdx, 0x514501a7a551bf35
xor rcx, rdx
cmp rax, rcx
jge 0x140022ddd
mov rcx, r8
mov rdx, r8
call fcn.140010917
jmp 0x140023a5b
mov rax, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x228]
mov rcx, qword [rax]
call fcn.140010672
mov r9, qword [rsp + 0x2d8]
mov r8, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x230]
mov rdx, rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x220], rdx
mov qword [r9], rdx
mov qword [rdx], r8
cmp rax, rcx
jge 0x140023a5b
mov rdx, qword [rsp + 0x308]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x218], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0xfc5fee6688aa3007
movabs r8, 0x3a011997755cff8
xor r9, r8
mov r8, rdx
xor r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0x455d518215127570
movabs r10, 0xbaa2ae7deaed8a8f
xor r9, r10
movabs r10, 0x5289b91d2c3fc0fd
movabs r11, 0xad7646e2d3c03f02
xor r10, r11
xor r9, r10
or r8, r9
and rdx, r8
movabs r8, 0xa6cce10c2f7bb66e
movabs r9, 0x59331ef3d0844991
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0x25ecf2b9fc7bcea8
movabs r8, 0xda130d4603843157
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140022f0f
call fcn.14000a590
jmp 0x140023a5b
mov rdx, qword [rsp + 0x308]
mov r8, qword [rsp + 0x238]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x210], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0x223852596bddcf4
movabs r9, 0x223852596bddcf4
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
movabs rdx, 0x62523f184d12acfb
movabs r8, 0x9dadc0e7b2ed5304
xor rdx, r8
cmp rcx, rdx
setg dl
mov cl, 1
xor cl, 0
xor al, cl
xor ecx, ecx
xor cl, 1
xor dl, cl
mov cl, 1
xor cl, 1
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
or cl, 0
xor edx, edx
xor dl, 1
xor al, dl
and al, cl
test al, 1
jne 0x140022fa8
jmp 0x140022fb2
call fcn.14000a590
jmp 0x140023a5b
mov rax, qword [rsp + 0x210]
movabs rcx, 0x1026dc14997eda11
movabs rdx, 0x1026dc14997eda11
xor rcx, rdx
cmp rax, rcx
jge 0x140022fea
mov rcx, r8
mov rdx, r8
call fcn.140010917
jmp 0x140023a5b
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x218]
lea rax, [rax + rcx + 8]
mov qword [rsp + 0xf0], rax
mov ecx, dword [0x1401ab0a0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov rdx, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x2f0]
mov rax, qword [rsp + 0x238]
add rdx, rcx
mov rcx, rax
xor rcx, rdx
not rdx
and rax, rdx
add rax, rax
sub rax, rcx
mov ecx, eax
and ecx, 0xf
mov edx, ecx
mov rcx, rax
xor rcx, 0xf
lea rcx, [rcx + rdx*2]
and rcx, 0xfffffffffffffff0
mov qword [rsp + 0xf8], rcx
dec rax
movq xmm0, rax
pshufd xmm8, xmm0, 0x44
movaps xmmword [rsp + 0x100], xmm8
movaps xmm0, xmmword [0x140197b10]
movaps xmm1, xmmword [0x140197b20]
movaps xmm2, xmmword [0x140197b30]
movaps xmm3, xmmword [0x140197b40]
movaps xmm4, xmmword [0x140197b50]
movaps xmm5, xmmword [0x140197b60]
movaps xmm6, xmmword [0x140197b70]
movaps xmm7, xmmword [0x140197b80]
movaps xmm9, xmm8
movaps xmmword [rsp + 0x110], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x120], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x130], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x140], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x150], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x160], xmm9
movaps xmmword [rsp + 0x170], xmm8
xor eax, eax
mov qword [rsp + 0x188], rax
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x1b0], xmm5
movaps xmmword [rsp + 0x1c0], xmm4
movaps xmmword [rsp + 0x1d0], xmm3
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x200], xmm0
jmp 0x140023156
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm2, xmmword [rsp + 0x160]
movaps xmm15, xmmword [rsp + 0x170]
mov rax, qword [rsp + 0x188]
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm14, xmmword [rsp + 0x1a0]
movaps xmm9, xmmword [rsp + 0x1b0]
movaps xmm11, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm3, xmmword [rsp + 0x1f0]
movaps xmm4, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x30], xmm4
movaps xmmword [rsp + 0x40], xmm3
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa8], rax
movaps xmm6, xmmword [0x140197b90]
movaps xmmword [rsp + 0xb0], xmm6
pxor xmm15, xmm6
pxor xmm0, xmm6
movaps xmm1, xmm0
pcmpgtd xmm1, xmm15
pshufd xmm5, xmm1, 0xa0
pcmpeqd xmm0, xmm15
pshufd xmm0, xmm0, 0xf5
pand xmm0, xmm5
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pcmpeqd xmm5, xmm5
movaps xmmword [rsp + 0xc0], xmm5
pxor xmm0, xmm5
pxor xmm2, xmm6
pxor xmm14, xmm6
movaps xmm1, xmm14
pcmpgtd xmm1, xmm2
pshufd xmm15, xmm1, 0xa0
pcmpeqd xmm14, xmm2
movaps xmm2, xmmword [rsp + 0x150]
pshufd xmm14, xmm14, 0xf5
pand xmm14, xmm15
pshufd xmm1, xmm1, 0xf5
por xmm14, xmm1
pxor xmm14, xmm5
movaps xmm1, xmm0
packssdw xmm1, xmm14
pxor xmm2, xmm6
pxor xmm9, xmm6
movaps xmm14, xmm9
pcmpgtd xmm14, xmm2
pshufd xmm15, xmm14, 0xa0
pcmpeqd xmm9, xmm2
movaps xmm2, xmmword [rsp + 0x140]
pshufd xmm9, xmm9, 0xf5
pand xmm9, xmm15
pshufd xmm14, xmm14, 0xf5
por xmm9, xmm14
pxor xmm9, xmm5
pxor xmm2, xmm6
pxor xmm11, xmm6
movaps xmm14, xmm11
pcmpgtd xmm14, xmm2
pshufd xmm15, xmm14, 0xa0
pcmpeqd xmm11, xmm2
movaps xmm2, xmmword [rsp + 0xd0]
pshufd xmm11, xmm11, 0xf5
pand xmm11, xmm15
pshufd xmm14, xmm14, 0xf5
por xmm11, xmm14
pxor xmm11, xmm5
packssdw xmm9, xmm11
packssdw xmm1, xmm9
pxor xmm13, xmm6
pxor xmm2, xmm6
movaps xmm9, xmm2
pcmpgtd xmm9, xmm13
pshufd xmm11, xmm9, 0xa0
pcmpeqd xmm2, xmm13
pshufd xmm2, xmm2, 0xf5
pand xmm2, xmm11
pshufd xmm9, xmm9, 0xf5
por xmm2, xmm9
pxor xmm2, xmm5
pxor xmm12, xmm6
pxor xmm7, xmm6
movaps xmm9, xmm7
pcmpgtd xmm9, xmm12
pshufd xmm11, xmm9, 0xa0
pcmpeqd xmm7, xmm12
pshufd xmm7, xmm7, 0xf5
pand xmm7, xmm11
pshufd xmm9, xmm9, 0xf5
por xmm7, xmm9
pxor xmm7, xmm5
packssdw xmm2, xmm7
pxor xmm10, xmm6
pxor xmm3, xmm6
movaps xmm7, xmm3
pcmpgtd xmm7, xmm10
pshufd xmm9, xmm7, 0xa0
pcmpeqd xmm3, xmm10
pshufd xmm3, xmm3, 0xf5
pand xmm3, xmm9
pshufd xmm7, xmm7, 0xf5
por xmm3, xmm7
pxor xmm3, xmm5
pxor xmm8, xmm6
pxor xmm4, xmm6
movaps xmm6, xmm4
pcmpgtd xmm6, xmm8
pshufd xmm7, xmm6, 0xa0
pcmpeqd xmm4, xmm8
pshufd xmm4, xmm4, 0xf5
pand xmm4, xmm7
pshufd xmm6, xmm6, 0xf5
por xmm4, xmm6
pxor xmm4, xmm5
packssdw xmm3, xmm4
packssdw xmm2, xmm3
packsswb xmm1, xmm2
movaps xmmword [rsp + 0xe0], xmm1
movd eax, xmm0
test al, 1
jne 0x140023427
jmp 0x14002343b
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
movd eax, xmm0
shr eax, 8
test al, 1
jne 0x140023457
jmp 0x1400234b8
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
and rcx, rcx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 1
movabs r8, 0xe43e55820e21e849
movabs r9, 0xe43e55820e21e848
xor r8, r9
movabs r9, 0x6d860dab96bfb27a
movabs r10, 0x9279f25469404d85
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x1400234d4
jmp 0x14002358b
mov rax, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xa8]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 2
movabs r8, 0xc7bc619e8bbad515
movabs rcx, 0xc57a3aaff55aa23c
xor r8, rcx
movabs rcx, 0xdaa01e6ff34936e7
movabs r10, 0x255fe1900cb6c918
xor rcx, r10
xor r8, rcx
movabs r10, 0x2c65b317ee07729
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x2c65b317ee07729
mov r10, r9
and r10, r11
movabs r11, 0x43dab061c6b32ad3
movabs rdi, 0x43dab061c6b32ad1
xor r11, rdi
and r11, r8
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x2c65b317ee07729
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
movd eax, xmm0
shr eax, 0x18
test al, 1
jne 0x1400235a7
jmp 0x1400235d5
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x13dcf2d6e099e442
movabs r8, 0x13dcf2d6e099e441
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 2
test al, 1
jne 0x1400235ef
jmp 0x14002361d
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x51de4c557dc3773d
movabs r8, 0x51de4c557dc37739
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 2
shr eax, 8
test al, 1
jne 0x14002363a
jmp 0x14002368c
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xa8]
movabs r8, 0xd8b9348d83704b2e
movabs rcx, 0xd8b9348d83704b2b
xor r8, rcx
mov rcx, rdx
and rcx, r8
movabs r8, 0x988459bf4580336e
movabs r9, 0x988459bf4580336b
xor r8, r9
xor rdx, r8
or rcx, rdx
mov dl, 0x88
xor dl, 0x88
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 3
test al, 1
jne 0x1400236a6
jmp 0x1400236c2
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
or rcx, 6
mov dl, 0xfe
xor dl, 0xfe
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 3
shr eax, 8
test al, 1
jne 0x1400236df
jmp 0x1400236fb
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
or rcx, 7
mov dl, 0xb9
xor dl, 0xb9
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 4
test al, 1
jne 0x140023715
jmp 0x14002374b
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
mov r8, 0xffffffffffffffff
xor r8, 8
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 8
add rcx, r8
sub rcx, rdx
mov dl, 0xde
xor dl, 0xde
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 4
shr eax, 8
test al, 1
jne 0x140023768
jmp 0x140023780
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
or rcx, 9
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14002379a
jmp 0x140023848
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xa8]
movabs r8, 0xc5fd14451c53d49b
movabs rcx, 0x3a02ebbae3ac2b64
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0x3de0a0eacd0b6bc2
movabs r9, 0x3de0a0eacd0b6bc8
xor r8, r9
movabs r9, 0xeac04dcd358e2e0a
movabs r10, 0x153fb232ca71d1f5
xor r9, r10
xor r8, r9
and rcx, r8
movabs r8, 0xd802ae332a444434
movabs r9, 0x27fd51ccd5bbbbcb
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xa
and rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x881740d5b00587f
movabs r9, 0xf77e8bf2a4ffa780
xor r8, r9
xor rdx, r8
and rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 5
shr eax, 8
test al, 1
jne 0x140023865
jmp 0x14002387d
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
or rcx, 0xb
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 6
test al, 1
jne 0x140023897
jmp 0x1400238c9
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x3fa25199684ccc11
movabs r8, 0x3fa25199684ccc1d
xor rdx, r8
or rcx, rdx
mov dl, 0xee
xor dl, 0xee
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 6
shr eax, 8
test al, 1
jne 0x1400238e6
jmp 0x140023902
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
or rcx, 0xd
mov dl, 0x1e
xor dl, 0x1e
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14002391c
jmp 0x14002394e
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x7d4a61f2af12fdb0
movabs r8, 0x7d4a61f2af12fdbe
xor rdx, r8
or rcx, rdx
mov dl, 0x13
xor dl, 0x13
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 7
shr eax, 8
test al, 1
jne 0x14002396b
jmp 0x140023987
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
or rcx, 0xf
mov dl, 0x90
xor dl, 0x90
mov byte [rax + rcx], dl
mov rdx, qword [rsp + 0xf8]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0xd0]
movaps xmm4, xmmword [rsp + 0x60]
movaps xmm5, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
add rax, 0x10
movaps xmm8, xmmword [0x140197ba0]
movaps xmmword [rsp + 0x20], xmm8
psubq xmm7, xmm8
psubq xmm6, xmm8
psubq xmm5, xmm8
psubq xmm4, xmm8
psubq xmm3, xmm8
psubq xmm2, xmm8
psubq xmm1, xmm8
psubq xmm0, xmm8
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x188], rax
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x1b0], xmm5
movaps xmmword [rsp + 0x1c0], xmm4
movaps xmmword [rsp + 0x1d0], xmm3
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x200], xmm0
jne 0x140023156
jmp 0x140023a5b
movaps xmm6, xmmword [rsp + 0x310]
movaps xmm7, xmmword [rsp + 0x320]
movaps xmm8, xmmword [rsp + 0x330]
movaps xmm9, xmmword [rsp + 0x340]
movaps xmm10, xmmword [rsp + 0x350]
movaps xmm11, xmmword [rsp + 0x360]
movaps xmm12, xmmword [rsp + 0x370]
movaps xmm13, xmmword [rsp + 0x380]
movaps xmm14, xmmword [rsp + 0x390]
movaps xmm15, xmmword [rsp + 0x3a0]
add rsp, 0x3b8
pop rdi
pop rsi
ret