Function at 0x14017b4e4
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xfa0
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xf10], xmm8
movaps xmmword [rbp + 0xf00], xmm7
movaps xmmword [rbp + 0xef0], xmm6
mov qword [rbp + 0xa88], rcx
mov eax, 0x10
mov qword [rbp + 0xbf0], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xa90], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xa98], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xaa0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xaa8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xab0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xc10], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xc18], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xc08], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xab8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xac0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xac8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xad0], rax
mov eax, 0x20
mov qword [rbp + 0xb20], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xb20]
mov rcx, rsp
mov qword [rbp + 0xad8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xae0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xae8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xb20]
mov rcx, rsp
mov qword [rbp + 0xaf0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xaf8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xb20]
mov rcx, rsp
mov qword [rbp + 0xb00], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb08], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb10], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb18], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xb20]
mov rcx, rsp
mov qword [rbp + 0xb28], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb30], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb38], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb40], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb48], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb50], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb58], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb60], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb68], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb70], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb78], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb80], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb88], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb90], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xb98], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xba0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xba8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbb0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbb8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbc0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbc8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbd0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbd8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbe0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbe8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0xbf0]
mov rcx, rsp
mov qword [rbp + 0xbf8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc00], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rdx, qword [rbp + 0xc08]
mov rcx, qword [rbp + 0xc10]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xc18]
mov qword [rbp + 0xc50], r8
add r8, 0x60
mov qword [rbp + 0xc20], r8
mov r8, rcx
add r8, 8
mov qword [rbp + 0xc28], r8
mov r8, rax
add r8, 8
mov qword [rbp + 0xc30], r8
lea r8, [rbp + 0xea0]
add r8, 8
mov qword [rbp + 0xc38], r8
movabs r8, 0xde7a635aa4b7e9a3
movabs r9, 0xde7a635aa4b7e9a3
xor r8, r9
mov qword [rdx], r8
mov r8, rdx
add r8, 8
mov qword [rbp + 0xc40], r8
mov qword [rdx + 8], 0
movabs rdx, 0x44f604e1589dd597
movabs r8, 0x44f604e1589dd597
xor rdx, r8
mov qword [rbp + 0xe90], rdx
lea rdx, [rbp + 0xe90]
add rdx, 8
mov qword [rbp + 0xc48], rdx
mov qword [rbp + 0xe98], 0
mov rdx, qword [0x1401a0e58]
mov qword [rcx], rdx
mov rdx, qword [0x1401a0e60]
mov qword [rcx + 8], rdx
mov rcx, qword [0x1401a0e58]
mov qword [rax], rcx
mov rcx, qword [0x1401a0e60]
mov qword [rax + 8], rcx
mov rax, qword [0x1401a0e58]
mov qword [rbp + 0xea0], rax
mov rax, qword [0x1401a0e60]
mov qword [rbp + 0xea8], rax
mov ax, 0xb57f
xor ax, 0xbd06
mov word [rbp + 0xe8e], ax
lea rcx, [rbp + 0xe8e]
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc50]
mov qword [rbp + 0xc58], rcx
cmp byte [rax + 0x60], 0
jne 0x14017f602
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov r8, qword [rbp + 0xb00]
add rsp, 0x20
mov rax, qword [rbp + 0xc58]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xe70], xmm0
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
movabs rdx, 0xad2e6408d02961d3
movabs rax, 0x52d19bf7502961d1
xor rdx, rax
mov r9d, 0x97858f02
xor r9d, 0x97878f1b
lea rcx, [rbp + 0xe70]
sub rsp, 0x20
call fcn.1400c7f62
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017f602
mov rax, qword [rbp + 0xe70]
mov qword [rbp + 0xa80], rax
mov al, byte [rbp + 0xe78]
mov cl, 0x55
xor cl, 0x55
cmp al, cl
jne 0x14017bbf7
sub rsp, 0x20
call fcn.1400771ec
add rsp, 0x20
mov rax, qword [rbp + 0xc20]
mov al, byte [rax]
mov cl, 0xb0
xor cl, 0xb0
cmp al, cl
jne 0x14017f602
jmp 0x14017f729
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
xor eax, eax
mov qword [rbp + 0xa38], rax
movaps xmmword [rbp + 0xa40], xmm3
movaps xmmword [rbp + 0xa50], xmm2
movaps xmmword [rbp + 0xa60], xmm1
movaps xmmword [rbp + 0xa70], xmm0
jmp 0x14017bc53
mov rax, qword [rbp + 0xa38]
movaps xmm2, xmmword [rbp + 0xa40]
movaps xmm7, xmmword [rbp + 0xa50]
movaps xmm8, xmmword [rbp + 0xa60]
movaps xmm5, xmmword [rbp + 0xa70]
movaps xmmword [rbp + 0x9d0], xmm5
movaps xmmword [rbp + 0x9e0], xmm8
movaps xmmword [rbp + 0x9f0], xmm7
movaps xmmword [rbp + 0xa00], xmm2
mov qword [rbp + 0xa18], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0xa20], xmm1
movd eax, xmm0
test al, 1
jne 0x14017bd78
jmp 0x14017bd8e
mov rax, qword [rbp + 0xad8]
mov rcx, qword [rbp + 0xa18]
mov dl, 0xa4
xor dl, 0xa4
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0xa20]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017bda9
jmp 0x14017be71
mov rax, qword [rbp + 0xad8]
mov rsi, qword [rbp + 0xa18]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 1
mov r9, 0xffffffffffffffff
movabs rcx, 0xb9d97f0bde90ba59
xor r9, rcx
movabs r10, 0x8c8a9dd723f841f9
movabs rcx, 0x3553e2dcfd68fba0
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r9
movabs r11, 0xb9d97f0bde90ba59
mov r10, r8
and r10, r11
movabs r11, 0xbb1dd2d8f696e54b
movabs rdi, 0xbb1dd2d8f696e54a
xor r11, rdi
and r11, r9
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r8
movabs r8, 0xc119520e72e14a9e
movabs r10, 0x3ee6adf18d1eb561
xor r8, r10
xor rdx, r8
movabs r8, 0x53511c7f7c837117
movabs r10, 0xea886374a213cb4e
xor r8, r10
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0xa20]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017be8a
jmp 0x14017bf3f
mov rax, qword [rbp + 0xad8]
mov rcx, qword [rbp + 0xa18]
and rcx, rcx
movabs rdx, 0xd70a4efef029042c
movabs r8, 0x28f5b1010fd6fbd3
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xb4c841d08bfc11
movabs r8, 0xb4c841d08bfc13
xor rdx, r8
movabs r8, 0xaeae37a8e4346ec2
movabs r9, 0x5151c8571bcb913d
xor r8, r9
xor rdx, r8
movabs r8, 0x24f5970c11aa925e
movabs r9, 0x24f5970c11aa925c
xor r8, r9
movabs r9, 0xb0ec4ad5c865340
movabs r10, 0xf4f13b52a379acbf
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x554415f1907489f9
movabs r9, 0xaabbea0e6f8b7606
xor r8, r9
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0xa20]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017bf58
jmp 0x14017bf92
mov rax, qword [rbp + 0xad8]
mov rdx, qword [rbp + 0xa18]
movabs r8, 0x1e497ebb10438ca0
movabs rcx, 0x1e497ebb10438ca3
xor r8, rcx
mov rcx, rdx
and rcx, r8
xor rdx, 3
or rcx, rdx
mov dl, 0x8d
xor dl, 0x8d
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0xa20]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017bfab
jmp 0x14017bfdb
mov rax, qword [rbp + 0xad8]
mov rcx, qword [rbp + 0xa18]
movabs rdx, 0xa1525ffe35ff75b1
movabs r8, 0xa1525ffe35ff75b5
xor rdx, r8
or rcx, rdx
mov dl, 0xf1
xor dl, 0xf1
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0xa20]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017bff4
jmp 0x14017c024
mov rax, qword [rbp + 0xad8]
mov rcx, qword [rbp + 0xa18]
movabs rdx, 0xc2eb1fcee8db4e21
movabs r8, 0xc2eb1fcee8db4e24
xor rdx, r8
or rcx, rdx
mov dl, 0xad
xor dl, 0xad
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0xa20]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017c03d
jmp 0x14017c053
mov rax, qword [rbp + 0xad8]
mov rcx, qword [rbp + 0xa18]
or rcx, 6
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0xa20]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017c06c
jmp 0x14017c0f4
mov rax, qword [rbp + 0xad8]
mov rdx, qword [rbp + 0xa18]
movabs r8, 0x212829390ac0ddc7
movabs rcx, 0x212829390ac0ddc0
xor r8, rcx
mov rcx, rdx
or rcx, r8
movabs r8, 0xd2587070f7e06660
movabs r9, 0x2da78f8f081f999f
xor r8, r9
xor rcx, r8
or rdx, 7
xor rdx, 0xffffffffffffffff
movabs r8, 0x4697751486800060
movabs r9, 0xb9688aeb797fff9f
xor r8, r9
xor rcx, r8
movabs r8, 0x6b4e81f012c913f8
movabs r9, 0x94b17e0fed36ec07
xor r8, r9
xor rdx, r8
and rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x9d0]
movaps xmm1, xmmword [rbp + 0x9e0]
movaps xmm2, xmmword [rbp + 0x9f0]
movaps xmm3, xmmword [rbp + 0xa00]
mov rax, qword [rbp + 0xa18]
add rax, 8
movaps xmm4, xmmword [0x1401a0e30]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0xa38], rax
movaps xmmword [rbp + 0xa40], xmm3
movaps xmmword [rbp + 0xa50], xmm2
movaps xmmword [rbp + 0xa60], xmm1
movaps xmmword [rbp + 0xa70], xmm0
jne 0x14017bc53
jmp 0x14017c167
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
xor eax, eax
mov qword [rbp + 0x988], rax
movaps xmmword [rbp + 0x990], xmm3
movaps xmmword [rbp + 0x9a0], xmm2
movaps xmmword [rbp + 0x9b0], xmm1
movaps xmmword [rbp + 0x9c0], xmm0
jmp 0x14017c1c3
mov rax, qword [rbp + 0x988]
movaps xmm2, xmmword [rbp + 0x990]
movaps xmm7, xmmword [rbp + 0x9a0]
movaps xmm8, xmmword [rbp + 0x9b0]
movaps xmm5, xmmword [rbp + 0x9c0]
movaps xmmword [rbp + 0x920], xmm5
movaps xmmword [rbp + 0x930], xmm8
movaps xmmword [rbp + 0x940], xmm7
movaps xmmword [rbp + 0x950], xmm2
mov qword [rbp + 0x968], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x970], xmm1
movd eax, xmm0
test al, 1
jne 0x14017c2e8
jmp 0x14017c2fa
mov rax, qword [rbp + 0xae0]
mov rcx, qword [rbp + 0x968]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x970]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017c315
jmp 0x14017c32f
mov rax, qword [rbp + 0xae0]
mov rcx, qword [rbp + 0x968]
or rcx, 1
mov dl, 0x73
xor dl, 0x73
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x970]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017c348
jmp 0x14017c368
mov rax, qword [rbp + 0xae0]
mov rdx, qword [rbp + 0x968]
mov rcx, rdx
and rcx, 2
xor rdx, 2
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x970]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017c381
jmp 0x14017c397
mov rax, qword [rbp + 0xae0]
mov rcx, qword [rbp + 0x968]
or rcx, 3
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x970]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017c3b0
jmp 0x14017c422
mov rax, qword [rbp + 0xae0]
mov rdx, qword [rbp + 0x968]
movabs r8, 0x12fda0711ab05655
movabs rcx, 0x12fda0711ab05651
xor r8, rcx
mov rcx, rdx
or rcx, r8
movabs r8, 0x87fce0dccaa478e
movabs r9, 0xf78031f23355b871
xor r8, r9
xor rcx, r8
or rdx, 4
movabs r8, 0x8bad72bf99b0dd33
movabs r9, 0x74528d40664f22cc
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov dl, 0x7e
xor dl, 0x7e
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x970]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017c43b
jmp 0x14017c4f1
mov rax, qword [rbp + 0xae0]
mov rsi, qword [rbp + 0x968]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 5
mov r8, 0xffffffffffffffff
movabs rcx, 0xffbc880b022f8ac
xor r8, rcx
movabs r10, 0x439878b838f0d034
movabs rcx, 0x4c63b03888d22898
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x296d15528abb116e
movabs r10, 0x2696ddd23a99e9c2
xor r11, r10
mov r10, r9
and r10, r11
movabs r11, 0x5a23f083ec540bec
movabs rdi, 0x5a23f083ec540be9
xor r11, rdi
and r11, r8
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xffbc880b022f8ac
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0xcb
xor dl, 0xcb
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x970]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017c50a
jmp 0x14017c55f
mov rax, qword [rbp + 0xae0]
mov rcx, qword [rbp + 0x968]
movabs rdx, 0x9a1a931b0b018ddf
movabs r8, 0x9a1a931b0b018dd9
xor rdx, r8
and rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0xd90bcb27516fab1c
movabs r9, 0xd90bcb27516fab1a
xor r8, r9
add rcx, r8
add rcx, 1
add rcx, rdx
mov dl, 0x37
xor dl, 0x37
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x970]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017c578
jmp 0x14017c592
mov rax, qword [rbp + 0xae0]
mov rcx, qword [rbp + 0x968]
or rcx, 7
mov dl, 0x76
xor dl, 0x76
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x920]
movaps xmm1, xmmword [rbp + 0x930]
movaps xmm2, xmmword [rbp + 0x940]
movaps xmm3, xmmword [rbp + 0x950]
mov rax, qword [rbp + 0x968]
add rax, 8
movaps xmm4, xmmword [0x1401a0e30]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x988], rax
movaps xmmword [rbp + 0x990], xmm3
movaps xmmword [rbp + 0x9a0], xmm2
movaps xmmword [rbp + 0x9b0], xmm1
movaps xmmword [rbp + 0x9c0], xmm0
jne 0x14017c1c3
jmp 0x14017c605
mov rax, qword [rbp + 0xae8]
xor ecx, ecx
mov qword [rbp + 0x8d0], rcx
mov qword [rax], rcx
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x8c8], rdx
mov qword [rax + 8], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x8d0]
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
mov qword [rbp + 0x8d8], rax
movaps xmmword [rbp + 0x8e0], xmm3
movaps xmmword [rbp + 0x8f0], xmm2
movaps xmmword [rbp + 0x900], xmm1
movaps xmmword [rbp + 0x910], xmm0
jmp 0x14017c68b
mov rax, qword [rbp + 0x8d8]
movaps xmm2, xmmword [rbp + 0x8e0]
movaps xmm7, xmmword [rbp + 0x8f0]
movaps xmm8, xmmword [rbp + 0x900]
movaps xmm5, xmmword [rbp + 0x910]
movaps xmmword [rbp + 0x860], xmm5
movaps xmmword [rbp + 0x870], xmm8
movaps xmmword [rbp + 0x880], xmm7
movaps xmmword [rbp + 0x890], xmm2
mov qword [rbp + 0x8a8], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x8b0], xmm1
movd eax, xmm0
test al, 1
jne 0x14017c7b0
jmp 0x14017c7c3
mov rax, qword [rbp + 0x8a8]
mov cl, 0x8b
xor cl, 0x8b
mov byte [rbp + rax + 0xe50], cl
movaps xmm0, xmmword [rbp + 0x8b0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017c7de
jmp 0x14017c84b
mov rax, qword [rbp + 0x8a8]
movabs rdx, 0x42571ec99f386b89
movabs rcx, 0x42571ec99f386b88
xor rdx, rcx
movabs rcx, 0xfe64f1c75a9cd326
movabs r8, 0x19b0e38a5632cd9
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
movabs r8, 0x60c2e45a46e244e9
movabs rdx, 0x60c2e45a46e244e8
xor r8, rdx
mov rdx, rax
xor rdx, r8
add rax, rdx
sub rax, rcx
mov cl, 0x91
xor cl, 0x91
mov byte [rbp + rax + 0xe50], cl
movaps xmm0, xmmword [rbp + 0x8b0]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017c864
jmp 0x14017c8ad
mov rcx, qword [rbp + 0x8a8]
movabs rdx, 0x899e44885312d308
movabs rax, 0x899e44885312d30a
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs rdx, 0x4d9d59c69b26adc4
movabs r8, 0x4d9d59c69b26adc6
xor rdx, r8
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe50], 0
movaps xmm0, xmmword [rbp + 0x8b0]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017c8c6
jmp 0x14017c9c1
mov r11, qword [rbp + 0x8a8]
mov rcx, r11
xor rcx, 0xffffffffffffffff
movabs r8, 0xb55b8581ae71f718
movabs rax, 0xb55b8581ae71f71b
xor r8, rax
movabs rax, 0x298b22bcbc008a96
movabs rdx, 0xd674dd4343ff7569
xor rax, rdx
xor r8, rax
movabs rdx, 0xc40740300a3ed9a1
movabs rax, 0x18e6f88e98540b04
xor rdx, rax
movabs rax, 0xcbbbe426dc1e1428
movabs r9, 0x34441bd923e1ebd7
xor rax, r9
xor rdx, rax
movabs r9, 0xdce1b8be926ad2a5
mov rax, rcx
and rax, r9
and r11, rdx
movabs r10, 0xc180dd48d85207c
movabs r9, 0xd0f9b56a1feff2d9
xor r10, r9
mov r9, r8
and r9, r10
movabs r10, 0x83e4a7f716bfd8fc
movabs rsi, 0x83e4a7f716bfd8ff
xor r10, rsi
and r10, rdx
or rax, r11
or r9, r10
xor rax, r9
or rcx, r8
movabs r8, 0x5ed26b2ba03ada99
movabs r9, 0xa12d94d45fc52566
xor r8, r9
xor rcx, r8
movabs r8, 0xdce1b8be926ad2a5
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe50], 0
movaps xmm0, xmmword [rbp + 0x8b0]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017c9da
jmp 0x14017ca67
mov rcx, qword [rbp + 0x8a8]
movabs rdx, 0x1a0dbd3f3e5ec8a2
movabs rax, 0x1a0dbd3f3e5ec8a6
xor rdx, rax
mov rax, rcx
or rax, rdx
movabs rdx, 0xfe35cbab699d90d6
movabs r8, 0x1ca345496626f29
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x84481273acc5e4f3
movabs r8, 0x84481273acc5e4f7
xor rdx, r8
movabs r8, 0x97e1837383200b2a
movabs r9, 0x681e7c8c7cdff4d5
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
mov cl, 0x40
xor cl, 0x40
mov byte [rbp + rax + 0xe50], cl
movaps xmm0, xmmword [rbp + 0x8b0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017ca80
jmp 0x14017ca97
mov rax, qword [rbp + 0x8a8]
or rax, 5
mov cl, 0x98
xor cl, 0x98
mov byte [rbp + rax + 0xe50], cl
movaps xmm0, xmmword [rbp + 0x8b0]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017cab0
jmp 0x14017cac3
mov rax, qword [rbp + 0x8a8]
or rax, 6
mov byte [rbp + rax + 0xe50], 0
movaps xmm0, xmmword [rbp + 0x8b0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017cadc
jmp 0x14017cb59
mov rcx, qword [rbp + 0x8a8]
movabs rdx, 0x20982165ec020626
movabs rax, 0xdf67de9a13fdf9d9
xor rdx, rax
mov rax, rcx
xor rax, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 7
and rax, rdx
movabs rdx, 0x1e2d3653e1620675
movabs r8, 0x1e2d3653e1620672
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0xc5691175a85e96be
movabs r8, 0x3a96ee8a57a16941
xor rdx, r8
xor rcx, rdx
and rax, rcx
mov cl, 0xaa
xor cl, 0xaa
mov byte [rbp + rax + 0xe50], cl
movaps xmm0, xmmword [rbp + 0x860]
movaps xmm1, xmmword [rbp + 0x870]
movaps xmm2, xmmword [rbp + 0x880]
movaps xmm3, xmmword [rbp + 0x890]
mov rax, qword [rbp + 0x8a8]
add rax, 8
movaps xmm4, xmmword [0x1401a0e30]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x8d8], rax
movaps xmmword [rbp + 0x8e0], xmm3
movaps xmmword [rbp + 0x8f0], xmm2
movaps xmmword [rbp + 0x900], xmm1
movaps xmmword [rbp + 0x910], xmm0
jne 0x14017c68b
jmp 0x14017cbcc
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
xor eax, eax
mov qword [rbp + 0x818], rax
movaps xmmword [rbp + 0x820], xmm3
movaps xmmword [rbp + 0x830], xmm2
movaps xmmword [rbp + 0x840], xmm1
movaps xmmword [rbp + 0x850], xmm0
jmp 0x14017cc28
mov rax, qword [rbp + 0x818]
movaps xmm2, xmmword [rbp + 0x820]
movaps xmm7, xmmword [rbp + 0x830]
movaps xmm8, xmmword [rbp + 0x840]
movaps xmm5, xmmword [rbp + 0x850]
movaps xmmword [rbp + 0x7b0], xmm5
movaps xmmword [rbp + 0x7c0], xmm8
movaps xmmword [rbp + 0x7d0], xmm7
movaps xmmword [rbp + 0x7e0], xmm2
mov qword [rbp + 0x7f8], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x800], xmm1
movd eax, xmm0
test al, 1
jne 0x14017cd4d
jmp 0x14017cd60
mov rax, qword [rbp + 0x7f8]
mov cl, 0x75
xor cl, 0x75
mov byte [rbp + rax + 0xe30], cl
movaps xmm0, xmmword [rbp + 0x800]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017cd7b
jmp 0x14017cdec
mov rcx, qword [rbp + 0x7f8]
movabs rdx, 0x122560cbfe161f01
movabs rax, 0xedda9f3401e9e0fe
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0xfd22a1d67606618f
movabs r8, 0x2dd5e2989f99e70
xor rdx, r8
xor rcx, rdx
or rax, rcx
mov rcx, 0xffffffffffffffff
xor rcx, 1
mov rdx, 0xffffffffffffffff
xor rdx, 1
or rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
mov cl, 0xb3
xor cl, 0xb3
mov byte [rbp + rax + 0xe30], cl
movaps xmm0, xmmword [rbp + 0x800]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017ce05
jmp 0x14017ce38
mov rcx, qword [rbp + 0x7f8]
mov rax, rcx
and rax, 2
movabs rdx, 0xdcf4cf7a80a6a2e
movabs r8, 0xdcf4cf7a80a6a2c
xor rdx, r8
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe30], 0
movaps xmm0, xmmword [rbp + 0x800]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017ce51
jmp 0x14017cf40
mov r11, qword [rbp + 0x7f8]
mov rcx, r11
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 3
movabs r8, 0x80a23d778b146cc0
movabs rax, 0xdaa35144fd6ac83e
xor r8, rax
movabs rax, 0x997ef5fcfc31e6ca
movabs r9, 0x66810a0303ce1935
xor rax, r9
xor r8, rax
movabs r9, 0xaad3e49aec98c840
movabs rax, 0xf0d288a99ae66cbe
xor r9, rax
mov rax, rcx
and rax, r9
and r11, r8
movabs r10, 0x893a76bf4aa56759
movabs r9, 0xd33b1a8c3cdbc3a7
xor r10, r9
mov r9, rdx
and r9, r10
movabs r10, 0x6029ea8d2189e36
movabs rsi, 0x6029ea8d2189e35
xor r10, rsi
and r10, r8
or rax, r11
or r9, r10
xor rax, r9
or rcx, rdx
movabs rdx, 0xbe91d5b6528647f1
movabs r9, 0x416e2a49ad79b80e
xor rdx, r9
xor rcx, rdx
movabs rdx, 0x631b769b16c4c77a
movabs r9, 0x391a1aa860ba6384
xor rdx, r9
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe30], 0
movaps xmm0, xmmword [rbp + 0x800]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017cf59
jmp 0x14017cf82
mov rax, qword [rbp + 0x7f8]
movabs rcx, 0x8f3d007fb05bd6e2
movabs rdx, 0x8f3d007fb05bd6e6
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe30], 0
movaps xmm0, xmmword [rbp + 0x800]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017cf9b
jmp 0x14017cfb2
mov rax, qword [rbp + 0x7f8]
or rax, 5
mov cl, 0x6b
xor cl, 0x6b
mov byte [rbp + rax + 0xe30], cl
movaps xmm0, xmmword [rbp + 0x800]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017cfcb
jmp 0x14017d007
mov rax, qword [rbp + 0x7f8]
movabs rcx, 0xe4d4b98ebf5ba3fe
movabs rdx, 0xe4d4b98ebf5ba3f8
xor rcx, rdx
and rcx, rax
xor rcx, 0xffffffffffffffff
add rax, 6
add rax, 1
add rax, rcx
mov cl, 0x63
xor cl, 0x63
mov byte [rbp + rax + 0xe30], cl
movaps xmm0, xmmword [rbp + 0x800]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017d020
jmp 0x14017d0cf
mov r11, qword [rbp + 0x7f8]
mov rcx, r11
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 7
mov rdx, 0xffffffffffffffff
movabs rax, 0xb8b649b883166f75
xor rdx, rax
movabs r9, 0xa82f15332dd7bdef
movabs rax, 0x10995c8baec1d29a
xor r9, rax
mov rax, rcx
and rax, r9
and r11, rdx
movabs r10, 0x8a2d5f5f123da422
movabs r9, 0x329b16e7912bcb57
xor r10, r9
mov r9, r8
and r9, r10
movabs r10, 0xe227fa8c04f355f1
movabs rsi, 0xe227fa8c04f355f6
xor r10, rsi
and r10, rdx
or rax, r11
or r9, r10
xor rax, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xb8b649b883166f75
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe30], 0
movaps xmm7, xmmword [rbp + 0x7e0]
movaps xmm6, xmmword [rbp + 0x7d0]
movaps xmm5, xmmword [rbp + 0x7c0]
movaps xmm4, xmmword [rbp + 0x7b0]
mov rax, qword [rbp + 0x7f8]
add rax, 8
movaps xmm8, xmmword [0x1401a0e30]
movaps xmmword [rbp + 0x7a0], xmm8
movaps xmm0, xmm4
pand xmm0, xmm8
movaps xmm1, xmm5
pand xmm1, xmm8
movaps xmm2, xmm6
pand xmm2, xmm8
movaps xmm3, xmm7
pand xmm3, xmm8
por xmm4, xmm8
por xmm5, xmm8
por xmm6, xmm8
por xmm7, xmm8
paddq xmm3, xmm7
paddq xmm2, xmm6
paddq xmm1, xmm5
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x818], rax
movaps xmmword [rbp + 0x820], xmm3
movaps xmmword [rbp + 0x830], xmm2
movaps xmmword [rbp + 0x840], xmm1
movaps xmmword [rbp + 0x850], xmm0
jne 0x14017cc28
jmp 0x14017d17f
mov rax, qword [rbp + 0xaf0]
xor ecx, ecx
mov qword [rbp + 0x750], rcx
mov qword [rax], rcx
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x748], rdx
mov qword [rax + 8], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x750]
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
mov qword [rbp + 0x758], rax
movaps xmmword [rbp + 0x760], xmm3
movaps xmmword [rbp + 0x770], xmm2
movaps xmmword [rbp + 0x780], xmm1
movaps xmmword [rbp + 0x790], xmm0
jmp 0x14017d205
mov rax, qword [rbp + 0x758]
movaps xmm2, xmmword [rbp + 0x760]
movaps xmm7, xmmword [rbp + 0x770]
movaps xmm8, xmmword [rbp + 0x780]
movaps xmm5, xmmword [rbp + 0x790]
movaps xmmword [rbp + 0x6e0], xmm5
movaps xmmword [rbp + 0x6f0], xmm8
movaps xmmword [rbp + 0x700], xmm7
movaps xmmword [rbp + 0x710], xmm2
mov qword [rbp + 0x728], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x730], xmm1
movd eax, xmm0
test al, 1
jne 0x14017d32a
jmp 0x14017d339
mov rax, qword [rbp + 0x728]
mov byte [rbp + rax + 0xe10], 0
movaps xmm0, xmmword [rbp + 0x730]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017d354
jmp 0x14017d375
mov rcx, qword [rbp + 0x728]
mov rax, rcx
and rax, 1
xor rcx, 1
or rax, rcx
mov cl, 0x8b
xor cl, 0x8b
mov byte [rbp + rax + 0xe10], cl
movaps xmm0, xmmword [rbp + 0x730]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017d38e
jmp 0x14017d3b7
mov rax, qword [rbp + 0x728]
movabs rcx, 0xe8ebce8ded50161a
movabs rdx, 0xe8ebce8ded501618
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe10], 0
movaps xmm0, xmmword [rbp + 0x730]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017d3d0
jmp 0x14017d3fd
mov rax, qword [rbp + 0x728]
movabs rcx, 0x274a1f99dd3af033
movabs rdx, 0x274a1f99dd3af030
xor rcx, rdx
or rax, rcx
mov cl, 0xac
xor cl, 0xac
mov byte [rbp + rax + 0xe10], cl
movaps xmm0, xmmword [rbp + 0x730]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017d416
jmp 0x14017d504
mov r11, qword [rbp + 0x728]
movabs rax, 0x33030bde99b81136
movabs rcx, 0xccfcf4216647eec9
xor rax, rcx
mov rcx, r11
xor rcx, rax
movabs r8, 0x828c26d4236c8a0a
movabs rax, 0x828c26d4236c8a0e
xor r8, rax
movabs rax, 0xc755fdaa20642c91
movabs rdx, 0x38aa0255df9bd36e
xor rax, rdx
xor r8, rax
mov rdx, 0xffffffffffffffff
movabs rax, 0x813fb28fc00fa02
xor rdx, rax
movabs r9, 0x1a4f3098aa69fe35
movabs rax, 0x125ccbb056690437
xor r9, rax
mov rax, rcx
and rax, r9
and r11, rdx
movabs r10, 0x1b5425827922a5cb
movabs r9, 0x1347deaa85225fc9
xor r10, r9
mov r9, r8
and r9, r10
mov r10, rdx
and r10, 4
or rax, r11
or r9, r10
xor rax, r9
or rcx, r8
movabs r8, 0xd3eea7296c5bf2ea
movabs r9, 0x2c1158d693a40d15
xor r8, r9
xor rcx, r8
movabs r8, 0x813fb28fc00fa02
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe10], 0
movaps xmm0, xmmword [rbp + 0x730]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017d51d
jmp 0x14017d546
mov rax, qword [rbp + 0x728]
movabs rcx, 0xf039859a0b6eb391
movabs rdx, 0xf039859a0b6eb394
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe10], 0
movaps xmm0, xmmword [rbp + 0x730]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017d55f
jmp 0x14017d590
mov rax, qword [rbp + 0x728]
mov rdx, 0xffffffffffffffff
xor rdx, 6
mov rcx, rax
and rcx, rdx
mov rdx, rax
xor rdx, 6
add rax, rdx
sub rax, rcx
mov cl, 0x25
xor cl, 0x25
mov byte [rbp + rax + 0xe10], cl
movaps xmm0, xmmword [rbp + 0x730]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017d5a9
jmp 0x14017d5d2
mov rax, qword [rbp + 0x728]
movabs rcx, 0x439d53d8c72e5bf
movabs rdx, 0x439d53d8c72e5b8
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xe10], 0
movaps xmm0, xmmword [rbp + 0x6e0]
movaps xmm1, xmmword [rbp + 0x6f0]
movaps xmm2, xmmword [rbp + 0x700]
movaps xmm3, xmmword [rbp + 0x710]
mov rax, qword [rbp + 0x728]
add rax, 8
movaps xmm4, xmmword [0x1401a0e30]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x758], rax
movaps xmmword [rbp + 0x760], xmm3
movaps xmmword [rbp + 0x770], xmm2
movaps xmmword [rbp + 0x780], xmm1
movaps xmmword [rbp + 0x790], xmm0
jne 0x14017d205
jmp 0x14017d645
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
xor eax, eax
mov qword [rbp + 0x698], rax
movaps xmmword [rbp + 0x6a0], xmm3
movaps xmmword [rbp + 0x6b0], xmm2
movaps xmmword [rbp + 0x6c0], xmm1
movaps xmmword [rbp + 0x6d0], xmm0
jmp 0x14017d6a1
mov rax, qword [rbp + 0x698]
movaps xmm2, xmmword [rbp + 0x6a0]
movaps xmm7, xmmword [rbp + 0x6b0]
movaps xmm8, xmmword [rbp + 0x6c0]
movaps xmm5, xmmword [rbp + 0x6d0]
movaps xmmword [rbp + 0x630], xmm5
movaps xmmword [rbp + 0x640], xmm8
movaps xmmword [rbp + 0x650], xmm7
movaps xmmword [rbp + 0x660], xmm2
mov qword [rbp + 0x678], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x680], xmm1
movd eax, xmm0
test al, 1
jne 0x14017d7c6
jmp 0x14017d7d8
mov rax, qword [rbp + 0xaf8]
mov rcx, qword [rbp + 0x678]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x680]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017d7f3
jmp 0x14017d85a
mov rax, qword [rbp + 0xaf8]
mov rcx, qword [rbp + 0x678]
movabs rdx, 0x1791b3cc45be8042
movabs r8, 0x1791b3cc45be8043
xor rdx, r8
and rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0xb536ba196a30f700
movabs r9, 0xb536ba196a30f701
xor r8, r9
add rcx, r8
movabs r8, 0xd32a2f7fe258180b
movabs r9, 0xd32a2f7fe258180a
xor r8, r9
add rcx, r8
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x680]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017d873
jmp 0x14017d933
mov rax, qword [rbp + 0xaf8]
mov rdx, qword [rbp + 0x678]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0xbb8a49f012cbd323
movabs r9, 0x4475b60fed342cdc
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0x93aece34cf40f036
movabs r8, 0x93aece34cf40f034
xor rdx, r8
movabs r8, 0x947fac75017d7a37
movabs r9, 0x6b80538afe8285c8
xor r8, r9
xor rdx, r8
movabs r8, 0x371b9912c0c3a4e0
movabs r9, 0x371b9912c0c3a4e2
xor r8, r9
movabs r9, 0x7919f54fd8b56919
movabs r10, 0x86e60ab0274a96e6
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xaaf420175c8eef28
movabs r9, 0x550bdfe8a37110d7
xor r8, r9
xor rdx, r8
or rcx, rdx
mov dl, 0x20
xor dl, 0x20
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x680]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017d94c
jmp 0x14017d97c
mov rax, qword [rbp + 0xaf8]
mov rcx, qword [rbp + 0x678]
movabs rdx, 0x3c8cf2bb9f9b102d
movabs r8, 0x3c8cf2bb9f9b102e
xor rdx, r8
or rcx, rdx
mov dl, 0x47
xor dl, 0x47
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x680]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017d995
jmp 0x14017da7d
mov rax, qword [rbp + 0xaf8]
mov rsi, qword [rbp + 0x678]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
movabs r9, 0x3ca58b04352efac6
movabs rcx, 0x3ca58b04352efac2
xor r9, rcx
movabs rcx, 0x604e681a9ab7cc36
movabs r8, 0x9fb197e5654833c9
xor rcx, r8
xor r9, rcx
movabs r8, 0xeb101368012a7ea6
movabs rcx, 0x1a5a3a0ea29ea4
xor r8, rcx
movabs rcx, 0x478991220bda5d37
movabs r10, 0xb8766eddf425a2c8
xor rcx, r10
xor r8, rcx
movabs r10, 0xeb0a49520f88e002
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x32933b0bed231469
movabs r10, 0xd9997259e2abf46b
xor r11, r10
mov r10, r9
and r10, r11
movabs r11, 0x6046a01fba02c032
movabs rdi, 0x6046a01fba02c036
xor r11, rdi
and r11, r8
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xeb0a49520f88e002
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x680]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017da96
jmp 0x14017dacc
mov rax, qword [rbp + 0xaf8]
mov rdx, qword [rbp + 0x678]
mov rcx, rdx
and rcx, 5
movabs r8, 0xdd1009ddbfda4c61
movabs r9, 0xdd1009ddbfda4c64
xor r8, r9
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x680]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017dae5
jmp 0x14017db7b
mov rax, qword [rbp + 0xaf8]
mov rdx, qword [rbp + 0x678]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0x19e9f6f9a6e9567
movabs r9, 0xfe61609065916a98
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0x792fcf0ed1b0a455
movabs r8, 0x792fcf0ed1b0a453
xor rdx, r8
movabs r8, 0x4279f00e852ff60a
movabs r9, 0xbd860ff17ad009f5
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 6
or rdx, r8
and rcx, rdx
movabs rdx, 0xf86e1bb6e9e7e70d
movabs r8, 0x791e449161818f2
xor rdx, r8
xor rcx, rdx
mov dl, 0x71
xor dl, 0x71
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x680]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017db94
jmp 0x14017dbe4
mov rax, qword [rbp + 0xaf8]
mov rdx, qword [rbp + 0x678]
movabs r8, 0x8ea6e9dc1d52d628
movabs rcx, 0x8ea6e9dc1d52d62f
xor r8, rcx
mov rcx, rdx
and rcx, r8
movabs r8, 0xf0abbe080998ae4d
movabs r9, 0xf0abbe080998ae4a
xor r8, r9
xor rdx, r8
or rcx, rdx
mov dl, 1
xor dl, 1
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x630]
movaps xmm1, xmmword [rbp + 0x640]
movaps xmm2, xmmword [rbp + 0x650]
movaps xmm3, xmmword [rbp + 0x660]
mov rax, qword [rbp + 0x678]
add rax, 8
movaps xmm4, xmmword [0x1401a0e30]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x698], rax
movaps xmmword [rbp + 0x6a0], xmm3
movaps xmmword [rbp + 0x6b0], xmm2
movaps xmmword [rbp + 0x6c0], xmm1
movaps xmmword [rbp + 0x6d0], xmm0
jne 0x14017d6a1
jmp 0x14017dc57
mov qword [rbp + 0xe00], 0
lea rax, [rbp + 0xe00]
add rax, 8
mov qword [rbp + 0x620], rax
mov qword [rbp + 0xe08], 0
mov word [rbp + 0xdfe], 0xa4e
lea rcx, [rbp + 0xdfe]
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x628], rcx
mov al, byte [rax]
mov cl, 0xdd
xor cl, 0xdd
cmp al, cl
jne 0x14017e326
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
xor eax, eax
mov qword [rbp + 0x5d8], rax
movaps xmmword [rbp + 0x5e0], xmm3
movaps xmmword [rbp + 0x5f0], xmm2
movaps xmmword [rbp + 0x600], xmm1
movaps xmmword [rbp + 0x610], xmm0
jmp 0x14017dd18
mov rax, qword [rbp + 0x5d8]
movaps xmm2, xmmword [rbp + 0x5e0]
movaps xmm7, xmmword [rbp + 0x5f0]
movaps xmm8, xmmword [rbp + 0x600]
movaps xmm5, xmmword [rbp + 0x610]
movaps xmmword [rbp + 0x570], xmm5
movaps xmmword [rbp + 0x580], xmm8
movaps xmmword [rbp + 0x590], xmm7
movaps xmmword [rbp + 0x5a0], xmm2
mov qword [rbp + 0x5b8], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x5c0], xmm1
movd eax, xmm0
test al, 1
jne 0x14017de3d
jmp 0x14017de4f
mov rax, qword [rbp + 0xb08]
mov rcx, qword [rbp + 0x5b8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x5c0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017de6a
jmp 0x14017deb1
mov rax, qword [rbp + 0xb08]
mov rcx, qword [rbp + 0x5b8]
and rcx, rcx
xor rcx, 0xffffffffffffffff
mov edx, 1
and rdx, 1
movabs r8, 0xb348d20456b235f9
movabs r9, 0x4cb72dfba94dca06
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov dl, 0x9f
xor dl, 0x9f
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x5c0]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017deca
jmp 0x14017dee4
mov rax, qword [rbp + 0xb08]
mov rcx, qword [rbp + 0x5b8]
or rcx, 2
mov dl, 0x91
xor dl, 0x91
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x5c0]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017defd
jmp 0x14017df4d
mov rax, qword [rbp + 0xb08]
mov rdx, qword [rbp + 0x5b8]
mov rcx, rdx
or rcx, 3
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 3
and rdx, r8
or rcx, rdx
movabs rdx, 0x11e1a2bac139e750
movabs r8, 0xee1e5d453ec618af
xor rdx, r8
xor rcx, rdx
mov dl, 0xbb
xor dl, 0xbb
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x5c0]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017df66
jmp 0x14017df9a
mov rax, qword [rbp + 0xb08]
mov rcx, qword [rbp + 0x5b8]
mov r8, 0xffffffffffffffff
xor r8, 4
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 4
add rcx, r8
sub rcx, rdx
mov dl, 0x94
xor dl, 0x94
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x5c0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017dfb3
jmp 0x14017dfcd
mov rax, qword [rbp + 0xb08]
mov rcx, qword [rbp + 0x5b8]
or rcx, 5
mov dl, 0x22
xor dl, 0x22
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x5c0]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017dfe6
jmp 0x14017e012
mov rax, qword [rbp + 0xb08]
mov rcx, qword [rbp + 0x5b8]
movabs rdx, 0xf163219c4bd0999f
movabs r8, 0xf163219c4bd09999
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x5c0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017e02b
jmp 0x14017e041
mov rax, qword [rbp + 0xb08]
mov rcx, qword [rbp + 0x5b8]
or rcx, 7
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x570]
movaps xmm1, xmmword [rbp + 0x580]
movaps xmm2, xmmword [rbp + 0x590]
movaps xmm3, xmmword [rbp + 0x5a0]
mov rax, qword [rbp + 0x5b8]
add rax, 8
movaps xmm8, xmmword [0x1401a0e30]
movaps xmmword [rbp + 0x560], xmm8
movaps xmm7, xmm3
pand xmm7, xmm8
movaps xmm6, xmm2
pand xmm6, xmm8
movaps xmm5, xmm1
pand xmm5, xmm8
movaps xmm4, xmm0
pand xmm4, xmm8
paddq xmm4, xmm4
paddq xmm5, xmm5
paddq xmm6, xmm6
paddq xmm7, xmm7
pxor xmm0, xmm8
pxor xmm1, xmm8
pxor xmm2, xmm8
pxor xmm3, xmm8
paddq xmm3, xmm7
paddq xmm2, xmm6
paddq xmm1, xmm5
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x5d8], rax
movaps xmmword [rbp + 0x5e0], xmm3
movaps xmmword [rbp + 0x5f0], xmm2
movaps xmmword [rbp + 0x600], xmm1
movaps xmmword [rbp + 0x610], xmm0
jne 0x14017dd18
jmp 0x14017e101
mov rdx, qword [rbp + 0xa80]
mov rcx, qword [rbp + 0xb08]
mov rax, qword [rbp + 0x628]
mov r8, qword [rax]
mov qword [rbp + 0xde8], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0xdf0], rax
lea r8, [rbp + 0xde8]
sub rsp, 0x20
call fcn.1400c8ea0
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017e326
mov rax, qword [rbp + 0xae0]
mov rcx, qword [rbp + 0xad8]
mov rdx, qword [rbp + 0xb08]
mov r8, qword [rdx + 0x10]
mov qword [rcx + 0x10], r8
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
mov r8, qword [rdx + 0x10]
mov qword [rax + 0x10], r8
movups xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
add rax, 0x10
mov qword [rbp + 0x550], rax
sub rsp, 0x20
call fcn.140047a83
mov rcx, qword [rbp + 0xae0]
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov cl, byte [rcx + 0x10]
test cl, cl
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x55f], al
or al, cl
test al, 1
jne 0x14017e209
mov rdx, qword [rbp + 0xb10]
mov rcx, qword [rbp + 0xae8]
mov rax, qword [rbp + 0xae0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140021260
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x54f], al
jmp 0x14017e286
mov al, byte [rbp + 0x55f]
test al, 1
jne 0x14017e326
jmp 0x14017e21c
lea rcx, [rbp + 0xdd8]
sub rsp, 0x20
call fcn.140077226
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov rcx, qword [rbp + 0xdd8]
mov qword [rbp + 0x538], rcx
mov rcx, qword [rbp + 0xde0]
mov qword [rbp + 0x540], rcx
cmp byte [rax], 0
jne 0x14017e326
mov rax, qword [rbp + 0x8c8]
mov rcx, qword [rbp + 0x540]
mov rdx, qword [rbp + 0xae8]
mov r8, qword [rbp + 0x538]
mov qword [rdx], r8
mov qword [rax], rcx
xor eax, eax
mov byte [rbp + 0x54f], al
mov rcx, qword [rbp + 0x550]
mov al, byte [rbp + 0x54f]
mov cl, byte [rcx]
test cl, cl
sete cl
test al, al
setne al
mov byte [rbp + 0x537], al
or al, cl
test al, 1
jne 0x14017e333
mov rcx, qword [rbp + 0xc18]
mov rax, qword [rbp + 0xae8]
mov rdx, qword [rax]
mov qword [rbp + 0xdc8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xdd0], rax
lea rdx, [rbp + 0xdc8]
sub rsp, 0x20
call fcn.14001b13e
mov rcx, qword [rbp + 0xae8]
call fcn.1400143a4
mov rcx, qword [rbp + 0xc18]
add rsp, 0x20
mov dl, 0xfe
xor dl, 0xa2
sub rsp, 0x20
call fcn.14003a5fb
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x37
xor cl, 0x37
cmp al, cl
jne 0x14017e326
jmp 0x14017e34a
mov al, 1
mov byte [rbp + 0x536], al
jmp 0x14017f306
mov cl, byte [rbp + 0x537]
mov al, 1
test cl, 1
mov byte [rbp + 0x536], al
jne 0x14017f306
mov word [rbp + 0xdc6], 0x17a
lea rcx, [rbp + 0xdc6]
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x528], rcx
cmp byte [rax], 0
jne 0x14017ebba
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
xor eax, eax
mov qword [rbp + 0x4d8], rax
movaps xmmword [rbp + 0x4e0], xmm3
movaps xmmword [rbp + 0x4f0], xmm2
movaps xmmword [rbp + 0x500], xmm1
movaps xmmword [rbp + 0x510], xmm0
jmp 0x14017e3dd
mov rax, qword [rbp + 0x4d8]
movaps xmm2, xmmword [rbp + 0x4e0]
movaps xmm7, xmmword [rbp + 0x4f0]
movaps xmm8, xmmword [rbp + 0x500]
movaps xmm5, xmmword [rbp + 0x510]
movaps xmmword [rbp + 0x470], xmm5
movaps xmmword [rbp + 0x480], xmm8
movaps xmmword [rbp + 0x490], xmm7
movaps xmmword [rbp + 0x4a0], xmm2
mov qword [rbp + 0x4b8], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x4c0], xmm1
movd eax, xmm0
test al, 1
jne 0x14017e502
jmp 0x14017e515
mov rax, qword [rbp + 0x4b8]
mov cl, 0x84
xor cl, 0x84
mov byte [rbp + rax + 0xda8], cl
movaps xmm0, xmmword [rbp + 0x4c0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017e530
jmp 0x14017e567
mov rcx, qword [rbp + 0x4b8]
movabs rdx, 0xa349dff828393bf7
movabs rax, 0xa349dff828393bf6
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rcx, 1
or rax, rcx
mov cl, 0x83
xor cl, 0x83
mov byte [rbp + rax + 0xda8], cl
movaps xmm0, xmmword [rbp + 0x4c0]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017e580
jmp 0x14017e5a9
mov rax, qword [rbp + 0x4b8]
movabs rcx, 0xdf782aab36f5ffc6
movabs rdx, 0xdf782aab36f5ffc4
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xda8], 0
movaps xmm0, xmmword [rbp + 0x4c0]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017e5c2
jmp 0x14017e671
mov r11, qword [rbp + 0x4b8]
mov rcx, r11
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 3
mov r8, 0xffffffffffffffff
movabs rax, 0xe80517c26268d77d
xor r8, rax
movabs r9, 0xe80517c26268d77d
mov rax, rcx
and rax, r9
and r11, r8
movabs r10, 0xf1a581bb7f918c35
movabs r9, 0x19a096791df95b48
xor r10, r9
mov r9, rdx
and r9, r10
movabs r10, 0x8c39c38159cca865
movabs rsi, 0x8c39c38159cca866
xor r10, rsi
and r10, r8
or rax, r11
or r9, r10
xor rax, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x1b92797b2742a44e
movabs r9, 0xf3976eb9452a7333
xor rdx, r9
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xda8], 0
movaps xmm0, xmmword [rbp + 0x4c0]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017e68a
jmp 0x14017e775
mov r11, qword [rbp + 0x4b8]
mov rcx, r11
xor rcx, 0xffffffffffffffff
movabs r8, 0x471de8881d5be61b
movabs rax, 0x471de8881d5be61f
xor r8, rax
movabs rax, 0x9dc203b15ab217a4
movabs rdx, 0x623dfc4ea54de85b
xor rax, rdx
xor r8, rax
mov rdx, 0xffffffffffffffff
movabs rax, 0xd90872e551724b0d
xor rdx, rax
movabs r9, 0xe628215ca19c4bd9
movabs rax, 0x3f2053b9f0ee00d4
xor r9, rax
mov rax, rcx
and rax, r9
and r11, rdx
movabs r10, 0xc72d3b73471c92a9
movabs r9, 0x1e254996166ed9a4
xor r10, r9
mov r9, r8
and r9, r10
movabs r10, 0x7e5531db7034df92
movabs rsi, 0x7e5531db7034df96
xor r10, rsi
and r10, rdx
or rax, r11
or r9, r10
xor rax, r9
or rcx, r8
movabs r8, 0xfb0c4596687a16cf
movabs r9, 0x4f3ba699785e930
xor r8, r9
xor rcx, r8
movabs r8, 0xd90872e551724b0d
or rdx, r8
and rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0xda8], 0
movaps xmm0, xmmword [rbp + 0x4c0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017e78e
jmp 0x14017e7bb
mov rax, qword [rbp + 0x4b8]
movabs rcx, 0x5e8870bee86ec05c
movabs rdx, 0x5e8870bee86ec059
xor rcx, rdx
or rax, rcx
mov cl, 0xd5
xor cl, 0xd5
mov byte [rbp + rax + 0xda8], cl
movaps xmm0, xmmword [rbp + 0x4c0]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017e7d4
jmp 0x14017e881
mov rcx, qword [rbp + 0x4b8]
movabs rdx, 0xd736d0c0faa0c549
movabs rax, 0x28c92f3f055f3ab6
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0xc6f9f463b425b404
movabs r8, 0x39060b9c4bda4bfb
xor rdx, r8
xor rcx, rdx
or rax, rcx
mov rcx, 0xffffffffffffffff
xor rcx, 6
movabs rdx, 0x7f2259d40da2524a
movabs r8, 0x7f2259d40da2524c
xor rdx, r8
movabs r8, 0x89d35dccf254340e
movabs r9, 0x762ca2330dabcbf1
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x37cfd025fad4d37
movabs r8, 0xfc8302fda052b2c8
xor rdx, r8
xor rcx, rdx
or rax, rcx
mov cl, 0xe7
xor cl, 0xe7
mov byte [rbp + rax + 0xda8], cl
movaps xmm0, xmmword [rbp + 0x4c0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017e89a
jmp 0x14017e902
mov rax, qword [rbp + 0x4b8]
movabs rcx, 0xc7fd7eb53fe9ec23
movabs rdx, 0xc7fd7eb53fe9ec24
xor rcx, rdx
and rcx, rax
movabs rdx, 0xb7f2214f7ecca5a3
movabs r8, 0x480ddeb081335a5c
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xc2ecc305eac5e27f
movabs r8, 0xc2ecc305eac5e278
xor rdx, r8
add rax, rdx
add rax, 1
add rax, rcx
mov cl, 0xe5
xor cl, 0xe5
mov byte [rbp + rax + 0xda8], cl
movaps xmm0, xmmword [rbp + 0x470]
movaps xmm1, xmmword [rbp + 0x480]
movaps xmm2, xmmword [rbp + 0x490]
movaps xmm3, xmmword [rbp + 0x4a0]
mov rax, qword [rbp + 0x4b8]
add rax, 8
movaps xmm4, xmmword [0x1401a0e30]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x4d8], rax
movaps xmmword [rbp + 0x4e0], xmm3
movaps xmmword [rbp + 0x4f0], xmm2
movaps xmmword [rbp + 0x500], xmm1
movaps xmmword [rbp + 0x510], xmm0
jne 0x14017e3dd
jmp 0x14017e975
mov r8, qword [rbp + 0xb18]
mov rdx, qword [rbp + 0xa80]
mov rax, qword [rbp + 0x528]
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0xda8]
sub rsp, 0x20
call fcn.1400c8ea0
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017ebba
mov rax, qword [rbp + 0xdb8]
mov qword [rbp + 0xe60], rax
movups xmm0, xmmword [rbp + 0xda8]
movaps xmmword [rbp + 0xe50], xmm0
mov rax, qword [rbp + 0xdb8]
mov qword [rbp + 0xe40], rax
movups xmm0, xmmword [rbp + 0xda8]
movaps xmmword [rbp + 0xe30], xmm0
lea rax, [rbp + 0xe40]
mov qword [rbp + 0x460], rax
sub rsp, 0x20
lea rcx, [rbp + 0xe50]
call fcn.140047a83
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov cl, byte [rbp + 0xe40]
test cl, cl
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x46f], al
or al, cl
test al, 1
jne 0x14017ea8a
mov rcx, qword [rbp + 0xaf0]
mov rax, qword [rbp + 0xe30]
mov qword [rbp + 0xd98], rax
mov rax, qword [rbp + 0xe38]
mov qword [rbp + 0xda0], rax
lea rdx, [rbp + 0xd98]
sub rsp, 0x20
call fcn.140021260
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x45f], al
jmp 0x14017eb1a
mov al, byte [rbp + 0x46f]
test al, 1
jne 0x14017ea9d
jmp 0x14017eaaa
mov al, 1
mov byte [rbp + 0x536], al
jmp 0x14017f306
mov rcx, qword [rbp + 0xb28]
sub rsp, 0x20
call fcn.140077226
mov rcx, qword [rbp + 0xb28]
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x448], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x450], rcx
mov al, byte [rax]
mov cl, 0x44
xor cl, 0x44
cmp al, cl
jne 0x14017ebba
mov rax, qword [rbp + 0x748]
mov rcx, qword [rbp + 0x450]
mov rdx, qword [rbp + 0xaf0]
mov r8, qword [rbp + 0x448]
mov qword [rdx], r8
mov qword [rax], rcx
xor eax, eax
mov byte [rbp + 0x45f], al
mov rcx, qword [rbp + 0x460]
mov al, byte [rbp + 0x45f]
mov byte [rbp + 0x446], al
mov cl, byte [rcx]
test cl, cl
sete cl
test al, al
setne al
mov byte [rbp + 0x447], al
or al, cl
test al, 1
jne 0x14017ebc7
mov rcx, qword [rbp + 0xc10]
mov rax, qword [rbp + 0xaf0]
mov rdx, qword [rax]
mov qword [rbp + 0xd88], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd90], rax
lea rdx, [rbp + 0xd88]
sub rsp, 0x20
call fcn.14001b13e
mov rcx, qword [rbp + 0xaf0]
call fcn.1400143a4
mov rcx, qword [rbp + 0xc10]
add rsp, 0x20
mov edx, 0x5c
sub rsp, 0x20
call fcn.14003a5fb
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017ebba
jmp 0x14017ebe2
mov al, 1
mov byte [rbp + 0x536], al
jmp 0x14017f306
mov al, byte [rbp + 0x446]
mov cl, byte [rbp + 0x447]
test cl, 1
mov byte [rbp + 0x536], al
jne 0x14017f306
mov word [rbp + 0xd86], 0x289
lea rcx, [rbp + 0xd86]
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x438], rcx
mov cl, byte [rax]
mov dl, 0x50
xor dl, 0x50
mov al, 1
cmp cl, dl
mov byte [rbp + 0x445], al
jne 0x14017f2e9
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0dd0]
movaps xmm1, xmmword [0x1401a0de0]
movaps xmm2, xmmword [0x1401a0df0]
movaps xmm3, xmmword [0x1401a0e00]
xor eax, eax
mov qword [rbp + 0x3e8], rax
movaps xmmword [rbp + 0x3f0], xmm3
movaps xmmword [rbp + 0x400], xmm2
movaps xmmword [rbp + 0x410], xmm1
movaps xmmword [rbp + 0x420], xmm0
jmp 0x14017ec83
mov rax, qword [rbp + 0x3e8]
movaps xmm2, xmmword [rbp + 0x3f0]
movaps xmm7, xmmword [rbp + 0x400]
movaps xmm8, xmmword [rbp + 0x410]
movaps xmm5, xmmword [rbp + 0x420]
movaps xmmword [rbp + 0x380], xmm5
movaps xmmword [rbp + 0x390], xmm8
movaps xmmword [rbp + 0x3a0], xmm7
movaps xmmword [rbp + 0x3b0], xmm2
mov qword [rbp + 0x3c8], rax
movaps xmm6, xmmword [0x1401a0e10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0e20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
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 + 0x3d0], xmm1
movd eax, xmm0
test al, 1
jne 0x14017eda8
jmp 0x14017edba
mov rax, qword [rbp + 0xb30]
mov rcx, qword [rbp + 0x3c8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x3d0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14017edd5
jmp 0x14017ee37
mov rax, qword [rbp + 0xb30]
mov rdx, qword [rbp + 0x3c8]
mov rcx, rdx
or rcx, 1
movabs r8, 0x2399d6a97f8c3d0b
movabs r9, 0xdc6629568073c2f4
xor r8, r9
xor rcx, r8
movabs r8, 0x79bc7fd24efbe2b
movabs r9, 0xf8643802db1041d4
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 1
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x3d0]
pextrw eax, xmm0, 2
test al, 1
jne 0x14017ee50
jmp 0x14017ee66
mov rax, qword [rbp + 0xb30]
mov rcx, qword [rbp + 0x3c8]
or rcx, 2
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x3d0]
pextrw eax, xmm0, 3
test al, 1
jne 0x14017ee7f
jmp 0x14017eeaf
mov rax, qword [rbp + 0xb30]
mov rcx, qword [rbp + 0x3c8]
movabs rdx, 0x5f707829763e295
movabs r8, 0x5f707829763e296
xor rdx, r8
or rcx, rdx
mov dl, 0x36
xor dl, 0x36
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x3d0]
pextrw eax, xmm0, 4
test al, 1
jne 0x14017eec8
jmp 0x14017ef3d
mov rax, qword [rbp + 0xb30]
mov rcx, qword [rbp + 0x3c8]
and rcx, rcx
movabs rdx, 0x67dcefb13c937357
movabs r8, 0x9823104ec36c8ca8
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x502d6e09cb6412d1
movabs r8, 0x502d6e09cb6412d5
xor rdx, r8
movabs r8, 0xdb1c5ba055e804ef
movabs r9, 0x24e3a45faa17fb10
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 4
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x3d0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14017ef56
jmp 0x14017efac
mov rax, qword [rbp + 0xb30]
mov rcx, qword [rbp + 0x3c8]
movabs r8, 0xad8b82daecdc85e8
movabs rdx, 0xad8b82daecdc85ed
xor r8, rdx
movabs rdx, 0x5f8c0611b03f8014
movabs r9, 0xa073f9ee4fc07feb
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 5
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x3d0]
pextrw eax, xmm0, 6
test al, 1
jne 0x14017efc5
jmp 0x14017efe5
mov rax, qword [rbp + 0xb30]
mov rdx, qword [rbp + 0x3c8]
mov rcx, rdx
and rcx, 6
xor rdx, 6
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x3d0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14017effe
jmp 0x14017f045
mov rax, qword [rbp + 0xb30]
mov rcx, qword [rbp + 0x3c8]
and rcx, rcx
movabs rdx, 0x7385e2c5c55688b4
movabs r8, 0x8c7a1d3a3aa9774b
xor rdx, r8
xor rcx, rdx
mov edx, 7
and rdx, 7
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov dl, 0x20
xor dl, 0x20
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x380]
movaps xmm1, xmmword [rbp + 0x390]
movaps xmm2, xmmword [rbp + 0x3a0]
movaps xmm3, xmmword [rbp + 0x3b0]
mov rax, qword [rbp + 0x3c8]
mov ecx, eax
and ecx, 8
xor rax, 8
lea rax, [rax + rcx*2]
movaps xmm4, xmmword [0x1401a0e30]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 0x3e8], rax
movaps xmmword [rbp + 0x3f0], xmm3
movaps xmmword [rbp + 0x400], xmm2
movaps xmmword [rbp + 0x410], xmm1
movaps xmmword [rbp + 0x420], xmm0
jne 0x14017ec83
jmp 0x14017f0c1
mov rdx, qword [rbp + 0xa80]
mov rcx, qword [rbp + 0xb30]
mov rax, qword [rbp + 0x438]
mov r8, qword [rax]
mov qword [rbp + 0xd70], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0xd78], rax
lea r8, [rbp + 0xd70]
sub rsp, 0x20
call fcn.1400c8ea0
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0xef
xor dl, 0xef
mov al, 1
cmp cl, dl
mov byte [rbp + 0x445], al
jne 0x14017f2e9
mov rax, qword [rbp + 0xaf8]
mov rcx, qword [rbp + 0xb30]
mov rdx, qword [rcx + 0x10]
mov qword [rbp + 0xe20], rdx
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0xe10], xmm0
mov rdx, qword [rcx + 0x10]
mov qword [rax + 0x10], rdx
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
add rax, 0x10
mov qword [rbp + 0x370], rax
sub rsp, 0x20
lea rcx, [rbp + 0xe10]
call fcn.140047a83
mov rcx, qword [rbp + 0xaf8]
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov cl, byte [rcx + 0x10]
test cl, cl
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x37f], al
or al, cl
test al, 1
jne 0x14017f1de
mov rdx, qword [rbp + 0xb38]
mov rax, qword [rbp + 0xaf8]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xe00]
sub rsp, 0x20
call fcn.140021260
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x36f], al
jmp 0x14017f26d
mov al, byte [rbp + 0x37f]
test al, 1
jne 0x14017f1f1
jmp 0x14017f1fe
mov al, 1
mov byte [rbp + 0x536], al
jmp 0x14017f306
lea rcx, [rbp + 0xd60]
sub rsp, 0x20
call fcn.140077226
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov rax, qword [rbp + 0xd60]
mov qword [rbp + 0x358], rax
mov rax, qword [rbp + 0xd68]
mov qword [rbp + 0x360], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x445], al
jne 0x14017f2e9
mov rax, qword [rbp + 0x620]
mov rcx, qword [rbp + 0x360]
mov rdx, qword [rbp + 0x358]
mov qword [rbp + 0xe00], rdx
mov qword [rax], rcx
xor eax, eax
mov byte [rbp + 0x36f], al
mov rcx, qword [rbp + 0x370]
mov al, byte [rbp + 0x36f]
mov byte [rbp + 0x357], al
mov cl, byte [rcx]
test cl, cl
sete cl
test al, al
setne al
or al, cl
test al, 1
jne 0x14017f2fa
mov rdx, qword [rbp + 0xb40]
mov rax, qword [rbp + 0xe00]
mov qword [rdx], rax
mov rax, qword [rbp + 0xe08]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xea0]
sub rsp, 0x20
call fcn.14001b13e
add rsp, 0x20
lea rcx, [rbp + 0xe00]
sub rsp, 0x20
call fcn.1400143a4
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x445], al
mov al, byte [rbp + 0x445]
mov byte [rbp + 0x536], al
jmp 0x14017f306
mov al, byte [rbp + 0x357]
mov byte [rbp + 0x536], al
mov rax, qword [rbp + 0x620]
mov rcx, qword [rbp + 0xc20]
mov dl, byte [rbp + 0x536]
mov byte [rbp + 0x347], dl
mov dl, 0xe5
xor dl, 0xe5
mov byte [rcx], dl
mov rax, qword [rax]
mov qword [rbp + 0x348], rax
cmp rax, 0
je 0x14017f380
mov rax, qword [rbp + 0x348]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14017f380
mov rcx, qword [rbp + 0x348]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0xaf8]
sub rsp, 0x20
call fcn.140047a9a
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x346], al
jne 0x14017f5b1
lea rcx, [rbp + 0xe10]
sub rsp, 0x20
call fcn.140047a9a
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0xa3
xor dl, 0xa3
mov al, 1
cmp cl, dl
mov byte [rbp + 0x346], al
jne 0x14017f5b1
mov rax, qword [rbp + 0x748]
mov rax, qword [rax]
mov qword [rbp + 0x338], rax
cmp rax, 0
je 0x14017f47e
mov rax, qword [rbp + 0x338]
mov rax, qword [rax]
movabs rdx, 0x6a982f4aef7f199e
movabs rcx, 0x2a982f4aef7f199e
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xa4cca92973647fb8
movabs r8, 0x5b3356d68c9b8047
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
movabs rcx, 0xc69882e755978df3
movabs rdx, 0xc69882e755978df3
xor rcx, rdx
cmp rax, rcx
jne 0x14017f47e
mov rcx, qword [rbp + 0x338]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
lea rcx, [rbp + 0xe30]
sub rsp, 0x20
call fcn.140047a9a
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0xa4
xor dl, 0xa4
mov al, 1
cmp cl, dl
mov byte [rbp + 0x346], al
jne 0x14017f5b1
lea rcx, [rbp + 0xe50]
sub rsp, 0x20
call fcn.140047a9a
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x346], al
jne 0x14017f5b1
mov rax, qword [rbp + 0x8c8]
mov rax, qword [rax]
mov qword [rbp + 0x330], rax
cmp rax, 0
je 0x14017f529
mov rcx, qword [rbp + 0x330]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14017f529
mov rcx, qword [rbp + 0x330]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0xae0]
sub rsp, 0x20
call fcn.140047a9a
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x346], al
jne 0x14017f5b1
mov rcx, qword [rbp + 0xad8]
sub rsp, 0x20
call fcn.140047a9a
mov rcx, qword [rbp + 0xc20]
mov al, byte [rbp + 0x347]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xab
xor dl, 0xab
mov r8b, 0xe7
xor r8b, 0xe6
mov byte [rbp + 0x32e], r8b
cmp cl, dl
mov byte [rbp + 0x32f], al
je 0x14017f5a5
mov al, byte [rbp + 0x32e]
mov byte [rbp + 0x32f], al
mov al, byte [rbp + 0x32f]
mov byte [rbp + 0x346], al
mov rax, qword [rbp + 0xc20]
mov rcx, qword [rbp + 0xa80]
mov dl, byte [rbp + 0x346]
mov byte [rbp + 0x32d], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400c85b6
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017f602
mov al, byte [rbp + 0x32d]
mov rcx, qword [rbp + 0xc20]
mov byte [rcx], al
cmp al, 0
je 0x14017f716
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x320], rax
mov ax, word [rax + 0x12]
mov cx, 0x6e94
xor cx, 0x6e95
cmp ax, cx
jle 0x14017f706
mov rax, qword [rbp + 0x320]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x14017f706
mov rax, qword [rbp + 0xc20]
mov cl, 0x94
xor cl, 0x94
mov byte [rax], cl
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xab0]
add rsp, 0x20
mov qword [rcx], 0
mov rdx, qword [rax + 0x10]
xor eax, eax
mov r8b, al
xor r8b, 0
and r8b, 1
sub rsp, 0x20
call fcn.140019683
mov rax, qword [rbp + 0xab0]
add rsp, 0x20
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14008afaa
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x36
xor cl, 0x36
cmp al, cl
jne 0x14017f71b
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
add rcx, 0x10
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0x38]
xor r8d, r8d
sub rsp, 0x20
call fcn.140019683
add rsp, 0x20
mov rax, qword [rbp + 0xc20]
cmp byte [rax], 0
jne 0x14017f71b
jmp 0x14017f729
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov rax, qword [rbp + 0xc08]
mov qword [rax], 3
mov ecx, 3
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.1400143b4
mov rcx, qword [rbp + 0xab8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc40]
mov qword [rax], rdx
mov word [rcx], 0x8fe
sub rsp, 0x20
call fcn.140064a51
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov qword [rbp + 0x300], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rax, qword [rbp + 0xb50]
mov rcx, qword [rbp + 0x300]
mov rdx, qword [0x1401a19b0]
mov r8, qword [rdx]
mov qword [rbp + 0xd50], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xd58], rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov r8, qword [rbp + 0xaa8]
mov rcx, qword [rbp + 0xb48]
add rsp, 0x20
mov rax, qword [rbp + 0xb50]
mov rdx, qword [rbp + 0xd50]
mov qword [rbp + 0xeb0], rdx
mov rdx, qword [rbp + 0xd58]
mov qword [rbp + 0xeb8], rdx
mov rdx, qword [rax]
mov qword [r8], rdx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rdx, [rbp + 0xeb0]
sub rsp, 0x20
call fcn.14004973b
mov rax, qword [rbp + 0xb48]
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x2f0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x2f8], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rcx, qword [rbp + 0xac0]
mov rdx, qword [rbp + 0x2f8]
mov r8, qword [rbp + 0x2f0]
mov rax, qword [rbp + 0xc40]
mov rax, qword [rax]
mov qword [rax + 8], r8
mov qword [rax + 0x10], rdx
mov ax, 0x389d
xor ax, 0x3f25
mov word [rcx], ax
sub rsp, 0x20
call fcn.140064a51
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov qword [rbp + 0x2e8], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rcx, qword [rbp + 0xb58]
mov rax, qword [rbp + 0x2e8]
mov rdx, qword [0x1401a19b0]
mov r8, qword [rdx]
mov qword [rcx], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 8], rdx
mov rcx, qword [rax]
mov qword [rbp + 0xd30], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd38], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rdx, qword [rbp + 0xaa0]
add rsp, 0x20
mov rax, qword [rbp + 0xb58]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
mov rax, qword [rbp + 0xd30]
mov qword [rbp + 0xec0], rax
mov rax, qword [rbp + 0xd38]
mov qword [rbp + 0xec8], rax
lea rcx, [rbp + 0xd40]
lea r8, [rbp + 0xec0]
sub rsp, 0x20
call fcn.14004973b
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov rax, qword [rbp + 0xd40]
mov qword [rbp + 0x2d8], rax
mov rax, qword [rbp + 0xd48]
mov qword [rbp + 0x2e0], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rcx, qword [rbp + 0xac8]
mov rdx, qword [rbp + 0x2e0]
mov r8, qword [rbp + 0x2d8]
mov rax, qword [rbp + 0xc40]
mov rax, qword [rax]
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rdx
mov ax, 0xeda
xor ax, 0x5e5
mov word [rcx], ax
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x2d0], rcx
mov dl, byte [rax]
mov r8b, 0xd3
xor r8b, 0xd3
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rax, qword [rbp + 0xb68]
mov rdx, qword [rbp + 0xb60]
mov rcx, qword [rbp + 0x2d0]
mov r8, qword [0x1401a19d0]
mov r9, qword [r8]
mov qword [rdx], r9
mov r8, qword [r8 + 8]
mov qword [rdx + 8], r8
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xb60]
mov r8, qword [rbp + 0xa98]
add rsp, 0x20
mov rax, qword [rbp + 0xb68]
mov rdx, qword [rcx]
mov qword [rbp + 0xed0], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xed8], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0xd20]
lea rdx, [rbp + 0xed0]
sub rsp, 0x20
call fcn.14004973b
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov rax, qword [rbp + 0xd20]
mov qword [rbp + 0x2c0], rax
mov rax, qword [rbp + 0xd28]
mov qword [rbp + 0x2c8], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rax, qword [rbp + 0xc10]
mov rdx, qword [rbp + 0x2c8]
mov r8, qword [rbp + 0x2c0]
mov rcx, qword [rbp + 0xc40]
mov rcx, qword [rcx]
mov qword [rbp + 0x2b0], rcx
mov qword [rcx + 0x28], r8
mov qword [rcx + 0x30], rdx
mov rax, qword [rax]
mov qword [rbp + 0x2b8], rax
cmp rax, 0
je 0x14017fdb2
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0xc28]
mov rdx, qword [rbp + 0xc08]
mov r8, qword [rbp + 0x2b0]
add r8, 8
mov qword [rbp + 0x288], r8
mov r8, qword [rdx]
mov rcx, qword [rcx]
xor edx, edx
test r8, r8
cmovg rdx, r8
mov qword [rbp + 0x290], rdx
add rcx, 8
mov qword [rbp + 0x298], rcx
movabs rcx, 0xe4603941d4b53056
movabs rdx, 0xe4603941d4b53056
xor rcx, rdx
cmp rax, rcx
setg al
mov byte [rbp + 0x2a7], al
xor eax, eax
mov qword [rbp + 0x2a8], rax
mov rcx, qword [rbp + 0x290]
mov rax, qword [rbp + 0x2a8]
mov qword [rbp + 0x280], rax
cmp rax, rcx
je 0x14017fd59
mov rcx, qword [rbp + 0x2b8]
mov rax, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x280]
shl rdx, 4
add rax, rdx
mov qword [rbp + 0x278], rax
cmp qword [rax], rcx
jne 0x14017fcc3
mov cl, byte [rbp + 0x2a7]
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 8]
add rax, 8
mov qword [rbp + 0x268], rax
xor eax, eax
test cl, 1
mov qword [rbp + 0x270], rax
jne 0x14017fc9b
jmp 0x14017fd48
mov rcx, qword [rbp + 0x2b8]
mov rax, qword [rbp + 0x260]
movabs rdx, 0xd37793e91eb59002
add rax, rdx
movabs rdx, 0xfb8aff1c31845c2c
movabs r8, 0xfb8aff1c31845c2d
xor rdx, r8
add rax, rdx
movabs rdx, 0xd37793e91eb59002
sub rax, rdx
cmp rax, rcx
mov qword [rbp + 0x270], rax
je 0x14017fd48
mov rcx, qword [rbp + 0x298]
mov rax, qword [rbp + 0x268]
mov rdx, qword [rbp + 0x270]
mov qword [rbp + 0x260], rdx
mov al, byte [rax + rdx]
cmp al, byte [rcx + rdx]
je 0x14017fc49
mov r8, qword [rbp + 0x280]
movabs rcx, 0xa8dffd6063c56309
movabs rax, 0xa8dffd6063c56308
xor rcx, rax
mov rax, r8
add rax, rcx
movabs rcx, 0xbbb02d14c11c8429
movabs rdx, 0x444fd2eb3ee37bd6
xor rcx, rdx
xor r8, rcx
mov rdx, rax
xor rdx, r8
movabs rcx, 0xa718ef4ca813189b
movabs r9, 0x58e710b357ece764
xor rcx, r9
xor rdx, rcx
mov rcx, rax
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x2a8], rax
jge 0x14017fbcc
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov rax, qword [rbp + 0x280]
cmp rax, 0
jge 0x14017fdb2
mov rcx, qword [rbp + 0xc10]
mov rax, qword [rcx]
mov qword [rbp + 0xd10], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xd18], rax
sub rsp, 0x20
call fcn.1400143a4
mov rcx, qword [rbp + 0xc08]
mov rdx, qword [rbp + 0xb70]
add rsp, 0x20
mov rax, qword [rbp + 0xd10]
mov qword [rdx], rax
mov rax, qword [rbp + 0xd18]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov rax, qword [rbp + 0xc18]
mov rax, qword [rax]
mov qword [rbp + 0x258], rax
movabs rcx, 0x873a92a9e286442d
movabs rdx, 0x873a92a9e286442d
xor rcx, rdx
cmp rax, rcx
je 0x1401800a2
mov rax, qword [rbp + 0x258]
mov rcx, qword [rbp + 0xc30]
mov rdx, qword [rbp + 0xc08]
mov r8, qword [rbp + 0xc40]
mov r10, qword [r8]
mov r8, r10
add r8, 8
xor r9d, r9d
cmp r10, 0
cmove r8, r9
mov qword [rbp + 0x230], r8
mov r8, qword [rdx]
mov rcx, qword [rcx]
xor edx, edx
test r8, r8
cmovg rdx, r8
mov qword [rbp + 0x238], rdx
add rcx, 8
mov qword [rbp + 0x240], rcx
movabs rcx, 0xbf39a692faa3f331
movabs rdx, 0xbf39a692faa3f331
xor rcx, rdx
cmp rax, rcx
setg al
mov byte [rbp + 0x24f], al
xor eax, eax
mov qword [rbp + 0x250], rax
mov rcx, qword [rbp + 0x238]
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x228], rax
cmp rax, rcx
je 0x140180049
mov rcx, qword [rbp + 0x258]
mov rax, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x228]
shl rdx, 4
add rax, rdx
mov qword [rbp + 0x220], rax
cmp qword [rax], rcx
jne 0x14017ff56
mov cl, byte [rbp + 0x24f]
mov rax, qword [rbp + 0x220]
mov rax, qword [rax + 8]
add rax, 8
mov qword [rbp + 0x210], rax
xor eax, eax
test cl, 1
mov qword [rbp + 0x218], rax
jne 0x14017ff2e
jmp 0x140180038
mov rcx, qword [rbp + 0x258]
mov rax, qword [rbp + 0x208]
movabs rdx, 0xc483b2840596b1d6
movabs r8, 0x2486cf756ac9545f
xor rdx, r8
add rax, rdx
add rax, 1
movabs rdx, 0xe0057df16f5fe589
sub rax, rdx
cmp rax, rcx
mov qword [rbp + 0x218], rax
je 0x140180038
mov rcx, qword [rbp + 0x240]
mov rax, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x218]
mov qword [rbp + 0x208], rdx
mov al, byte [rax + rdx]
cmp al, byte [rcx + rdx]
je 0x14017fee5
mov rcx, qword [rbp + 0x228]
mov rax, rcx
add rax, 1
movabs rdx, 0xfcedb3fbb1fe0d23
movabs r8, 0x3124c044e01f2dc
xor rdx, r8
mov r8, rcx
xor r8, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
and r8, rdx
movabs rdx, 0x1ffd236311ac79c4
movabs r9, 0xe002dc9cee53863b
xor rdx, r9
movabs r9, 0x2f0c1c99939fa4fc
movabs r10, 0xd0f3e3666c605b03
xor r9, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
or r8, rdx
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rdx, 0x24dcdac7147a21ec
movabs r9, 0xdb232538eb85de13
xor rdx, r9
movabs r9, 0x1ad79a5e87ab06ef
movabs r10, 0xe52865a17854f910
xor r9, r10
xor rdx, r9
and rcx, rdx
or r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rax
add rdx, 1
mov rcx, rax
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x250], rax
jge 0x14017fe68
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov rax, qword [rbp + 0x228]
cmp rax, 0
jge 0x1401800a2
mov rax, qword [rbp + 0xb78]
mov rcx, qword [rbp + 0xc18]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.1400143a4
mov rax, qword [rbp + 0xb78]
mov rcx, qword [rbp + 0xc08]
mov rdx, qword [rbp + 0xb80]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov qword [rbp + 0xe90], 1
movabs rcx, 0x2437a7721e21bbef
movabs rax, 0x2437a7721e21bbee
xor rcx, rax
movabs rdx, 0xf2959fc296424ada
movabs rax, 0xf2959fc296424ad2
xor rdx, rax
movabs r8, 0xdfa8620302a805b2
movabs rax, 0xdfa8620302a805ba
xor r8, rax
sub rsp, 0x20
call fcn.1400143b4
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc48]
mov qword [rax], rcx
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.140024940
mov rcx, qword [rbp + 0xad0]
add rsp, 0x20
mov qword [rbp + 0x1f8], rax
mov word [rcx], 0x5f9
sub rsp, 0x20
call fcn.140064a51
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov qword [rbp + 0x200], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rcx, qword [rbp + 0xb88]
mov rdx, qword [rbp + 0xb90]
mov rax, qword [rbp + 0x200]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140024b17
mov rcx, qword [rbp + 0xb88]
mov rax, qword [rbp + 0x1f8]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0xac
sub rsp, 0x20
call fcn.140064d99
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0xc20]
mov dword [rcx + 0x10], edx
mov dl, byte [rax]
mov r8b, 0x76
xor r8b, 0x76
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov cx, 0xf1e3
xor cx, 0xf432
sub rsp, 0x20
call fcn.140064d99
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0xc20]
mov dword [rbp + 0x1f4], ecx
mov dl, byte [rax]
mov r8b, 0x26
xor r8b, 0x26
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov cx, 0xc87c
xor cx, 0xc07d
sub rsp, 0x20
call fcn.140064d99
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov dword [rbp + 0x1f0], eax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov ecx, dword [rbp + 0x1f0]
mov edx, dword [rbp + 0x1f4]
movsxd r8, edx
movsxd rax, ecx
imul rax, r8
mov qword [rbp + 0x1d8], rax
cvtsi2sd xmm0, edx
cvtsi2sd xmm1, ecx
mulsd xmm0, xmm1
movsd qword [rbp + 0x1e0], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x1e8], xmm1
ucomisd xmm0, xmm1
jne 0x1401802d7
jp 0x1401802d7
jmp 0x140180351
movsd xmm1, qword [rbp + 0x1e0]
movsd xmm0, qword [rbp + 0x1e8]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x1e0]
movsd qword [rbp + 0x1d0], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x1d0]
add rsp, 0x20
movsd xmm2, qword [0x1401a0e40]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140180351
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov rax, qword [rbp + 0x1d8]
movabs rcx, 0x2a0fdd7403352163
movabs rdx, 0xd5f0228b83352163
xor rcx, rdx
movabs rdx, 0x67d7f1e20243cfd3
movabs r8, 0x98280e1dfdbc302c
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xe8aab677714d10e8
movabs r8, 0xe8aab677714d10e8
xor rdx, r8
movabs r8, 0xb928bae38a301dc1
movabs r9, 0xb928bae38a301dc0
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
movabs rcx, 0xd4281a1a1b61ff9d
movabs rdx, 0x2bd7e5e51b61ff9d
xor rcx, rdx
cmp rax, rcx
jae 0x1401803fb
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov cx, 0x850b
xor cx, 0x82f1
sub rsp, 0x20
call fcn.140064d99
mov rdx, qword [rbp + 0xc20]
add rsp, 0x20
mov dword [rbp + 0x1cc], eax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
movsd xmm0, qword [rbp + 0x1e8]
mov ecx, dword [rbp + 0x1cc]
mov rax, qword [rbp + 0x1d8]
movsxd r9, ecx
movabs r8, 0x5bd9d000d4034a80
movabs rdx, 0xa4262fff2bfcb57f
xor r8, rdx
mov rdx, rax
xor rdx, r8
mov r8, r9
and r8, rdx
movabs rdx, 0x6c8733ccac76516
movabs r10, 0xf9378cc335389ae9
xor rdx, r10
mov r10, r9
xor r10, rdx
mov rdx, rax
and rdx, r10
imul rdx, r8
mov r8, rax
and r8, r9
or rax, r9
imul rax, r8
add rax, rdx
mov qword [rbp + 0x1b0], rax
cvtsi2sd xmm1, ecx
mulsd xmm0, xmm1
movsd qword [rbp + 0x1b8], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x1c0], xmm1
ucomisd xmm0, xmm1
jne 0x1401804e3
jp 0x1401804e3
jmp 0x14018055d
movsd xmm1, qword [rbp + 0x1b8]
movsd xmm0, qword [rbp + 0x1c0]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x1b8]
movsd qword [rbp + 0x1a8], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x1a8]
add rsp, 0x20
movsd xmm2, qword [0x1401a0e40]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14018055d
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov rax, qword [rbp + 0x1b0]
xor ecx, ecx
sub rcx, 0xffffffff80000000
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14018059e
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rbp + 0xc48]
mov rdx, qword [rbp + 0x1b0]
mov dword [rcx + 0x14], edx
mov rax, qword [rax]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0xea0]
movabs rcx, 0xdbafcbbeab680374
movabs rdx, 0xdbafcbbeab680374
xor rcx, rdx
cmp rax, rcx
je 0x140180ac1
movabs rcx, 0x941db2de0f1a98d2
movabs rax, 0x941db2de0f1a98ca
xor rcx, rax
movabs rdx, 0x502c01d1523f83ae
movabs rax, 0x502c01d1523f83a6
xor rdx, rax
sub rsp, 0x20
call fcn.140024940
mov rcx, qword [rbp + 0xba0]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xb98]
mov qword [rbp + 0x198], rdx
mov qword [rax], 0
mov qword [rax + 8], 0
mov ax, 0x722f
xor ax, 0x72cf
mov word [rcx], ax
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x1a0], rcx
cmp byte [rax], 0
jne 0x140180ab3
mov rcx, qword [rbp + 0xb98]
mov rax, qword [rbp + 0x1a0]
mov r8, qword [rax]
mov rdx, qword [rbp + 0xea0]
movabs rax, 0xe58dc4d19acadea9
movabs r9, 0xe58dc4d19acadea9
xor rax, r9
sub rax, rdx
xor edx, edx
sub rdx, r8
add rax, rdx
movabs rdx, 0xe6b6b099fddea478
movabs r8, 0xe6b6b099fddea478
xor rdx, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x1a0]
mov rdx, qword [rbp + 0xba8]
mov rcx, qword [rbp + 0xb98]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140181bf1
mov rcx, qword [rbp + 0xb98]
add rsp, 0x20
mov rax, qword [rbp + 0xea0]
mov qword [rbp + 0xd00], rax
mov rax, qword [rbp + 0xea8]
mov qword [rbp + 0xd08], rax
lea rdx, [rbp + 0xd00]
sub rsp, 0x20
call fcn.140181bf1
mov rcx, qword [rbp + 0xb98]
mov rax, qword [rbp + 0x198]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov cx, 0xec6
xor cx, 0x75b
sub rsp, 0x20
call fcn.140064d99
mov rcx, qword [rbp + 0x198]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0xc20]
mov dword [rcx + 0x10], edx
cmp byte [rax], 0
jne 0x140180ab3
mov ecx, 0x916
sub rsp, 0x20
call fcn.140064d99
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0xc20]
mov dword [rbp + 0x194], ecx
cmp byte [rax], 0
jne 0x140180ab3
mov ecx, 0x48a
sub rsp, 0x20
call fcn.140064d99
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0xc20]
mov dword [rbp + 0x190], ecx
mov al, byte [rax]
mov cl, 0x31
xor cl, 0x31
cmp al, cl
jne 0x140180ab3
mov ecx, dword [rbp + 0x190]
mov edx, dword [rbp + 0x194]
movsxd r8, edx
movsxd rax, ecx
imul rax, r8
mov qword [rbp + 0x178], rax
cvtsi2sd xmm0, edx
cvtsi2sd xmm1, ecx
mulsd xmm0, xmm1
movsd qword [rbp + 0x180], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x188], xmm1
ucomisd xmm0, xmm1
jne 0x14018083b
jp 0x14018083b
jmp 0x1401808b8
movsd xmm1, qword [rbp + 0x180]
movsd xmm0, qword [rbp + 0x188]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x180]
movsd qword [rbp + 0x170], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x178]
add rsp, 0x20
movsd xmm2, qword [0x1401a0e40]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb al
mov ecx, edx
movsxd rcx, ecx
sub rcx, rdx
setne cl
or al, cl
test al, 1
jne 0x140180aa6
jmp 0x1401808ec
mov rax, qword [rbp + 0x178]
movabs rcx, 0x4b9923dfb7d39401
movabs rdx, 0xb466dc2037d39401
xor rcx, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jb 0x140180aa6
mov ecx, 0x16f
sub rsp, 0x20
call fcn.140064d99
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0xc20]
mov dword [rbp + 0x16c], ecx
mov al, byte [rax]
mov cl, 0x31
xor cl, 0x31
cmp al, cl
jne 0x140180ab3
movsd xmm0, qword [rbp + 0x188]
mov ecx, dword [rbp + 0x16c]
mov rax, qword [rbp + 0x178]
movsxd r9, ecx
movabs r8, 0x5ee9ce89c6d9be60
movabs rdx, 0xa11631763926419f
xor r8, rdx
mov rdx, rax
xor rdx, r8
mov r8, r9
and r8, rdx
movabs rdx, 0x5037e6156bc0f8a9
movabs r10, 0xafc819ea943f0756
xor rdx, r10
mov r10, r9
xor r10, rdx
mov rdx, rax
and rdx, r10
imul rdx, r8
mov r8, rax
and r8, r9
or rax, r9
imul rax, r8
add rax, rdx
mov qword [rbp + 0x150], rax
cvtsi2sd xmm1, ecx
mulsd xmm0, xmm1
movsd qword [rbp + 0x158], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x160], xmm1
ucomisd xmm0, xmm1
jne 0x1401809c7
jp 0x1401809c7
jmp 0x140180a5c
movsd xmm1, qword [rbp + 0x158]
movsd xmm0, qword [rbp + 0x160]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x158]
movsd qword [rbp + 0x148], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x150]
add rsp, 0x20
movsd xmm2, qword [0x1401a0e40]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb al
mov r8, 0xffffffff80000000
mov rcx, rdx
and rcx, r8
or rdx, r8
add rcx, rdx
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x140180aa6
jmp 0x140180a7c
mov rax, qword [rbp + 0x150]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jb 0x140180aa6
mov rdx, qword [rbp + 0x198]
mov rax, qword [rbp + 0x150]
mov dword [rdx + 0x14], eax
lea rcx, [rbp + 0xe90]
sub rsp, 0x20
call fcn.14002faaf
add rsp, 0x20
jmp 0x140180ac1
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov ecx, 0x7e4
sub rsp, 0x20
call fcn.14006493c
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov qword [rbp + 0x140], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x318], rax
jne 0x140181935
mov rcx, qword [rbp + 0x140]
mov rax, qword [rbp + 0xbe0]
mov r8, qword [rbp + 0xbd0]
mov r9, qword [rbp + 0xbc8]
mov rdx, qword [rbp + 0xc08]
mov rdx, qword [rdx]
lea r10, [rbp + 0xce8]
add r10, 8
mov qword [rbp + 0xe8], r10
lea r10, [rbp + 0xcc0]
add r10, 8
mov qword [rbp + 0xf0], r10
lea r10, [rbp + 0xcb0]
add r10, 8
mov qword [rbp + 0xf8], r10
add r9, 8
mov qword [rbp + 0x100], r9
add r8, 8
mov qword [rbp + 0x108], r8
lea r8, [rbp + 0xc90]
add r8, 8
mov qword [rbp + 0x110], r8
lea r8, [rbp + 0xc80]
add r8, 8
mov qword [rbp + 0x118], r8
add rax, 8
mov qword [rbp + 0x120], rax
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rbp + 0x128], rax
xor eax, eax
mov qword [rbp + 0x130], rcx
mov qword [rbp + 0x138], rax
mov rcx, qword [rbp + 0x128]
mov rdx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rdx
cmp rax, rcx
je 0x14018176b
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xc08]
mov rcx, qword [rcx]
mov qword [rbp + 0xd0], rcx
cmp rax, rcx
jl 0x140180c44
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xd0]
movabs rax, 0x8a8ce7ea841daaa9
movabs r8, 0x757318157be25556
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xc40]
mov rax, qword [rax]
shl rcx, 4
lea rdx, [rax + rcx + 8]
mov qword [rbp + 0xb8], rdx
movups xmm0, xmmword [rax + rcx + 8]
movaps xmmword [rbp + 0xcd0], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0xce8]
lea rdx, [rbp + 0xcd0]
call fcn.140024b17
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xf0]
add rsp, 0x20
mov rdx, qword [rbp + 0xce8]
mov rcx, qword [rcx]
mov qword [rbp + 0xcc0], rdx
mov qword [rax], rcx
sub rsp, 0x20
lea rcx, [rbp + 0xcc0]
call fcn.1400b688e
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov dl, al
mov rax, qword [rbp + 0xe0]
mov cl, byte [rcx]
movzx edx, dl
mov r8d, 0x1e
sub r8d, edx
test cl, cl
mov edx, 0x1c
cmove edx, r8d
mov dword [rbp + 0xc0], edx
sub edx, 0x1c
mov byte [rbp + 0xc7], cl
mov qword [rbp + 0xc8], rax
je 0x14018160c
jmp 0x140180d0c
mov rax, qword [rbp + 0xe0]
mov ecx, dword [rbp + 0xc0]
sub ecx, 0x1d
mov qword [rbp + 0xb0], rax
jne 0x14018163b
jmp 0x140180d2e
mov rdx, qword [rbp + 0xbb8]
mov rax, qword [rbp + 0xe90]
mov qword [rdx], rax
mov rax, qword [rbp + 0xe98]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xcb0]
sub rsp, 0x20
call fcn.140115b42
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov rdx, qword [rbp + 0xcb0]
mov qword [rbp + 0xa0], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xa8], rcx
mov al, byte [rax]
mov cl, 0xda
xor cl, 0xda
cmp al, cl
jne 0x14018162d
mov rdx, qword [rbp + 0xbc8]
mov rcx, qword [rbp + 0xbc0]
mov rax, qword [rbp + 0x100]
mov r8, qword [rbp + 0xa8]
mov r9, qword [rbp + 0xa0]
mov r10, qword [rbp + 0xb8]
mov r11, qword [r10]
mov qword [rcx], r11
mov r10, qword [r10 + 8]
mov qword [rcx + 8], r10
mov qword [rdx], r9
mov qword [rax], r8
mov r8d, 1
sub rsp, 0x20
call fcn.14010836c
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x98], rcx
mov al, byte [rax]
mov cl, 0x74
xor cl, 0x74
cmp al, cl
jne 0x14018162d
mov rcx, qword [rbp + 0xbb0]
mov word [rcx], 0x486
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x90], rcx
mov al, byte [rax]
mov cl, 0x1c
xor cl, 0x1c
cmp al, cl
jne 0x14018162d
mov word [rbp + 0xcfe], 0x882
lea rcx, [rbp + 0xcfe]
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x88], rcx
mov al, byte [rax]
mov cl, 0x68
xor cl, 0x68
cmp al, cl
jne 0x14018162d
mov rax, qword [rbp + 0xbd8]
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x90]
mov r8, qword [rdx]
mov qword [rbp + 0xca0], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xca8], rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rdx, qword [rbp + 0xa90]
mov rcx, qword [rbp + 0xbd0]
add rsp, 0x20
mov rax, qword [rbp + 0xbd8]
mov r8, qword [rbp + 0xca0]
mov qword [rdx], r8
mov r8, qword [rbp + 0xca8]
mov qword [rdx + 8], r8
mov r8, qword [rax]
mov qword [rbp + 0xee0], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0xee8], rax
lea r8, [rbp + 0xee0]
sub rsp, 0x20
call fcn.14004973b
mov rdx, qword [rbp + 0xbd0]
mov rcx, qword [rbp + 0x108]
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x78], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x80], rcx
mov al, byte [rax]
mov cl, 0x1f
xor cl, 0x1f
cmp al, cl
jne 0x14018162d
mov rdx, qword [rbp + 0xe0]
lea rcx, [rbp + 0xc90]
sub rsp, 0x20
call fcn.140006408
mov rdx, qword [rbp + 0x110]
mov rcx, qword [rbp + 0xc20]
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov r8, qword [rbp + 0xc90]
mov qword [rbp + 0x60], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x68], rdx
mov cl, byte [rcx]
mov dl, 0x7e
xor dl, 0x7e
cmp cl, dl
mov qword [rbp + 0x70], rax
jne 0x140181525
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x60]
xor rax, 0xffffffffffffffff
movabs rcx, 0xdc17f99ad4cf8b28
movabs r8, 0xdc17f99ad4cf8b28
xor rcx, r8
movabs r8, 0xbeb6846f98cb178f
movabs r9, 0xbeb6846f98cb178e
xor r8, r9
sub rcx, r8
sub rax, rcx
sub rdx, rax
lea rcx, [rbp + 0xc80]
sub rsp, 0x20
call fcn.140021f70
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0x48], rax
mov rdx, qword [rdx]
mov qword [rbp + 0x50], rdx
movabs rdx, 0x3d32dd216db9c19a
movabs r8, 0x3d32dd216db9c19a
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x58], rax
jle 0x14018118f
mov rcx, qword [rbp + 0x78]
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x40], rax
movabs rdx, 0xce34d4debcdf7831
movabs r8, 0x31cb2b21432087ce
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140181094
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp + 0x58], rax
jmp 0x14018118f
mov rax, qword [rbp + 0x40]
cmp rax, 0
jge 0x1401810ce
mov rcx, qword [rbp + 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp + 0x58], rax
jmp 0x14018118f
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x50]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x28], rcx
add rax, 8
mov qword [rbp + 0x30], rax
xor eax, eax
mov qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x38], rax
jne 0x1401810f6
mov r8, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
add rax, r8
mov r9, rax
xor r9, rcx
xor r9, 0xffffffffffffffff
mov rdx, rcx
and rdx, r9
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov rdx, rax
xor rdx, r8
and rcx, rdx
movabs rdx, 0x7f98be3d084cb659
movabs r8, 0x7f98be3d084cb659
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x58], rax
jge 0x14018118f
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp + 0x58], rax
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x18], rax
movabs rdx, 0x2c834a2ad6dbd2b
movabs r8, 0x2c834a2ad6dbd2b
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x20], rax
jle 0x140181394
mov rcx, qword [rbp + 0x60]
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 + 0x10], rax
xor rcx, 0xffffffffffffffff
or rax, rax
xor rax, 0xffffffffffffffff
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x8ca0e7b5050f467a
movabs r8, 0x735f184afaf0b985
xor rdx, r8
xor rax, rdx
movabs rdx, 0x9d65d70f5f04c658
movabs r8, 0x629a28f0a0fb39a7
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140181249
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x20], rax
jmp 0x140181394
mov rax, qword [rbp + 0x10]
movabs rcx, 0xc795724f820345ca
movabs rdx, 0xc795724f820345ca
xor rcx, rdx
cmp rax, rcx
jge 0x140181299
mov rcx, qword [rbp + 0x10]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x20], rax
jmp 0x140181394
mov rax, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x50]
add rcx, 8
add rcx, rdx
mov qword [rbp - 8], rcx
add rax, 8
mov qword [rbp], rax
xor eax, eax
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp - 8]
mov r8, qword [rbp]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
xor eax, eax
mov r8d, eax
sub r8, rcx
movabs rax, 0x3314519cc664cf0f
movabs r9, 0x3314519cc664cf0f
xor rax, r9
movabs r9, 0xffe36da69c5980ba
movabs r10, 0xffe36da69c5980bb
xor r9, r10
sub rax, r9
add r8, rax
xor eax, eax
sub rax, r8
cmp rcx, rdx
mov qword [rbp + 8], rax
jne 0x1401812be
mov r8, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x18]
movabs rcx, 0x44b4f9c69d3fba81
movabs rax, 0x44b4f9c69d3fba81
xor rcx, rax
sub rcx, r8
mov rax, rdx
sub rax, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, r8
and rcx, rdx
movabs rdx, 0x98170c9c36ae6cc3
movabs r8, 0x98170c9c36ae6cc3
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x20], rax
jge 0x140181394
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0xbe8]
mov r8, qword [rbp + 0xbe0]
mov rax, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x50]
mov r10, qword [rbp + 0xa88]
mov r9, qword [rbp + 0x20]
mov r10, qword [r10]
add r10, 0x18
mov qword [rbp - 0x18], r10
mov qword [r8], r9
mov qword [rax], rdx
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x98]
mov r8, qword [rbp + 0xbe0]
mov rax, qword [rbp + 0xbe8]
add rsp, 0x20
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140108086
mov rcx, qword [rbp + 0xc20]
add rsp, 0x30
mov rax, qword [rbp + 0xe0]
mov cl, byte [rcx]
mov dl, 3
xor dl, 3
cmp cl, dl
mov qword [rbp - 0x10], rax
jne 0x1401814bf
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
add rax, 1
movabs r8, 0x3285c3340efd21c4
movabs rdx, 0xcd7a3ccbf102de3b
xor r8, rdx
mov rdx, rcx
xor rdx, r8
and rdx, 0xffffffffffffffff
movabs r8, 0xfffa067363872075
movabs r9, 0x5f98c9c78df8a
xor r8, r9
movabs r9, 0xe7941c01538ee1e3
movabs r10, 0x186be3feac711e1c
xor r9, r10
xor r8, r9
and rcx, r8
or rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x10], rax
jge 0x1401814bf
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
cmp rcx, 0
mov qword [rbp + 0x70], rax
je 0x140181525
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
movabs rdx, 0x8c53480ba8897efb
movabs r8, 0xcc53480ba8897efb
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x70], rax
jne 0x140181525
mov rcx, qword [rbp + 0x68]
sub rsp, 0x20
call fcn.1400121d0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x70]
mov qword [rbp - 0x28], rcx
cmp rax, 0
je 0x1401815f2
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
movabs rcx, 0x2df7374ad6220e26
movabs rdx, 0xd208c8b529ddf1d9
xor rcx, rdx
xor rax, rcx
movabs rdx, 0xe48f6f2e15dd8f62
movabs rcx, 0xa48f6f2e15dd8f62
xor rdx, rcx
movabs rcx, 0x60357d4dbe22e29b
movabs r8, 0x9fca82b241dd1d64
xor rcx, r8
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0xdee0cc4df0f19e15
xor rcx, r8
or rax, rdx
movabs rdx, 0xdee0cc4df0f19e15
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xe298b1841b7886a7
movabs rdx, 0xe298b1841b7886a7
xor rcx, rdx
cmp rax, rcx
jne 0x1401815f2
mov rcx, qword [rbp + 0x80]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0xc20]
mov cl, byte [rcx]
mov byte [rbp + 0xc7], cl
mov qword [rbp + 0xc8], rax
mov cl, byte [rbp + 0xc7]
mov rax, qword [rbp + 0xc8]
mov dl, 0x2a
xor dl, 0x2a
cmp cl, dl
mov qword [rbp + 0xb0], rax
je 0x14018163b
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov r8, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xb0]
movabs rdx, 0x1f7126da180d2fe1
movabs rax, 0x245935760edd7e7
xor rdx, rax
mov rax, r8
sub rax, rdx
add rax, 1
movabs rdx, 0x1d34b58d78e0f806
add rax, rdx
mov r9, r8
xor r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
movabs rdx, 0xa1cdb129ee32d62c
movabs r10, 0x5e324ed611cd29d3
xor rdx, r10
and rdx, r9
shl rdx, 1
movabs r9, 0xe2803b382824efd5
movabs r10, 0x1d7fc4c7d7db102a
xor r9, r10
sub rdx, r9
sub r8, rdx
movabs r9, 0x271640fa2b41baab
movabs rdx, 0xd8e9bf05d4be4554
xor r9, rdx
mov rdx, rax
xor rdx, r9
mov r9, rax
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, r8
movabs r9, 0xf75ad7ae7657cabd
movabs r10, 0x8a5285189a83542
xor r9, r10
xor r8, r9
movabs r9, 0x1e13a43e18433ac3
movabs r10, 0xe1ec5bc1e7bcc53c
xor r9, r10
xor rdx, r9
movabs r9, 0x36799b8998a67eaf
movabs r10, 0xc986647667598150
xor r9, r10
xor r8, r9
and rdx, r8
cmp rdx, 0
mov qword [rbp + 0x130], rcx
mov qword [rbp + 0x138], rax
jge 0x140180bb4
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov cx, 0xdb01
xor cx, 0xde3d
sub rsp, 0x20
call fcn.14006493c
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp - 0x30], rcx
mov dl, byte [rax]
mov r8b, 0x2e
xor r8b, 0x2e
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rax, qword [rbp - 0x30]
mov rcx, rax
and rcx, 0xffffffff80000000
movabs rdx, 0x54abbb588b0dc12a
movabs r8, 0x54abbb588b0dc128
xor rdx, r8
imul rcx, rdx
movabs rdx, 0xf0bbb7a24a03c911
movabs r8, 0xf44485dca03c911
xor rdx, r8
xor rax, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140181837
mov rcx, qword [rbp - 0x30]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x318], rax
jmp 0x140181935
mov ecx, 0x10
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
mov rcx, qword [rbp + 0xbf8]
add rsp, 0x20
mov rdx, rax
mov qword [rbp - 0x48], rdx
sub rsp, 0x20
call fcn.14007277b
mov rcx, qword [rbp + 0xbf8]
mov rdx, qword [rbp + 0xc20]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov r8, qword [rcx]
mov qword [rbp - 0x40], r8
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x38], rcx
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov r8, qword [rbp + 0xc00]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov qword [r8], rcx
mov qword [r8 + 8], rax
mov ecx, 0x3773f954
xor ecx, 0x35968878
sub rsp, 0x20
call fcn.14008c940
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rdx
mov dl, byte [rcx]
mov r8b, 0xa9
xor r8b, 0xa9
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
jne 0x140181952
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp + 0xa88]
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.14002aca5
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp + 0x318], rax
mov rcx, qword [rbp + 0xc20]
mov rax, qword [rbp + 0x318]
mov cl, byte [rcx]
mov byte [rbp + 0x30f], cl
mov qword [rbp + 0x310], rax
mov rax, qword [rbp + 0xc20]
mov dl, byte [rbp + 0x30f]
mov rcx, qword [rbp + 0x310]
mov byte [rbp - 0x52], dl
mov r8b, 0xa2
xor r8b, 0xa2
cmp dl, r8b
sete dl
mov byte [rbp - 0x51], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.140179350
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x52
xor cl, 0x52
cmp al, cl
jne 0x140181b31
mov rax, qword [rbp + 0xe90]
mov qword [rbp + 0xc70], rax
mov rax, qword [rbp + 0xe98]
mov qword [rbp + 0xc78], rax
lea rcx, [rbp + 0xc70]
sub rsp, 0x20
call fcn.1400f67be
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe3
xor cl, 0xe3
cmp al, cl
jne 0x140181b31
mov rax, qword [rbp + 0xc08]
mov rcx, qword [rax]
mov qword [rbp + 0xc60], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc68], rax
lea rcx, [rbp + 0xc60]
sub rsp, 0x20
call fcn.1400208b6
mov rax, qword [rbp + 0xc38]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x140181a6c
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140181a6c
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xc30]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x140181ab0
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140181ab0
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xc28]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140181b1a
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
movabs rcx, 0xab2dcde1719ed29a
movabs rdx, 0xeb2dcde1719ed29a
xor rcx, rdx
and rax, rcx
movabs rcx, 0x43a2356669f212d9
movabs rdx, 0x43a2356669f212d9
xor rcx, rdx
cmp rax, rcx
jne 0x140181b1a
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp - 0x51]
mov rcx, qword [rbp + 0xc20]
mov dl, byte [rbp - 0x52]
mov byte [rcx], dl
test al, 1
jne 0x140181bd0
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov ax, word [rax + 0x12]
mov cx, 0x1aa7
xor cx, 0x1aa6
cmp ax, cx
jle 0x140181bd0
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x54285c8f
xor ecx, 0x802d1509
cmp eax, ecx
jne 0x140181bd0
mov rax, qword [rbp + 0xc20]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14017b44a
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008afaa
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x5b
xor cl, 0x5b
cmp al, cl
jne 0x140181bd0
sub rsp, 0x20
call fcn.14017b4b1
add rsp, 0x20
movaps xmm6, xmmword [rbp + 0xef0]
movaps xmm7, xmmword [rbp + 0xf00]
movaps xmm8, xmmword [rbp + 0xf10]
lea rsp, [rbp + 0xf20]
pop rdi
pop rsi
pop rbp
ret