Function at 0x140020e30
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x2f0
movaps xmmword [rsp + 0x2e0], xmm15
movaps xmmword [rsp + 0x2d0], xmm14
movaps xmmword [rsp + 0x2c0], xmm13
movaps xmmword [rsp + 0x2b0], xmm12
movaps xmmword [rsp + 0x2a0], xmm11
movaps xmmword [rsp + 0x290], xmm10
movaps xmmword [rsp + 0x280], xmm9
movaps xmmword [rsp + 0x270], xmm8
movaps xmmword [rsp + 0x260], xmm7
movaps xmmword [rsp + 0x250], xmm6
mov qword [rsp + 0x238], r8
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x248], rcx
mov ecx, dword [0x1402a8df8]
add ecx, dword [0x1402a8dfc]
mov r8d, 0x6b99616c
xor r8d, 0x9a133d69
mov eax, 0xf9fe4235
xor eax, 0x601bdca
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xf18a5c05
or ecx, 0xf18a5c05
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1282c461
or eax, edx
mov edx, 0x863026cc
xor edx, 0x94b2e2ad
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
imul eax, eax, 0xc7d19402
mov ecx, 0x889dfada
xor ecx, 0xea13dea1
cmp eax, ecx
jae 0x140021f5e
mov ecx, dword [0x1402a8e00]
xor ecx, dword [0x1402a8e04]
add ecx, 0x169e6a34
mov eax, 0x847ed78b
xor eax, 0xe650421
add ecx, eax
mov eax, 0xe80bea45
xor eax, 0xfe958071
sub ecx, eax
mov eax, 0xccd424b9
xor eax, 0x7e071a3
imul ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x705e6459
or eax, edx
and ecx, 0x705e6459
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov dword [rsp + 0x224], eax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x248]
mov r8, qword [rsp + 0x238]
mov rcx, rax
add rcx, 0x68
call fcn.1400180e0
mov rdx, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x238]
mov r8, rax
mov eax, dword [rsp + 0x224]
mov qword [rsp + 0x228], r8
cmp rcx, rdx
setg cl
mov byte [rsp + 0x237], cl
cmp eax, 0x51175a4
jbe 0x140020f36
mov al, byte [rsp + 0x237]
test al, 1
jne 0x14002100a
jmp 0x140021e16
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x238]
mov rdx, qword [rsp + 0x228]
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r9d, r9d
sub r9, 1
sub r8, r9
sub rdx, r8
mov qword [rsp + 0x210], rdx
sub rax, rcx
mov qword [rsp + 0x218], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x218]
cmp rax, 0
jle 0x140021e16
mov rax, qword [rsp + 0x218]
mov rdx, rax
add rdx, 0xf
mov rcx, rdx
xor rcx, 0xf
and rcx, rdx
mov qword [rsp + 0xf8], rcx
dec rax
movq xmm0, rax
pshufd xmm8, xmm0, 0x44
movaps xmmword [rsp + 0x100], xmm8
movaps xmm0, xmmword [0x1402ba810]
movaps xmm1, xmmword [0x1402ba820]
movaps xmm2, xmmword [0x1402ba830]
movaps xmm3, xmmword [0x1402ba840]
movaps xmm4, xmmword [0x1402ba850]
movaps xmm5, xmmword [0x1402ba860]
movaps xmm6, xmmword [0x1402ba870]
movaps xmm7, xmmword [0x1402ba880]
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 0x14002117d
mov rax, qword [rsp + 0x188]
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm1, xmmword [rsp + 0x1a0]
movaps xmm2, xmmword [rsp + 0x1b0]
movaps xmm3, xmmword [rsp + 0x1c0]
movaps xmm4, xmmword [rsp + 0x1d0]
movaps xmm5, xmmword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x90], xmm5
movaps xmmword [rsp + 0xa0], xmm4
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], rax
mov eax, dword [0x1402a8e08]
mov r8d, dword [0x1402a8e0c]
xor r8d, 0xab754688
mov ecx, 0x12550384
xor ecx, 0xedaafc7b
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x31151c96
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x4e9a5f67
xor r8d, 0x7f8f43f1
mov edx, eax
and edx, r8d
or eax, 0x31151c96
imul eax, edx
add eax, ecx
mov ecx, 0xcba3b475
xor ecx, 0x5ee9e5ec
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x1d9a1b7e
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x52ffb83a
xor ecx, 0xd45130ac
cmp eax, ecx
jbe 0x140021f67
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm14, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0x160]
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm15, xmmword [rsp + 0x170]
xor eax, eax
movaps xmm6, xmmword [0x1402ba890]
movaps xmmword [rsp + 0x30], 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 + 0x40], 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 + 0xa0]
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 + 0x50], xmm1
movd ecx, xmm0
mov byte [rsp + 0x6f], cl
cmp eax, 0x20c00fa3
jae 0x140021f67
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140021533
jmp 0x14002165f
mov ecx, dword [0x1402a8e18]
or ecx, dword [0x1402a8e1c]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x13adf065
xor edx, 0x3ad528e0
mov r8d, 0x40fab7e4
xor r8d, 0xbf05481b
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x2978d885
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0x2978d885
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x92f691e5
xor ecx, 0x6d096e1a
xor eax, ecx
sub eax, 0x7b3709d2
add eax, 0xfb61094a
mov ecx, 0xfce885b6
xor ecx, 0x1eab5b74
add eax, ecx
sub eax, 0xfb61094a
cmp eax, 0x4e0e4f71
jbe 0x140021f70
mov r8, qword [rsp + 0xf0]
mov eax, dword [0x1402a8e20]
mov ecx, 0x1f3a9a3d
xor ecx, 0xa4686cc8
xor eax, ecx
imul eax, dword [0x1402a8e24]
mov ecx, 0xdb479871
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x210]
xor eax, 0xf3bff49a
mov r10d, 0xffffffff
xor r10d, 0x3e1c23cf
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
mov r10d, 0xad5dc9f
xor r10d, 0xf52a2360
xor ecx, r10d
imul ecx, r9d
mov r9d, eax
and r9d, 0x3e1c23cf
mov r10d, 0xf2f93fb2
xor r10d, 0xcce51c7d
or eax, r10d
imul eax, r9d
add eax, ecx
mov ecx, 0xbc34bc8
xor ecx, 0xaab807bb
mov r9b, 0x94
xor r9b, 0x94
mov byte [rdx + r8], r9b
cmp eax, ecx
je 0x1400215b8
jmp 0x14002165f
movaps xmm0, xmmword [rsp + 0x50]
movd eax, xmm0
shr eax, 8
test al, 1
jne 0x140021678
jmp 0x1400216ab
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
and rcx, rcx
xor rcx, 0xffffffffffffffff
mov edx, 1
and rdx, 1
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x1400216c4
jmp 0x1400216f2
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
movabs rdx, 0xd794fda8054ab636
movabs r8, 0xd794fda8054ab634
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
movd eax, xmm0
shr eax, 0x18
test al, 1
jne 0x14002170b
jmp 0x140021782
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
and rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x35517e6bb0fbc0ae
movabs r8, 0x35517e6bb0fbc0ad
xor rdx, r8
movabs r8, 0x717d3ef782c6268f
movabs r9, 0x8e82c1087d39d970
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 3
or rdx, r8
and rcx, rdx
movabs rdx, 0x7f42351d6b4ce3a7
movabs r8, 0x80bdcae294b31c58
xor rdx, r8
xor rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 2
test al, 1
jne 0x140021799
jmp 0x140021817
mov rax, qword [rsp + 0x210]
mov rdx, qword [rsp + 0xf0]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0xb105576c0eb1311b
movabs r8, 0xb105576c0eb1311f
xor rdx, r8
movabs r8, 0xa218996210d1b05d
movabs r9, 0x5de7669def2e4fa2
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 4
or rdx, r8
and rcx, rdx
movabs rdx, 0x297974271e6b9e63
movabs r8, 0xd6868bd8e194619c
xor rdx, r8
xor rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 2
shr eax, 8
test al, 1
jne 0x140021831
jmp 0x14002185f
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
movabs rdx, 0x732f5ddbf8fc50f9
movabs r8, 0x732f5ddbf8fc50fc
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 3
test al, 1
jne 0x140021876
jmp 0x1400218bc
mov rax, qword [rsp + 0x210]
mov rdx, qword [rsp + 0xf0]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 6
and rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 6
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov dl, 0xbb
xor dl, 0xbb
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 3
shr eax, 8
test al, 1
jne 0x1400218d6
jmp 0x140021904
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
movabs rdx, 0xbfecc19adaec8f95
movabs r8, 0xbfecc19adaec8f92
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 4
test al, 1
jne 0x14002191b
jmp 0x140021933
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
or rcx, 8
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 4
shr eax, 8
test al, 1
jne 0x14002194d
jmp 0x1400219fc
mov ecx, dword [0x1402a8e28]
xor ecx, 0x582cc508
sub ecx, dword [0x1402a8e2c]
mov edx, 0x885bd8ab
xor edx, 0x1fb1b873
mov eax, ecx
and eax, edx
xor ecx, 0x97ea60d8
or eax, ecx
mov ecx, 0xbc619ac4
xor ecx, 0x29e94013
or eax, ecx
mov ecx, 0x2483ec4a
xor edx, edx
div ecx
mov ecx, 0xec8e02e8
xor ecx, 0x380e02fa
cmp eax, ecx
je 0x140021f79
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0xf0]
mov eax, dword [0x1402a8e30]
or eax, dword [0x1402a8e34]
and eax, 0x8a42af9a
imul r8d, eax, 0x13adf625
mov r9d, 0xffffffff
xor r9d, 0xc6014c5
mov eax, r8d
xor eax, r9d
and eax, r8d
or rdx, 9
mov r8b, 0x54
xor r8b, 0x54
mov byte [rcx + rdx], r8b
cmp eax, 0x117cf1b3
jae 0x14002199f
jmp 0x1400219fc
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 5
test al, 1
jne 0x140021a13
jmp 0x140021a2f
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
or rcx, 0xa
mov dl, 0xba
xor dl, 0xba
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 5
shr eax, 8
test al, 1
jne 0x140021a49
jmp 0x140021a65
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
or rcx, 0xb
mov dl, 6
xor dl, 6
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 6
test al, 1
jne 0x140021a7c
jmp 0x140021c45
mov eax, dword [0x1402a8e38]
or eax, dword [0x1402a8e3c]
and eax, 0xadd02fff
mov edx, 0xbff99f52
xor edx, 0xf66d2ad0
mov ecx, eax
xor ecx, edx
mov edx, 0x6e233b06
xor edx, 0x91dcc4f9
xor ecx, edx
or eax, 0x4994b582
and eax, ecx
mov ecx, 0x45c85c34
xor ecx, 0xf71a7e10
imul eax, ecx
cmp eax, 0xbdc462c
jbe 0x140021f82
mov rcx, qword [rsp + 0x210]
mov rdi, qword [rsp + 0xf0]
mov eax, dword [0x1402a8e40]
xor eax, 0x3d302c0a
mov edx, dword [0x1402a8e44]
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, edx
and r9d, r8d
xor edx, 0xffffffff
and eax, edx
or r9d, eax
mov eax, r9d
xor eax, 0xffffffff
and eax, 0xc836fee0
mov r8d, 0xffffffff
xor r8d, 0xc836fee0
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0x537c979e
and edx, 0xc836fee0
and r8d, 0x537c979e
or eax, r9d
or edx, r8d
xor eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xfec3e4f3
mov edx, 0xc7f2674a
xor edx, 0x56a59c
mov r9d, 0x3d7ed22e
xor r9d, 0xc2812dd1
xor edx, r9d
or eax, r8d
or edx, 0xc7a4c2d6
mov r8d, 0xf518fb8
xor r8d, 0xf0ae7047
xor eax, r8d
and eax, edx
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x146fa443
add edx, eax
xor eax, eax
sub eax, edx
mov r8, rdi
xor r8, 0xffffffffffffffff
mov r10, 0xffffffffffffffff
xor r10, 0xc
mov r9, 0xffffffffffffffff
movabs rdx, 0x68a5cc62b4426fb4
xor r9, rdx
movabs r11, 0x85e6c326e5bbd096
movabs rdx, 0xed430f4451f9bf22
xor r11, rdx
mov rdx, r8
and rdx, r11
and rdi, r9
movabs rsi, 0xa7b4e887d72cb56d
movabs r11, 0xcf1124e5636edad9
xor rsi, r11
mov r11, r10
and r11, rsi
movabs rsi, 0xa3254c9bb8b1d525
movabs rbx, 0xa3254c9bb8b1d529
xor rsi, rbx
and rsi, r9
or rdx, rdi
or r11, rsi
xor rdx, r11
or r8, r10
xor r8, 0xffffffffffffffff
movabs r10, 0x68a5cc62b4426fb4
or r9, r10
and r8, r9
or rdx, r8
mov byte [rcx + rdx], 0
cmp eax, 0xf3f8d2aa
jae 0x140021ac9
jmp 0x140021c45
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 6
shr eax, 8
test al, 1
jne 0x140021c5f
jmp 0x140021ca5
mov rax, qword [rsp + 0x210]
mov rdx, qword [rsp + 0xf0]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0xd
mov r8, 0xffffffffffffffff
xor r8, 0xd
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov dl, 0x1f
xor dl, 0x1f
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 7
test al, 1
jne 0x140021cbc
jmp 0x140021d04
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
mov r8, 0xffffffffffffffff
xor r8, 0xe
mov rdx, rcx
and rdx, r8
movabs r9, 0x3451a53ef4dbeca0
movabs r8, 0x3451a53ef4dbecae
xor r9, r8
mov r8, rcx
xor r8, r9
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x50]
pextrw eax, xmm0, 7
shr eax, 8
test al, 1
jne 0x140021d1e
jmp 0x140021d36
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xf0]
or rcx, 0xf
mov byte [rax + rcx], 0
mov rdx, qword [rsp + 0xf8]
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
movaps xmm4, xmmword [rsp + 0xb0]
movaps xmm5, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
add rax, 0x10
movaps xmm8, xmmword [0x1402ba8a0]
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 0x14002117d
jmp 0x140021e16
mov eax, dword [0x1402a8e48]
xor eax, 0xadb7ce91
mov ecx, dword [0x1402a8e4c]
xor ecx, 0x833a9da0
xor edx, edx
div ecx
mov ecx, 0x77663fef
xor ecx, 0xa150503e
xor edx, edx
div ecx
add eax, 0xba44ac96
sub eax, 0x7b763ad1
sub eax, 0x8f6d3495
mov ecx, 0xd2bfac9c
xor ecx, 0xa9c9964d
add eax, ecx
cmp eax, 0x57ce780f
jae 0x140021f8b
mov eax, dword [0x1402a8e50]
xor eax, dword [0x1402a8e54]
mov ecx, eax
xor ecx, 0xbf8d03c3
mov edx, 0xffffffff
xor edx, 0xbf8d03c3
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x90c4a552
xor ecx, 0xc156cd45
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xfed3a411
xor edx, 0xf099f91b
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xe4a5d0a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xf15f9366
xor r8d, 0xff15ce6c
mov edx, eax
and edx, r8d
mov r8d, 0x22416797
xor r8d, 0x2c0b3a9d
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x5d4bd54c
ja 0x140021f8b
mov rax, qword [rsp + 0x228]
movaps xmm6, xmmword [rsp + 0x250]
movaps xmm7, xmmword [rsp + 0x260]
movaps xmm8, xmmword [rsp + 0x270]
movaps xmm9, xmmword [rsp + 0x280]
movaps xmm10, xmmword [rsp + 0x290]
movaps xmm11, xmmword [rsp + 0x2a0]
movaps xmm12, xmmword [rsp + 0x2b0]
movaps xmm13, xmmword [rsp + 0x2c0]
movaps xmm14, xmmword [rsp + 0x2d0]
movaps xmm15, xmmword [rsp + 0x2e0]
add rsp, 0x2f0
pop rbx
pop rdi
pop rsi
ret
call 0x129984fa3
iretd
fstp st(5)
movsb byte [rdi], byte [rsi]
cmp ecx, ebp
xor eax, 0x2fffff3
sub eax, 0x3fe94bb0
add ch, byte [0x17feb6b26]
idiv bh
call [rbp - 0x37]
pop rbp
leave
fdivp st(1)
jmp 0x14002199f
invalid
ret