Function at 0x140115d6f
Capabilities:
Encode data using xor
Encrypt data using aes mixcolumns step

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd48
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xcb0], xmm8
movaps xmmword [rbp + 0xca0], xmm7
movaps xmmword [rbp + 0xc90], xmm6
mov qword [rbp + 0x8d0], r8
mov qword [rbp + 0x8d8], rdx
mov qword [rbp + 0x8e0], rcx
mov eax, 0x10
mov qword [rbp + 0x9e0], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x8e8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x8f0], rax
mov eax, 0x30
mov qword [rbp + 0x9c8], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x8f8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x900], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9c8]
mov rcx, rsp
mov qword [rbp + 0x908], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x910], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x918], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x920], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x928], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x930], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x938], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x940], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x948], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x950], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x958], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x960], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x968], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x970], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9c8]
mov rcx, rsp
mov qword [rbp + 0x978], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x980], rax
mov eax, 0x20
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x988], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x990], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x998], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x9a0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x9a8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x9b0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x9b8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x9c0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9c8]
mov rcx, rsp
mov qword [rbp + 0x9d0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x9d8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x9e0]
mov rcx, rsp
mov qword [rbp + 0x9e8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x9f0], rax
mov rax, qword [0x1401a1928]
mov qword [rbp + 0x9f8], rax
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x9f8]
mov qword [rbp + 0xa00], rcx
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x14019ffb0]
movaps xmm1, xmmword [0x14019ffc0]
movaps xmm2, xmmword [0x14019ffd0]
movaps xmm3, xmmword [0x14019ffe0]
xor eax, eax
mov qword [rbp + 0xa08], rax
movaps xmmword [rbp + 0xa10], xmm3
movaps xmmword [rbp + 0xa20], xmm2
movaps xmmword [rbp + 0xa30], xmm1
movaps xmmword [rbp + 0xa40], xmm0
jmp 0x140116160
mov rax, qword [rbp + 0xa08]
movaps xmm2, xmmword [rbp + 0xa10]
movaps xmm7, xmmword [rbp + 0xa20]
movaps xmm8, xmmword [rbp + 0xa30]
movaps xmm5, xmmword [rbp + 0xa40]
movaps xmmword [rbp + 0x870], xmm5
movaps xmmword [rbp + 0x880], xmm8
movaps xmmword [rbp + 0x890], xmm7
movaps xmmword [rbp + 0x8a0], xmm2
mov qword [rbp + 0x8b8], rax
movaps xmm6, xmmword [0x14019fff0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0000]
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 + 0x8c0], xmm1
movd eax, xmm0
test al, 1
jne 0x140116285
jmp 0x140116297
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x8b8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x8c0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x1401162b2
jmp 0x14011631e
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x8b8]
movabs r8, 0x7a0f923a1965c0cb
movabs rdx, 0x7a0f923a1965c0ca
xor r8, rdx
movabs rdx, 0x5d703dc85961a69
movabs r9, 0xfa28fc237a69e596
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
movabs r9, 0xb2d157f499bf614c
movabs r8, 0xb2d157f499bf614d
xor r9, r8
mov r8, rcx
xor r8, r9
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x8c0]
pextrw eax, xmm0, 2
test al, 1
jne 0x140116337
jmp 0x140116351
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x8b8]
or rcx, 2
mov dl, 0x9a
xor dl, 0x9a
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x8c0]
pextrw eax, xmm0, 3
test al, 1
jne 0x14011636a
jmp 0x1401163b6
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp + 0x8b8]
mov rcx, rdx
or rcx, 3
movabs r8, 0xe4f04d792ddf5bc0
movabs r9, 0x1b0fb286d220a43f
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 3
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x8c0]
pextrw eax, xmm0, 4
test al, 1
jne 0x1401163cf
jmp 0x140116405
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp + 0x8b8]
mov rcx, rdx
and rcx, 4
movabs r8, 0xc59257536e9ed4e1
movabs r9, 0xc59257536e9ed4e5
xor r8, r9
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x8c0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14011641e
jmp 0x140116438
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x8b8]
or rcx, 5
mov dl, 0x71
xor dl, 0x71
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x8c0]
pextrw eax, xmm0, 6
test al, 1
jne 0x140116451
jmp 0x1401164c6
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x8b8]
and rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x23ec9c460b58393
movabs r8, 0x23ec9c460b58395
xor rdx, r8
movabs r8, 0x5d1490a651b9dc8e
movabs r9, 0xa2eb6f59ae462371
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 6
or rdx, r8
and rcx, rdx
movabs rdx, 0xbde6460783d4a01f
movabs r8, 0x4219b9f87c2b5fe0
xor rdx, r8
xor rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x8c0]
pextrw eax, xmm0, 7
test al, 1
jne 0x1401164df
jmp 0x1401165d1
mov rax, qword [rbp + 0x8d0]
mov rsi, qword [rbp + 0x8b8]
movabs rcx, 0x1356ce981ad5987a
movabs rdx, 0xeca93167e52a6785
xor rcx, rdx
mov rdx, rsi
xor rdx, rcx
movabs r8, 0xd1d37118abe04404
movabs rcx, 0xd1d37118abe04403
xor r8, rcx
movabs rcx, 0xcb0e419028bde602
movabs r9, 0x34f1be6fd74219fd
xor rcx, r9
xor r8, rcx
mov r9, 0xffffffffffffffff
movabs rcx, 0xa98aef2c7cc64e3a
xor r9, rcx
movabs r10, 0xe81660cd618bd9ca
movabs rcx, 0x419c8fe11d4d97f0
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r9
movabs r11, 0xa98aef2c7cc64e3a
mov r10, r8
and r10, r11
movabs r11, 0x41f9b1a1d5f0289b
movabs rdi, 0x41f9b1a1d5f0289c
xor r11, rdi
and r11, r9
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x30ed59c52b27cbb2
movabs r10, 0x9967b6e957e18588
xor r8, r10
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0xdc
xor dl, 0xdc
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x870]
movaps xmm1, xmmword [rbp + 0x880]
movaps xmm2, xmmword [rbp + 0x890]
movaps xmm3, xmmword [rbp + 0x8a0]
mov rax, qword [rbp + 0x8b8]
add rax, 8
movaps xmm4, xmmword [0x1401a0010]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp + 0xa08], rax
movaps xmmword [rbp + 0xa10], xmm3
movaps xmmword [rbp + 0xa20], xmm2
movaps xmmword [rbp + 0xa30], xmm1
movaps xmmword [rbp + 0xa40], xmm0
jne 0x140116160
jmp 0x140116644
mov r8, qword [rbp + 0xa00]
mov rcx, qword [rbp + 0x8e8]
mov rdx, qword [rbp + 0x8f0]
mov rax, qword [rbp + 0x8e0]
add r8, 0x60
mov qword [rbp + 0x860], r8
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.140024b17
mov rax, qword [rbp + 0x8e8]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0xc80], rcx
mov qword [rbp + 0xc88], rax
sub rsp, 0x20
lea rcx, [rbp + 0xc80]
call fcn.1400b688e
mov rcx, qword [rbp + 0xa00]
add rsp, 0x20
mov r8b, byte [rcx + 0x60]
xor ecx, ecx
mov r9b, cl
test r8b, r8b
sete cl
and cl, al
mov edx, 0x49cab66f
xor edx, 0x49cab66c
mov eax, 0x13c9b712
xor eax, 0x13c9b710
cmp r8b, r9b
cmove eax, edx
test cl, 1
mov dword [rbp + 0x86c], eax
jne 0x1401166f5
jmp 0x14011c5f7
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x858], rax
mov rax, qword [rbp + 0x858]
mov rcx, qword [rbp + 0x8f8]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
mov rcx, 0xffffffffffffffff
xor rcx, 0x10
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
movabs rcx, 0x76fc9b81e74b67be
movabs rdx, 0x76fc9b81e74b678e
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x858], rax
jne 0x140116714
mov rsi, qword [rbp + 0x8d8]
mov rdi, qword [rbp + 0x978]
mov rbx, qword [rbp + 0x968]
mov r14, qword [rbp + 0x960]
mov r15, qword [rbp + 0x958]
mov r12, qword [rbp + 0x950]
mov r13, qword [rbp + 0x948]
lea rax, [rbp + 0xc70]
add rax, 8
mov qword [rbp + 0x6b0], rax
movabs rax, 0xb5cc91b740847c3f
movabs rcx, 0xb5cc91b740847c3e
xor rax, rcx
mov qword [rbp + 0xc70], rax
movabs rcx, 0x679b7e1445af0286
movabs rax, 0x679b7e1445af0287
xor rcx, rax
movabs rdx, 0x65871a0a3664b948
movabs rax, 0x65871a0a3664b958
xor rdx, rax
movabs r8, 0x7ae09f57ac23d60b
movabs rax, 0x7ae09f57ac23d603
xor r8, rax
sub rsp, 0x20
call fcn.1400143b4
mov rcx, qword [rbp + 0x900]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x8e0]
mov qword [rbp + 0xc78], rdx
mov rdx, qword [rax]
mov qword [rbp + 0xc60], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc68], rax
lea rdx, [rbp + 0xc60]
sub rsp, 0x20
call fcn.140024b17
mov rax, qword [rbp + 0x900]
mov r11, qword [rbp + 0x8f8]
mov r10, qword [rbp + 0x988]
mov r9, qword [rbp + 0x8d0]
mov r8, qword [rbp + 0x998]
add rsp, 0x20
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, qword [rbp + 0xc78]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x9a8]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 0x9a0]
mov rax, qword [rbp + 0x920]
add rax, 8
mov qword [rbp + 0x6b8], rax
lea rax, [rbp + 0xc10]
add rax, 8
mov qword [rbp + 0x6c0], rax
lea rax, [rbp + 0xc00]
add rax, 8
mov qword [rbp + 0x6c8], rax
mov rax, qword [rbp + 0x928]
add rax, 8
mov qword [rbp + 0x6d0], rax
mov rax, qword [rbp + 0x908]
add rax, 2
mov qword [rbp + 0x6d8], rax
lea rax, [rbp + 0xbf0]
add rax, 8
mov qword [rbp + 0x6e0], rax
lea rax, [rbp + 0xbe0]
add rax, 8
mov qword [rbp + 0x6e8], rax
mov rax, qword [rbp + 0x908]
add rax, 8
mov qword [rbp + 0x6f0], rax
mov rax, qword [rbp + 0x910]
add rax, 0x10
mov qword [rbp + 0x6f8], rax
mov rax, qword [rbp + 0x910]
add rax, 0x18
mov qword [rbp + 0x700], rax
mov rax, qword [rbp + 0x910]
add rax, 8
mov qword [rbp + 0x708], rax
mov rax, qword [rbp + 0x910]
add rax, 0x20
mov qword [rbp + 0x710], rax
mov rax, qword [rbp + 0x910]
add rax, 0x28
mov qword [rbp + 0x718], rax
lea rax, [rbp + 0xbd0]
add rax, 8
mov qword [rbp + 0x720], rax
lea rax, [rbp + 0xbc0]
add rax, 8
mov qword [rbp + 0x728], rax
mov rax, qword [rbp + 0x930]
add rax, 8
mov qword [rbp + 0x730], rax
lea rax, [rbp + 0xc20]
add rax, 8
mov qword [rbp + 0x738], rax
mov rax, qword [rbp + 0x9c0]
add r13, 8
mov qword [rbp + 0x740], r13
add r12, 8
mov qword [rbp + 0x748], r12
add r15, 8
mov qword [rbp + 0x750], r15
lea r15, [rbp + 0xb70]
add r15, 8
mov qword [rbp + 0x758], r15
lea r15, [rbp + 0xb80]
add r15, 8
mov qword [rbp + 0x760], r15
lea r15, [rbp + 0xb80]
add r15, 0x10
mov qword [rbp + 0x768], r15
add r14, 8
mov qword [rbp + 0x770], r14
add rbx, 8
mov qword [rbp + 0x778], rbx
lea rbx, [rbp + 0xb60]
add rbx, 8
mov qword [rbp + 0x780], rbx
lea rbx, [rbp + 0xb80]
add rbx, 0x18
mov qword [rbp + 0x788], rbx
lea rbx, [rbp + 0xb80]
add rbx, 0x20
mov qword [rbp + 0x790], rbx
lea rbx, [rbp + 0xb80]
add rbx, 0x28
mov qword [rbp + 0x798], rbx
lea rbx, [rbp + 0xc30]
add rbx, 0x18
mov qword [rbp + 0x7a0], rbx
lea rbx, [rbp + 0xb40]
add rbx, 8
mov qword [rbp + 0x7a8], rbx
add rdi, 8
mov qword [rbp + 0x7b0], rdi
add rsi, 8
mov qword [rbp + 0x7b8], rsi
mov rsi, r11
add rsi, 0x18
mov qword [rbp + 0x7c0], rsi
add r11, 8
mov qword [rbp + 0x7c8], r11
add r10, 0x10
mov qword [rbp + 0x7d0], r10
add r9, 0x20
mov qword [rbp + 0x7d8], r9
lea r9, [rbp + 0xad0]
add r9, 8
mov qword [rbp + 0x7e0], r9
lea r9, [rbp + 0xac0]
add r9, 8
mov qword [rbp + 0x7e8], r9
add r8, 8
mov qword [rbp + 0x7f0], r8
lea r8, [rbp + 0xab0]
add r8, 8
mov qword [rbp + 0x7f8], r8
lea r8, [rbp + 0xae0]
add r8, 8
mov qword [rbp + 0x800], r8
lea r8, [rbp + 0xae0]
add r8, 0x10
mov qword [rbp + 0x808], r8
lea r8, [rbp + 0xaa0]
add r8, 8
mov qword [rbp + 0x810], r8
add rdx, 8
mov qword [rbp + 0x818], rdx
add rcx, 8
mov qword [rbp + 0x820], rcx
lea rcx, [rbp + 0xae0]
add rcx, 0x18
mov qword [rbp + 0x828], rcx
lea rcx, [rbp + 0xae0]
add rcx, 0x20
mov qword [rbp + 0x830], rcx
lea rcx, [rbp + 0xae0]
add rcx, 0x28
mov qword [rbp + 0x838], rcx
add rax, 8
mov qword [rbp + 0x840], rax
lea rax, [rbp + 0xa90]
add rax, 8
mov qword [rbp + 0x848], rax
lea rax, [rbp + 0xa70]
add rax, 0x10
mov qword [rbp + 0x850], rax
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0x6a8], rax
cmp rax, 0
jg 0x140116c17
mov rax, qword [rbp + 0x860]
mov al, byte [rax]
mov byte [rbp + 0x6a7], al
jmp 0x14011c50d
mov rcx, qword [rbp + 0x6b0]
mov rax, qword [rbp + 0x6a8]
xor edx, edx
sub rdx, 0xffffffffffffffff
sub rax, rdx
mov qword [rbp + 0x690], rax
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp + 0x680], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x688], rax
sub rsp, 0x20
call fcn.1400143a4
mov rdx, qword [rbp + 0x690]
add rsp, 0x20
lea rcx, [rbp + 0xc70]
sub rsp, 0x20
call fcn.14001eb93
add rsp, 0x20
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x698], rax
mov rcx, qword [rbp + 0x698]
xorps xmm0, xmm0
movups xmmword [rbp + rcx + 0xc30], xmm0
movabs rdx, 0xe2be070d5da3549a
movabs rax, 0xe2be070d5da3548a
xor rdx, rax
mov rax, rcx
and rax, rdx
or rcx, 0x10
add rax, rcx
cmp rax, 0x30
mov qword [rbp + 0x698], rax
jne 0x140116c9f
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x678], rax
mov rax, qword [rbp + 0x678]
xorps xmm0, xmm0
movups xmmword [rbp + rax + 0xc30], xmm0
movabs rcx, 0x53bae6b08928e1fc
movabs rdx, 0x53bae6b08928e1ec
xor rcx, rdx
add rax, rcx
movabs rcx, 0xeaa42be5108304e4
movabs rdx, 0xeaa42be5108304d4
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x678], rax
jne 0x140116d05
mov rcx, qword [rbp + 0x920]
mov rdx, qword [rbp + 0x680]
movabs rax, 0xfe3966ea0926da0e
movabs r8, 0x46e4707beb1fa2c1
xor rax, r8
add rdx, rax
movabs rax, 0x2791c53e7fd549ee
movabs r8, 0x2791c53e7fd549ea
xor rax, r8
add rdx, rax
movabs rax, 0xb8dd1691e23978cf
sub rdx, rax
mov qword [rbp + 0x650], rdx
sub rsp, 0x20
call fcn.140021f70
mov rcx, qword [rbp + 0x920]
mov rax, qword [rbp + 0x6b8]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0x658], rcx
mov rax, qword [rax]
mov qword [rbp + 0x660], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x668], rax
xor eax, eax
mov qword [rbp + 0x670], rax
mov rcx, qword [rbp + 0x670]
mov rax, qword [rbp + 0x668]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
mov rdx, rcx
and rdx, 1
movabs rax, 0x757b458bb59f85be
movabs r8, 0x757b458bb59f85bc
xor rax, r8
imul rdx, rax
mov rax, rcx
xor rax, 1
add rax, rdx
cmp rcx, 4
mov qword [rbp + 0x670], rax
jne 0x140116df4
mov rdx, qword [rbp + 0x658]
mov rax, rdx
add rax, 4
movabs rcx, 0x6ebf0ed522b614ff
movabs r8, 0x9140f12add49eb00
xor rcx, r8
mov r8, rdx
xor r8, rcx
movabs rcx, 0x790d23bbfea22ebf
movabs r9, 0x86f2dc44015dd140
xor rcx, r9
xor r8, rcx
and r8, 0xffffffffffffffff
movabs rcx, 0xa0873641917b0dd4
movabs r9, 0xa0873641917b0dd6
xor rcx, r9
imul rcx, r8
movabs r8, 0x417f1da704fd1636
movabs r9, 0xbe80e258fb02e9c9
xor r8, r9
sub rcx, r8
sub rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x6c69f30246c90c22
movabs r8, 0x6c69f30246c90c22
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x648], rax
jge 0x140116f16
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x658]
add rsp, 0x20
mov qword [rbp + 0x648], rax
mov rcx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x648]
mov qword [rbp + 0x630], rax
cmp rcx, 0
setg cl
mov byte [rbp + 0x63f], cl
test cl, 1
mov qword [rbp + 0x640], rax
jne 0x140116f4d
jmp 0x14011720d
mov rcx, qword [rbp + 0x680]
movabs rdx, 0x3647210244eef5a4
movabs rax, 0x3647210244eef5a4
xor rdx, rax
movabs rax, 0xe90cb91c78892d07
movabs r8, 0xe90cb91c78892d06
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x628], rax
movabs rdx, 0x3753fb9c2b5cc813
movabs r8, 0xc8ac0463d4a337ec
xor rdx, r8
mov r8, rcx
and r8, rdx
movabs rdx, 0x214491a2af84240b
movabs r9, 0x214491a2af842409
xor rdx, r9
imul rdx, r8
movabs r8, 0x9d2c6b4e1c917054
movabs r9, 0x62d394b1e36e8fab
xor r8, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
movabs rcx, 0x9c65f903037a570c
movabs rdx, 0x9c65f903037a570c
xor rcx, rdx
cmp rax, rcx
jge 0x14011702a
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x630]
add rsp, 0x20
mov qword [rbp + 0x640], rax
jmp 0x14011720d
mov rax, qword [rbp + 0x628]
movabs rcx, 0xce72d8b6e55ef964
movabs rdx, 0xce72d8b6e55ef964
xor rcx, rdx
cmp rax, rcx
jge 0x1401170a6
mov rcx, qword [rbp + 0x628]
movabs rdx, 0x27fa955e40896a4d
movabs rax, 0x27fa955e40896a4d
xor rdx, rax
movabs r8, 0xc7fe7ae7f3445405
movabs rax, 0xb80185180cbbabfa
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x630]
add rsp, 0x20
mov qword [rbp + 0x640], rax
jmp 0x14011720d
mov rax, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x630]
mov rcx, qword [rbp + 0x660]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x610], rcx
add rax, 8
mov qword [rbp + 0x618], rax
xor eax, eax
mov qword [rbp + 0x620], rax
mov rcx, qword [rbp + 0x620]
mov rdx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x610]
mov r8, qword [rbp + 0x618]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xd12a0dddef006b21
movabs rax, 0xd12a0dddef006b21
xor r8, rax
movabs rax, 0xb073ef15cd757048
movabs r9, 0xb073ef15cd757049
xor rax, r9
sub r8, rax
mov rax, rcx
sub rax, r8
cmp rcx, rdx
mov qword [rbp + 0x620], rax
jne 0x1401170dd
mov rcx, qword [rbp + 0x680]
mov r9, qword [rbp + 0x630]
mov rax, r9
add rax, rcx
mov rdx, rax
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r8, r9
or r8, r8
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x2d2b461ae9f56df5
movabs r10, 0xd2d4b9e5160a920a
xor r8, r10
xor rdx, r8
mov r8, rax
or r8, r9
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r9, 0xa742cd27a5cac5a0
movabs r10, 0x58bd32d85a353a5f
xor r9, r10
xor r8, r9
and rdx, r8
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0xfdce815583f08b0f
movabs r8, 0xfdce815583f08b0f
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x640], rax
jge 0x14011720d
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x630]
add rsp, 0x20
mov qword [rbp + 0x640], rax
mov rax, qword [rbp + 0x640]
mov qword [rbp + 0x600], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x660]
mov r8, qword [rbp + 0x600]
add rsp, 0x20
movabs r9, 0xe8286225173ffbac
movabs rdx, 0xe8286225173ffbac
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x608], rcx
mov al, byte [rax + 0x60]
mov cl, 0x69
xor cl, 0x69
cmp al, cl
jne 0x14011730f
mov rax, qword [rbp + 0x600]
movabs rcx, 0xc8c439eb307aa9a4
movabs rdx, 0xc8c439eb307aa9a4
xor rcx, rdx
cmp rax, rcx
jge 0x1401172ed
mov rcx, qword [rbp + 0x600]
movabs rdx, 0x2baa6aad34c627e7
movabs rax, 0x2baa6aad34c627e7
xor rdx, rax
movabs r8, 0x7709b616a3e5d282
movabs rax, 0x8f649e95c1a2d7d
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14011730f
mov r8, qword [rbp + 0x600]
mov rdx, qword [rbp + 0x608]
lea rcx, [rbp + 0xc10]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x860]
mov rcx, qword [rbp + 0x6c0]
mov rdx, qword [rbp + 0xc10]
mov qword [rbp + 0x5d0], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x5d8], rcx
mov cl, byte [rax]
mov dl, 0x53
xor dl, 0x53
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x5e0], rcx
mov rcx, rax
mov qword [rbp + 0x5e8], rcx
mov rcx, rax
mov qword [rbp + 0x5f0], rcx
mov qword [rbp + 0x5f8], rax
jne 0x14011befb
mov rax, qword [rbp + 0x5d0]
movabs rcx, 0x2f3eb2fc7b209e8f
movabs rdx, 0x2f3eb2fc7b209e8d
xor rcx, rdx
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x5d0]
movabs rdx, 0xba93fa7c2cfd9ead
mov rcx, r8
add rcx, rdx
movabs rdx, 0xa57ffb529aef9d52
movabs r9, 0x5a8004ad651062ad
xor rdx, r9
add rcx, rdx
movabs rdx, 0xb2c2a91ae1ec6dc2
movabs r9, 0x8515366cd11f36f
xor rdx, r9
sub rcx, rdx
mov qword [rbp + 0x5c8], rcx
mov rdx, rcx
xor rdx, r8
movabs r9, 0x4b047dc3495546af
movabs r10, 0xb4fb823cb6aab950
xor r9, r10
xor rdx, r9
mov r9, r8
and r9, rdx
movabs rdx, 0x130f856c8739e0a7
movabs r10, 0x130f856c8739e0a5
xor rdx, r10
imul rdx, r9
sub rdx, r8
sub rcx, rdx
movabs rdx, 0x6422ba1c5a9a623e
movabs r8, 0x6422ba1c5a9a623e
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 1
setg cl
mov al, cl
xor al, 0xff
mov r8b, 1
xor r8b, 0
xor cl, r8b
and al, cl
mov r8b, 1
xor r8b, 0
mov cl, dl
xor cl, r8b
mov r8b, 1
xor r8b, 0
xor dl, r8b
and cl, dl
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x1401174a1
mov rcx, qword [rbp + 0x5c8]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x5c0], rax
jmp 0x1401174f2
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x5d8]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0x2c
xor r8b, 0x2c
xor ecx, ecx
cmp dl, r8b
mov rdx, rcx
mov qword [rbp + 0x5e0], rdx
mov rdx, rcx
mov qword [rbp + 0x5e8], rdx
mov qword [rbp + 0x5f0], rcx
mov qword [rbp + 0x5f8], rax
jne 0x14011befb
mov rax, qword [rbp + 0x5c0]
mov qword [rbp + 0x5a0], rax
movabs rcx, 0x52152734dad0bcf9
movabs rdx, 0x52152734dad0bcf8
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x5a0]
mov qword [rbp + 0x5a8], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1401a0020]
mulsd xmm0, xmm1
movsd qword [rbp + 0x5b0], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x5b8], xmm1
ucomisd xmm0, xmm1
jne 0x140117563
jp 0x140117563
jmp 0x1401175d5
movsd xmm1, qword [rbp + 0x5b0]
movsd xmm0, qword [rbp + 0x5b8]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x5b0]
movsd qword [rbp + 0x588], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x588]
add rsp, 0x20
movsd xmm2, qword [0x1401a0028]
mulsd xmm1, xmm2
xor eax, eax
ucomisd xmm0, xmm1
mov rcx, rax
mov qword [rbp + 0x590], rcx
mov qword [rbp + 0x598], rax
jb 0x14011be9e
mov rdx, qword [rbp + 0x650]
mov rax, qword [rbp + 0x908]
mov rcx, qword [rbp + 0x5a8]
mov word [rax], cx
lea rcx, [rbp + 0xc00]
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x6c8]
add rsp, 0x20
mov rcx, qword [rbp + 0xc00]
mov qword [rbp + 0x568], rcx
mov rax, qword [rax]
mov qword [rbp + 0x570], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x578], rax
xor eax, eax
mov qword [rbp + 0x580], rax
mov rcx, qword [rbp + 0x580]
mov rax, qword [rbp + 0x578]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rdx, 0xf524d3f439ed8b32
movabs rax, 0xf524d3f439ed8b33
xor rdx, rax
mov rax, rcx
add rax, rdx
cmp rcx, 4
mov qword [rbp + 0x580], rax
jne 0x140117637
mov r8, qword [rbp + 0x568]
xor eax, eax
mov ecx, eax
sub rcx, r8
movabs rax, 0x4cac83859452dc87
movabs rdx, 0x4cac83859452dc87
xor rax, rdx
movabs rdx, 0xc172ab4f41efeca7
movabs r9, 0xc172ab4f41efeca3
xor rdx, r9
sub rax, rdx
add rcx, rax
movabs rax, 0xa6bcd28a94f9d67b
movabs rdx, 0xa6bcd28a94f9d67b
xor rax, rdx
sub rax, rcx
movabs rdx, 0x769097706c14bb6d
movabs rcx, 0x896f688f93eb4492
xor rdx, rcx
mov rcx, r8
xor rcx, rdx
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub r8, rcx
movabs rdx, 0x38ca8d9cf5378bb
movabs rcx, 0xfc73572630ac8744
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xb85e297afbfb383b
movabs r9, 0x47a1d6850404c7c4
xor rdx, r9
xor r8, rdx
movabs rdx, 0x6b0261ffde3d25e7
movabs r9, 0x4ad54cffc4b4aa0a
xor rdx, r9
movabs r9, 0xdebdc9397c1fc04e
movabs r10, 0x214236c683e03fb1
xor r9, r10
xor rdx, r9
or rcx, r8
movabs r8, 0x21d72d001a898fed
or rdx, r8
movabs r8, 0x809809f89d53e9e2
movabs r9, 0x7f67f60762ac161d
xor r8, r9
xor rcx, r8
and rcx, rdx
movabs rdx, 0xd97cbf16417cf86b
movabs r8, 0xd97cbf16417cf86b
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x560], rax
jge 0x1401177e4
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x568]
add rsp, 0x20
mov qword [rbp + 0x560], rax
mov cl, byte [rbp + 0x63f]
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x550], rax
test cl, 1
mov qword [rbp + 0x558], rax
jne 0x14011780d
jmp 0x140117af7
mov rax, qword [rbp + 0x680]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor ecx, ecx
sub rcx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rbp + 0x548], rcx
mov rdx, rax
and rdx, rdx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x798c5619d2aefd29
movabs r9, 0x8673a9e62d5102d6
xor r8, r9
xor rax, r8
or rdx, rax
movabs rax, 0xbad04913370b5edd
movabs r8, 0x452fb6ecc8f4a122
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1401178d9
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x550]
add rsp, 0x20
mov qword [rbp + 0x558], rax
jmp 0x140117af7
mov rax, qword [rbp + 0x548]
cmp rax, 0
jge 0x14011793f
mov rcx, qword [rbp + 0x548]
movabs rdx, 0xd1900b675c852106
movabs rax, 0xd1900b675c852106
xor rdx, rax
movabs r8, 0x1dd1da248cbff83a
movabs rax, 0x622e25db734007c5
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x550]
add rsp, 0x20
mov qword [rbp + 0x558], rax
jmp 0x140117af7
mov rax, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x550]
mov rcx, qword [rbp + 0x570]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x530], rcx
add rax, 8
mov qword [rbp + 0x538], rax
xor eax, eax
mov qword [rbp + 0x540], rax
mov rcx, qword [rbp + 0x540]
mov rdx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x530]
mov r8, qword [rbp + 0x538]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x540], rax
jne 0x140117976
mov rdx, qword [rbp + 0x680]
mov r9, qword [rbp + 0x550]
movabs rcx, 0xf154ed010dfa0315
movabs rax, 0xf154ed010dfa0315
xor rcx, rax
sub rcx, rdx
mov rax, r9
sub rax, rcx
mov rcx, rax
or rcx, rcx
movabs r8, 0xb5d64969541ce3dd
movabs r10, 0x4a29b696abe31c22
xor r8, r10
xor rcx, r8
movabs r10, 0xa83fef1d77a7ae4d
movabs r8, 0x57c010e2885851b2
xor r10, r8
mov r8, r9
xor r8, r10
movabs r11, 0xc2a7f25401bcc447
movabs r10, 0x3d580dabfe433bb8
xor r11, r10
mov r10, r9
xor r10, r11
and r8, r10
movabs r10, 0x73c3a7527d2a17c7
movabs r11, 0x8c3c58ad82d5e838
xor r10, r11
xor rcx, r10
xor r8, 0xffffffffffffffff
and rcx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
movabs r10, 0xcb72da06028d9ca9
movabs r11, 0x348d25f9fd726356
xor r10, r11
xor r9, r10
and r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
mov r8, rax
xor r8, rdx
mov rdx, rcx
add rdx, 1
movabs r9, 0xd3e67ea597fd4b4b
movabs r10, 0x2c19815a6802b4b4
xor r9, r10
xor rcx, r9
or rcx, r8
add rcx, rdx
movabs rdx, 0x49eb8e6473574bb6
movabs r8, 0x49eb8e6473574bb6
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x558], rax
jge 0x140117af7
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x550]
add rsp, 0x20
mov qword [rbp + 0x558], rax
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x520], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x570]
mov r8, qword [rbp + 0x520]
add rsp, 0x20
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0x528], rcx
cmp byte [rax + 0x60], 0
jne 0x140117bbd
mov rax, qword [rbp + 0x520]
movabs rcx, 0xe346f15244fe764b
movabs rdx, 0xe346f15244fe764b
xor rcx, rdx
cmp rax, rcx
jge 0x140117b9b
mov rcx, qword [rbp + 0x520]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x140117bbd
mov r8, qword [rbp + 0x520]
mov rdx, qword [rbp + 0x528]
mov rcx, qword [rbp + 0x928]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x5d8]
mov rcx, qword [rbp + 0x570]
mov r8, qword [rbp + 0x860]
mov rdx, qword [rbp + 0x6d0]
mov r9, qword [rbp + 0x928]
mov r9, qword [r9]
mov qword [rbp + 0x510], r9
mov rdx, qword [rdx]
mov qword [rbp + 0x518], rdx
xor edx, edx
cmp byte [r8], 0
mov r8, rdx
mov qword [rbp + 0x5e0], r8
mov qword [rbp + 0x5e8], rdx
mov qword [rbp + 0x5f0], rcx
mov qword [rbp + 0x5f8], rax
jne 0x14011befb
mov rax, qword [rbp + 0x510]
mov ecx, 2
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x510]
xor ecx, ecx
sub rcx, r8
movabs rdx, 0x36029f50faf1cedf
movabs r9, 0x36029f50faf1cedf
xor rdx, r9
movabs r9, 0x36865fe34b45755
movabs r10, 0xfc979a01cb4ba8aa
xor r9, r10
sub rdx, r9
add rcx, rdx
movabs rdx, 0xe1c4f7bd65429685
movabs r9, 0xe1c4f7bd65429685
xor rdx, r9
sub rdx, rcx
mov qword [rbp + 0x508], rdx
mov rcx, rdx
and rcx, rcx
movabs r9, 0xb5ee67f8945fe98
movabs r10, 0xf4a1198076ba0167
xor r9, r10
xor rcx, r9
and rcx, r8
movabs r9, 0x34f9ddc031d04f5f
movabs r10, 0xcb06223fce2fb0a0
xor r9, r10
xor rcx, r9
and r8, r8
movabs r9, 0xe7beb44080e5a986
movabs r10, 0x18414bbf7f1a5679
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0x5c4a1592f8ce6cf
movabs r9, 0xfa3b5ea6d0731930
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0xb213cfdc2d240a21
movabs r8, 0x4dec3023d2dbf5de
xor rdx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 1
setg al
and al, cl
test al, 1
jne 0x140117d5c
mov rcx, qword [rbp + 0x508]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x500], rax
jmp 0x140117db7
sub rsp, 0x20
call fcn.14000a590
mov r8, qword [rbp + 0x860]
mov rdx, qword [rbp + 0x518]
mov rcx, qword [rbp + 0x570]
mov rax, qword [rbp + 0x5d8]
add rsp, 0x20
mov r9b, byte [r8]
mov r10b, 0x9c
xor r10b, 0x9c
xor r8d, r8d
cmp r9b, r10b
mov qword [rbp + 0x5e0], r8
mov qword [rbp + 0x5e8], rdx
mov qword [rbp + 0x5f0], rcx
mov qword [rbp + 0x5f8], rax
jne 0x14011befb
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0x4e0], rax
movabs rcx, 0xed1ffae331f9122f
movabs rdx, 0xed1ffae331f9122e
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x4e0]
mov qword [rbp + 0x4e8], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1401a0020]
mulsd xmm0, xmm1
movsd qword [rbp + 0x4f0], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x4f8], xmm1
ucomisd xmm0, xmm1
jne 0x140117e28
jp 0x140117e28
jmp 0x140117ea3
movsd xmm1, qword [rbp + 0x4f0]
movsd xmm0, qword [rbp + 0x4f8]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x4f0]
movsd qword [rbp + 0x4d8], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x4d8]
mov rcx, qword [rbp + 0x518]
mov rax, qword [rbp + 0x570]
add rsp, 0x20
movsd xmm2, qword [0x1401a0028]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
mov qword [rbp + 0x590], rcx
mov qword [rbp + 0x598], rax
jb 0x14011be9e
mov rdx, qword [rbp + 0x650]
mov rax, qword [rbp + 0x6d8]
mov rcx, qword [rbp + 0x4e8]
mov r8w, 0x1fa3
xor r8w, 0x1fa1
add cx, r8w
mov word [rax], cx
lea rcx, [rbp + 0xbf0]
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x6e0]
add rsp, 0x20
mov rcx, qword [rbp + 0xbf0]
mov qword [rbp + 0x4b8], rcx
mov rax, qword [rax]
mov qword [rbp + 0x4c0], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x4c8], rax
xor eax, eax
mov qword [rbp + 0x4d0], rax
mov rcx, qword [rbp + 0x4d0]
mov rax, qword [rbp + 0x4c8]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rdx, 0xe2ffaa8da0a01d2c
movabs rax, 0xb89538fe7a7ac059
xor rdx, rax
mov rax, rcx
add rax, rdx
add rax, 1
movabs rdx, 0x72c48aac871bc3bf
movabs r8, 0x28ae18df5dc11eca
xor rdx, r8
sub rax, rdx
movabs rdx, 0xf215894ff864f78f
movabs r8, 0xf215894ff864f78b
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x4d0], rax
jne 0x140117f14
mov r8, qword [rbp + 0x4b8]
mov rax, r8
add rax, 4
movabs rcx, 0xb915b8dbeb9269fb
movabs rdx, 0x46ea4724146d9604
xor rcx, rdx
xor r8, rcx
mov rdx, rax
add rdx, 1
movabs r9, 0xeaea83cee565f7ef
movabs rcx, 0x15157c311a9a0810
xor r9, rcx
mov rcx, rax
xor rcx, r9
or rcx, r8
add rcx, rdx
movabs rdx, 0xf251b017a5d2c1bd
movabs r8, 0xf251b017a5d2c1bd
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x4b0], rax
jge 0x140118026
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x4b8]
add rsp, 0x20
mov qword [rbp + 0x4b0], rax
mov cl, byte [rbp + 0x63f]
mov rax, qword [rbp + 0x4b0]
mov qword [rbp + 0x4a0], rax
test cl, 1
mov qword [rbp + 0x4a8], rax
jne 0x14011804f
jmp 0x140118288
mov rcx, qword [rbp + 0x680]
mov rax, rcx
add rax, 1
mov qword [rbp + 0x498], rax
movabs rdx, 0xc685788ebe8a51de
movabs r8, 0x397a87714175ae21
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1401180ab
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
mov qword [rbp + 0x4a8], rax
jmp 0x140118288
mov rax, qword [rbp + 0x498]
cmp rax, 0
jge 0x140118111
mov rcx, qword [rbp + 0x498]
movabs rdx, 0x60de826338800a87
movabs rax, 0x60de826338800a87
xor rdx, rax
movabs r8, 0x224c38d2feaa6684
movabs rax, 0x5db3c72d0155997b
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
mov qword [rbp + 0x4a8], rax
jmp 0x140118288
mov rax, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x4a0]
mov rcx, qword [rbp + 0x4c0]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x480], rcx
add rax, 8
mov qword [rbp + 0x488], rax
xor eax, eax
mov qword [rbp + 0x490], rax
mov rcx, qword [rbp + 0x490]
mov rdx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x480]
mov r8, qword [rbp + 0x488]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x221316da106415da
movabs rax, 0xb2e0cff94e6deb10
xor r8, rax
mov rax, rcx
sub rax, r8
movabs r8, 0x6a607c0d0bb6c94f
movabs r9, 0x6a607c0d0bb6c94e
xor r8, r9
add rax, r8
movabs r8, 0xff76130124d64bae
movabs r9, 0x6f85ca227adfb564
xor r8, r9
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x490], rax
jne 0x140118148
mov rcx, qword [rbp + 0x680]
mov r8, qword [rbp + 0x4a0]
movabs rdx, 0x6098ad5eb1e23778
movabs rax, 0x6098ad5eb1e23778
xor rdx, rax
sub rdx, r8
xor eax, eax
sub rax, rcx
add rdx, rax
movabs rax, 0x1f0bd774500bca4f
movabs r9, 0x1f0bd774500bca4f
xor rax, r9
sub rax, rdx
mov rdx, rax
xor rdx, r8
mov r8, rax
xor r8, rcx
movabs rcx, 0xb7c6f384443d3a88
movabs r9, 0x48390c7bbbc2c577
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0x7e198782eedca328
movabs r8, 0x7e198782eedca328
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x4a8], rax
jge 0x140118288
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
mov qword [rbp + 0x4a8], rax
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x470], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x4c0]
mov r8, qword [rbp + 0x470]
add rsp, 0x20
movabs r9, 0xc858db5fd6c3d22e
movabs rdx, 0xc858db5fd6c3d22e
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x478], rcx
cmp byte [rax + 0x60], 0
jne 0x14011836e
mov rax, qword [rbp + 0x470]
cmp rax, 0
jge 0x14011834c
mov rcx, qword [rbp + 0x470]
movabs rdx, 0x2e12e79b0261f338
movabs rax, 0x2e12e79b0261f338
xor rdx, rax
movabs r8, 0x1dcedcaf2b2c892f
movabs rax, 0x62312350d4d376d0
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14011836e
mov r8, qword [rbp + 0x470]
mov rdx, qword [rbp + 0x478]
lea rcx, [rbp + 0xbe0]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x5d8]
mov rcx, qword [rbp + 0x570]
mov rdx, qword [rbp + 0x518]
mov r8, qword [rbp + 0x4c0]
mov r9, qword [rbp + 0x860]
mov r10, qword [rbp + 0x6e8]
mov r11, qword [rbp + 0xbe0]
mov qword [rbp + 0x460], r11
mov r10, qword [r10]
mov qword [rbp + 0x468], r10
mov r9b, byte [r9]
mov r10b, 0x64
xor r10b, 0x64
cmp r9b, r10b
mov qword [rbp + 0x5e0], r8
mov qword [rbp + 0x5e8], rdx
mov qword [rbp + 0x5f0], rcx
mov qword [rbp + 0x5f8], rax
jne 0x14011befb
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x860]
mov cl, byte [rax]
mov dl, 0x47
xor dl, 0x47
mov al, 1
cmp cl, dl
mov byte [rbp + 0x45f], al
jne 0x14011bf4d
mov rax, qword [rbp + 0x6f0]
mov r8, qword [rbp + 0x460]
mov rcx, qword [rbp + 0x468]
movabs r9, 0x14658882a2460590
movabs rdx, 0x14658882a2460590
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rax], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x450], rax
mov rax, qword [rbp + 0x450]
mov rcx, qword [rbp + 0x910]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
movabs rcx, 0x3d01f5af803554bd
movabs rdx, 0x3d01f5af803554bd
xor rcx, rdx
sub rcx, rax
movabs rax, 0xba23230db698383c
movabs rdx, 0xba23230db698383c
xor rax, rdx
movabs rdx, 0x6751dee2883161e
movabs r8, 0x6751dee2883160e
xor rdx, r8
sub rax, rdx
add rcx, rax
xor eax, eax
sub rax, rcx
movabs rcx, 0x7d5a4f6fd147bd67
movabs rdx, 0x7d5a4f6fd147bd57
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x450], rax
jne 0x140118473
mov rsi, qword [rbp + 0x910]
mov rax, qword [rbp + 0x918]
mov rdx, qword [rbp + 0x718]
mov r8, qword [rbp + 0x710]
mov r9, qword [rbp + 0x708]
mov rcx, qword [rbp + 0x700]
mov r10, qword [rbp + 0x6f8]
mov r11, qword [rbp + 0x908]
mov dword [rsi], 0x30
mov qword [r10], r11
mov dword [rcx], 0x40
xor ecx, ecx
mov qword [r9], rcx
mov qword [r8], rcx
mov qword [rdx], rcx
mov qword [rax], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x918]
mov r8, qword [rbp + 0x910]
add rsp, 0x20
xorps xmm0, xmm0
movaps xmmword [rbp + 0xc20], xmm0
mov rax, qword [0x1401a1660]
mov rax, qword [rax]
mov edx, 0xbeb69091
xor edx, 0x3eb69091
mov r11d, 0xe7ac67f4
xor r11d, 0xe7ac67f3
mov r10d, 0x6117a774
xor r10d, 0x6117a775
lea r9, [rbp + 0xc20]
sub rsp, 0x30
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r10d
call rax
mov rcx, qword [rbp + 0x860]
add rsp, 0x30
mov dword [rbp + 0x44c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x45f], al
jne 0x14011bf4d
mov ecx, dword [rbp + 0x44c]
mov rax, qword [rbp + 0x720]
mov rdx, qword [rbp + 0x688]
mov r8, qword [rbp + 0x680]
mov qword [rbp + 0xbd0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0xbd0]
sub rsp, 0x20
call fcn.1400b6967
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x27
xor dl, 0x27
mov al, 1
cmp cl, dl
mov byte [rbp + 0x45f], al
jne 0x14011bf4d
mov ecx, dword [rbp + 0x44c]
mov rax, qword [rbp + 0x728]
mov rdx, qword [rbp + 0x688]
mov r8, qword [rbp + 0x680]
mov qword [rbp + 0xbc0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0xbc0]
sub rsp, 0x20
call fcn.1400b6a26
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0xe9
xor dl, 0xe9
mov al, 1
cmp cl, dl
mov byte [rbp + 0x45f], al
jne 0x14011bf4d
mov r8, qword [rbp + 0x930]
mov edx, dword [rbp + 0x44c]
mov rax, qword [rbp + 0x730]
mov r9, qword [rbp + 0x688]
mov r10, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x918]
mov rcx, qword [rcx]
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400b6ae5
mov rcx, qword [rbp + 0x860]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x45f], al
jne 0x14011bf4d
mov rax, qword [rbp + 0x918]
mov rax, qword [rax]
movabs rcx, 0x6c94c917f9af0e6b
movabs rdx, 0x6c94c917f9af0e6a
xor rcx, rdx
cmp rax, rcx
jge 0x14011876a
mov ecx, dword [rbp + 0x44c]
mov rax, qword [0x1401a00f0]
mov qword [rbp + 0xbb0], rax
mov rax, qword [0x1401a00f8]
mov qword [rbp + 0xbb8], rax
lea rdx, [rbp + 0xbb0]
sub rsp, 0x20
call fcn.1400a216b
mov rcx, qword [rbp + 0x860]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x45f], al
jne 0x14011bf4d
mov rdx, qword [rbp + 0x938]
mov ecx, dword [rbp + 0x44c]
mov rax, qword [0x1401a00f0]
mov qword [rdx], rax
mov rax, qword [0x1401a00f8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400a216b
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x2f
xor dl, 0x2f
mov al, 1
cmp cl, dl
mov byte [rbp + 0x44b], al
jne 0x14011be22
mov rsi, qword [rbp + 0x468]
mov ecx, 0x1d4c0
sub rsp, 0x20
call fcn.14000dc72
mov r11, qword [rbp + 0x4c0]
mov r10, qword [rbp + 0x518]
mov r9, qword [rbp + 0x570]
mov r8, qword [rbp + 0x5d8]
mov rdx, qword [rbp + 0x660]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x688]
cmp rsi, 0
sete bl
mov byte [rbp + 0x431], bl
cmp r11, 0
sete r11b
mov byte [rbp + 0x432], r11b
cmp r10, 0
sete r10b
mov byte [rbp + 0x433], r10b
cmp r9, 0
sete r9b
mov byte [rbp + 0x434], r9b
cmp r8, 0
sete r8b
mov byte [rbp + 0x435], r8b
cmp rdx, 0
sete dl
mov byte [rbp + 0x436], dl
cmp rax, 0
sete al
mov byte [rbp + 0x437], al
mov edx, 0x1d4c0
mov al, 1
mov qword [rbp + 0x438], rdx
mov qword [rbp + 0x440], rcx
mov byte [rbp + 0x44a], al
mov rcx, qword [rbp + 0x438]
mov rdx, qword [rbp + 0x440]
mov al, byte [rbp + 0x44a]
mov qword [rbp + 0x420], rdx
mov qword [rbp + 0x428], rcx
mov byte [rbp + 0x430], al
jmp 0x1401188b4
mov al, byte [rbp + 0x41f]
mov byte [rbp + 0x430], al
mov r11, qword [rbp + 0x420]
mov rcx, qword [rbp + 0x918]
mov r10b, byte [rbp + 0x430]
mov byte [rbp + 0x40b], r10b
mov rax, qword [0x1401a1680]
mov rax, qword [rax]
mov rcx, qword [rcx]
xor edx, edx
mov r9d, edx
lea rsi, [rbp + 0xc20]
xor edx, edx
sub rsp, 0x60
mov rdx, r9
mov r8, r9
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x30], 0x1d4c0
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x50], r10b
call rax
mov rcx, qword [rbp + 0x860]
add rsp, 0x60
mov edx, eax
mov rax, qword [rbp + 0x420]
mov dword [rbp + 0x40c], edx
cmp byte [rcx], 0
mov qword [rbp + 0x410], rax
jne 0x14011bdff
mov eax, dword [rbp + 0x40c]
cmp eax, 0x103
mov dword [rbp + 0x404], eax
jne 0x140118b96
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x918]
mov r8, qword [rbp + 0x940]
add rsp, 0x20
mov qword [r8], 0
movabs rax, 0xe7f9d2caf678aded
movabs rdx, 0x18062d3509cb192d
xor rax, rdx
mov qword [r8], rax
mov rax, qword [0x1401a16b0]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov dl, 0x1f
xor dl, 0x1e
sub rsp, 0x20
call rax
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x860]
mov dword [rbp + 0x400], ecx
cmp byte [rax], 0
jne 0x140118b83
mov eax, dword [rbp + 0x400]
test eax, eax
je 0x140118b72
jmp 0x1401189f4
mov eax, dword [rbp + 0x400]
sub eax, 0x102
jne 0x140118abe
jmp 0x140118a0a
movabs rcx, 0xf35ef9b6c4daf9bd
movabs rax, 0xf35ef9b6c4daf9fd
xor rcx, rax
movabs rdx, 0x28c18418c0718f4
movabs rax, 0x28c18418c0718fc
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1618]
mov qword [rcx], rax
lea rax, [0x1401a00a8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a0118]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a0120]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xe653d66a54a1c0af
movabs rdx, 0x19ac2995d264cf54
xor rax, rdx
lea rdx, [0x1401a00a8]
lea r8, [0x1401a00e1]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
jmp 0x140118b83
movabs rcx, 0x1483d26a8eee09f1
movabs rax, 0x1483d26a8eee09b1
xor rcx, rax
movabs rdx, 0x5325d8969127956e
movabs rax, 0x5325d89691279566
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1618]
mov qword [rcx], rax
lea rax, [0x1401a00a8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a0118]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a0120]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x80dfa4813f6b9af6
movabs rdx, 0x7f205b7ebb75b521
xor rax, rdx
lea rdx, [0x1401a00a8]
lea r8, [0x1401a00e1]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
jmp 0x140118b83
mov eax, dword [rbp + 0xc20]
mov dword [rbp + 0x404], eax
jmp 0x140118b96
mov rax, qword [rbp + 0x420]
mov qword [rbp + 0x410], rax
jmp 0x14011bdff
mov rdx, qword [rbp + 0x738]
mov ecx, dword [rbp + 0x404]
mov dword [rbp + 0x3f8], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0x3ff], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x140118bd8
jmp 0x140118e38
mov rcx, qword [rbp + 0x428]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x3e0], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1401a0020]
mulsd xmm0, xmm1
movsd qword [rbp + 0x3e8], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x3f0], xmm1
ucomisd xmm0, xmm1
jne 0x140118c28
jp 0x140118c28
jmp 0x140118ca7
movsd xmm1, qword [rbp + 0x3e8]
movsd xmm0, qword [rbp + 0x3f0]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x3e8]
movsd qword [rbp + 0x3d8], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x3d8]
add rsp, 0x20
movsd xmm2, qword [0x1401a0028]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140118ca7
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x420]
add rsp, 0x20
mov qword [rbp + 0x410], rax
jmp 0x14011bdff
mov rax, qword [rbp + 0x3e0]
movabs rcx, 0xc36826c83676c174
movabs rdx, 0xc36826c83666c174
xor rcx, rdx
cmp rax, rcx
jl 0x140118d90
movabs rcx, 0x32f5347c57d3ddc7
movabs rax, 0x32f5347c57d3dd87
xor rcx, rax
movabs rdx, 0x48d0021ec2a637c0
movabs rax, 0x48d0021ec2a637c8
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a15c8]
mov qword [rcx], rax
lea rax, [0x1401a0068]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a0118]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a0120]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x2396b7ceae42f400
movabs rdx, 0xdc6948316695e343
xor rax, rdx
lea rdx, [0x1401a0068]
lea r8, [0x1401a00e1]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
mov rax, qword [rbp + 0x420]
add rsp, 0x30
mov qword [rbp + 0x410], rax
jmp 0x14011bdff
mov rcx, qword [rbp + 0x420]
sub rsp, 0x20
call fcn.1400259f3
mov rax, qword [rbp + 0x3e0]
add rsp, 0x20
movabs rcx, 0x1ac618f30c617fef
movabs rdx, 0x1ac618f30c617fef
xor rcx, rdx
cmp rax, rcx
jge 0x140118dfb
mov rcx, qword [rbp + 0x3e0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x410], rax
jmp 0x14011bdff
mov rcx, qword [rbp + 0x3e0]
sub rsp, 0x20
call fcn.14000dc72
mov rdx, qword [rbp + 0x3e0]
add rsp, 0x20
mov rcx, rax
mov al, byte [rbp + 0x40b]
mov qword [rbp + 0x438], rdx
mov qword [rbp + 0x440], rcx
mov byte [rbp + 0x44a], al
jmp 0x14011887b
mov rax, qword [rbp + 0x420]
mov cl, byte [rbp + 0x3ff]
test cl, 1
mov qword [rbp + 0x3d0], rax
jne 0x140118e5a
jmp 0x14011bd35
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x3c0], rax
mov rcx, rax
add rcx, 0x3c
mov qword [rbp + 0x3c8], rcx
cmp dword [rax + 0x3c], 0
je 0x14011bb56
mov rax, qword [rbp + 0x3c0]
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0x3b0], rcx
mov ecx, dword [rax + 0x38]
and ecx, 0x10
sub rsp, 0x20
call fcn.14009c717
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x860]
mov al, byte [rax]
mov byte [rbp + 0x3be], al
test al, al
sete al
mov byte [rbp + 0x3bf], al
and al, cl
test al, 1
jne 0x140118ed3
jmp 0x14011a4f1
mov rax, qword [rbp + 0x3c8]
mov eax, dword [rax]
mov dword [rbp + 0x3ac], eax
sub eax, 2
je 0x140118ff2
jmp 0x140118ef0
mov eax, dword [rbp + 0x3ac]
sub eax, 4
jne 0x140119054
jmp 0x140118f04
mov rax, qword [rbp + 0x3c0]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0x3a0], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0x3aa], ax
mov cx, 0x45cf
xor cx, 0x4530
cmp ax, cx
jbe 0x140118f5e
mov ax, word [rbp + 0x3aa]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14011a4d6
mov ax, word [rbp + 0x3aa]
mov cx, 0x1f8b
xor cx, 0x1fa5
cmp ax, cx
jne 0x1401190cf
mov rax, qword [rbp + 0x3a0]
movabs rcx, 0xd8fbaa69210b7965
movabs rdx, 0xd8fbaa69210b7967
xor rcx, rdx
add rax, rcx
mov ax, word [rax]
mov word [rbp + 0x39e], ax
mov cx, 0x7d77
xor cx, 0x7d88
cmp ax, cx
jbe 0x140118fdc
mov ax, word [rbp + 0x39e]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14011a4d6
mov ax, word [rbp + 0x39e]
cmp ax, 0x2e
je 0x14011bb3e
jmp 0x1401190cf
mov rax, qword [rbp + 0x3c0]
mov ax, word [rax + 0x5e]
mov word [rbp + 0x39c], ax
mov cx, 0x6c28
xor cx, 0x6cd7
cmp ax, cx
jbe 0x14011903e
mov ax, word [rbp + 0x39c]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14011a4d6
mov ax, word [rbp + 0x39c]
cmp ax, 0x2e
je 0x14011bb3e
jmp 0x1401190cf
mov eax, dword [rbp + 0x3ac]
mov ecx, 0xea3801c7
xor ecx, 0x15c7fe38
cmp eax, ecx
jge 0x1401190cf
mov ecx, dword [rbp + 0x3ac]
xor eax, eax
sub eax, ecx
mov ecx, 0x5a8ca5ee
xor ecx, 0x5a8ca5ef
shr eax, cl
mov ecx, eax
mov eax, 0xc9236005
xor eax, 0xc9236005
mov edx, 0xbd6b62bb
xor edx, 0x9a232dc4
sub eax, edx
sub eax, ecx
mov ecx, 0x42f6e770
xor ecx, 0x65bea80f
add eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14011a4d6
mov rcx, qword [rbp + 0x948]
mov eax, dword [rbp + 0x3ac]
mov rdx, qword [rbp + 0x3c0]
add rdx, 0x5e
mov qword [rbp + 0x380], rdx
mov r8d, 0xfc532c7e
xor r8d, 0xfc532c7c
cdq
idiv r8d
mov rdx, qword [rbp + 0x380]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.14009f071
mov rdx, qword [rbp + 0x948]
mov rcx, qword [rbp + 0x740]
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x388], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x390], rcx
cmp byte [rax], 0
jne 0x14011bb43
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp + 0x370], rax
add rax, 0x60
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x390]
mov r8, qword [rbp + 0x388]
add rsp, 0x20
mov rax, qword [rbp + 0x370]
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0x378], rcx
cmp byte [rax + 0x60], 0
jne 0x140119294
mov rax, qword [rbp + 0x388]
movabs rcx, 0x5b3cb36f6bcef90e
movabs rdx, 0x5b3cb36f6bcef90c
xor rcx, rdx
cqo
idiv rcx
mov rdx, rax
mov rax, qword [rbp + 0x388]
movabs r8, 0x9597896e14af1d62
mov rcx, rdx
sub rcx, r8
add rcx, 0xffffffffffffffff
movabs r8, 0x9597896e14af1d62
add rcx, r8
mov qword [rbp + 0x368], rcx
xor rcx, rdx
movabs rdx, 0x9e2f826bc8f17a26
movabs r8, 0x9e2f826bc8f17a26
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0x83ecf3d21d4c4243
movabs r8, 0x83ecf3d21d4c4242
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140119287
mov rdx, qword [rbp + 0x378]
mov rcx, qword [rbp + 0x950]
mov rax, qword [rbp + 0x368]
xor r8d, r8d
test rax, rax
cmovg r8, rax
sub rsp, 0x20
call fcn.14009eb59
add rsp, 0x20
jmp 0x140119294
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x748]
mov rdx, qword [rbp + 0x950]
mov rdx, qword [rdx]
mov qword [rbp + 0x350], rdx
mov rax, qword [rax]
mov qword [rbp + 0x358], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x360], rax
jne 0x14011a36a
mov rcx, qword [rbp + 0x358]
mov r8, qword [rbp + 0x350]
mov rsi, qword [rbp + 0x680]
mov rdi, qword [rbp + 0x768]
mov r14, qword [rbp + 0x760]
mov rbx, qword [rbp + 0x758]
mov rdx, qword [rbp + 0x958]
mov rax, qword [rbp + 0x750]
mov byte [rbp + 0xb80], 1
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0xb70]
sub rsp, 0x20
call fcn.140024b17
mov r11, qword [rbp + 0x688]
mov r10, qword [rbp + 0x770]
mov r9, qword [rbp + 0x350]
mov rax, qword [rbp + 0x778]
mov rdx, qword [rbp + 0x960]
mov r8, qword [rbp + 0x968]
mov rcx, qword [rbp + 0x358]
add rsp, 0x20
mov r15, qword [rbp + 0xb70]
mov rbx, qword [rbx]
mov qword [r14], r15
mov qword [rdi], rbx
mov qword [rdx], rsi
mov qword [r10], r11
mov qword [r8], r9
mov qword [rax], rcx
lea rcx, [rbp + 0xb60]
sub rsp, 0x20
call fcn.14004973b
mov rdx, qword [rbp + 0x780]
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x358]
add rsp, 0x20
mov r8, qword [rbp + 0xb60]
mov qword [rbp + 0x340], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x348], rdx
mov cl, byte [rcx]
mov dl, 0xf7
xor dl, 0xf7
cmp cl, dl
mov qword [rbp + 0x360], rax
jne 0x14011a36a
mov rax, qword [rbp + 0x798]
mov rcx, qword [rbp + 0x790]
mov rdx, qword [rbp + 0x348]
mov r8, qword [rbp + 0x788]
mov r9, qword [rbp + 0x340]
mov qword [r8], r9
mov qword [rcx], rdx
mov qword [rax], 0
lea rcx, [rbp + 0xc30]
lea rdx, [rbp + 0xb80]
sub rsp, 0x20
call fcn.1400b6f80
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x358]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0x360], rax
jne 0x14011a36a
cmp byte [rbp + 0xc30], 1
je 0x140119447
jmp 0x14011a31e
mov rdx, qword [rbp + 0x970]
mov rax, qword [rbp + 0x7a0]
mov rcx, qword [rbp + 0x8e0]
mov r8, qword [rcx]
mov qword [rbp + 0xb50], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xb58], rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xb50]
sub rsp, 0x20
call fcn.1400b7216
mov rcx, qword [rbp + 0x860]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x338], rdx
mov cl, byte [rcx]
mov dl, 1
xor dl, 1
cmp cl, dl
mov qword [rbp + 0x360], rax
jne 0x14011a36a
mov rdx, qword [rbp + 0x338]
movabs rax, 0x4623912123abb497
movabs rcx, 0x4623912123abb496
xor rax, rcx
mov rcx, rdx
and rcx, rax
shl rcx, 1
movabs r8, 0x3e5e2ad2c675c91b
movabs rax, 0x3e5e2ad2c675c91a
xor r8, rax
mov rax, rdx
xor rax, r8
add rax, rcx
mov qword [rbp + 0x330], rax
movabs r8, 0xfe9013264f98283b
movabs rcx, 0x16fecd9b067d7c4
xor r8, rcx
mov rcx, rdx
xor rcx, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
and rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0x99f355156d3528b0
movabs r10, 0x660caaea92cad74f
xor r9, r10
movabs r10, 0xbf092a60282738e9
movabs r11, 0x40f6d59fd7d8c716
xor r10, r11
xor r9, r10
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x81422791ec8702be
movabs r9, 0x7ebdd86e1378fd41
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
movabs rcx, 0x2cc25a4c8d136288
movabs rdx, 0x2cc25a4c8d136288
xor rcx, rdx
cmp rax, rcx
jge 0x1401195e9
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x358]
add rsp, 0x20
mov qword [rbp + 0x360], rax
jmp 0x14011a36a
mov rax, qword [rbp + 0x330]
movabs rcx, 0xe3a63b3297e5af85
movabs rdx, 0xe3a63b3297e5af87
xor rcx, rdx
cmp rax, rcx
jge 0x140119680
mov rax, qword [rbp + 0x7a0]
mov rcx, qword [rax]
mov qword [rbp + 0xb30], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb38], rax
lea rcx, [rbp + 0xb40]
lea rdx, [rbp + 0xb30]
sub rsp, 0x20
call fcn.140024b17
mov rcx, qword [rbp + 0x7a8]
mov rax, qword [rbp + 0x7b0]
mov rdx, qword [rbp + 0x978]
add rsp, 0x20
mov r8, qword [rbp + 0xb40]
mov rcx, qword [rcx]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0xc70]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov al, byte [rbp + 0xc30]
mov cl, 0x27
xor cl, 0x26
cmp al, cl
jne 0x14011a31e
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x328], rax
mov rax, qword [rbp + 0x328]
mov rcx, qword [rbp + 0x980]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
movabs rcx, 0x75bf35dd53a193a1
movabs rdx, 0x75bf35dd53a193a1
xor rcx, rdx
movabs rdx, 0x508977d27062656
movabs r8, 0x508977d27062646
xor rdx, r8
sub rcx, rdx
sub rax, rcx
movabs rcx, 0x3ec7bd1d53a5429a
movabs rdx, 0x3ec7bd1d53a542aa
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x328], rax
jne 0x1401196b2
mov rcx, qword [rbp + 0x8f8]
lea rdx, [rbp + 0xc30]
sub rsp, 0x20
call fcn.1400b6f80
mov rax, qword [rbp + 0x860]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011a31e
lea rcx, [rbp + 0xc30]
sub rsp, 0x20
call fcn.1400b766f
mov rcx, qword [rbp + 0x8f8]
mov rdx, qword [rbp + 0x980]
call fcn.1400b775b
mov rax, qword [rbp + 0x7b8]
mov rcx, qword [rbp + 0x8d8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x318], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x320], rcx
cmp rax, 0
je 0x1401197ca
mov rax, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x318]
mov rcx, qword [rbp + 0x980]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x317], al
jmp 0x1401197e8
mov rax, qword [rbp + 0x320]
mov rcx, qword [rbp + 0x980]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x317], al
mov rax, qword [rbp + 0x860]
mov cl, byte [rbp + 0x317]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x316], al
and al, cl
test al, 1
jne 0x140119811
jmp 0x14011a2fd
mov rcx, qword [rbp + 0x8d0]
sub rsp, 0x20
call fcn.140047cc8
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x83
xor cl, 0x83
cmp al, cl
jne 0x14011a35c
mov rcx, qword [rbp + 0x7c0]
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0xb20], xmm0
sub rsp, 0x20
call fcn.1400143a4
mov rdx, qword [rbp + 0x988]
mov rcx, qword [rbp + 0x7c8]
mov rax, qword [rbp + 0x990]
add rsp, 0x20
movaps xmm0, xmmword [rbp + 0xb20]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
sub rsp, 0x20
call fcn.1400143a4
mov rcx, qword [rbp + 0x990]
mov rax, qword [rbp + 0x7d0]
add rsp, 0x20
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
mov rax, qword [0x1401a1928]
mov qword [rbp + 0x2c0], rax
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x2c0]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x14019ffb0]
movaps xmm1, xmmword [0x14019ffc0]
movaps xmm2, xmmword [0x14019ffd0]
movaps xmm3, xmmword [0x14019ffe0]
xor eax, eax
mov qword [rbp + 0x2c8], rax
movaps xmmword [rbp + 0x2d0], xmm3
movaps xmmword [rbp + 0x2e0], xmm2
movaps xmmword [rbp + 0x2f0], xmm1
movaps xmmword [rbp + 0x300], xmm0
jmp 0x140119918
mov rax, qword [rbp + 0x2c8]
movaps xmm2, xmmword [rbp + 0x2d0]
movaps xmm7, xmmword [rbp + 0x2e0]
movaps xmm8, xmmword [rbp + 0x2f0]
movaps xmm5, xmmword [rbp + 0x300]
movaps xmmword [rbp + 0x260], xmm5
movaps xmmword [rbp + 0x270], xmm8
movaps xmmword [rbp + 0x280], xmm7
movaps xmmword [rbp + 0x290], xmm2
mov qword [rbp + 0x2a8], rax
movaps xmm6, xmmword [0x14019fff0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0000]
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 + 0x2b0], xmm1
movd eax, xmm0
test al, 1
jne 0x140119a3d
jmp 0x140119a4f
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x2a8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x2b0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x140119a6a
jmp 0x140119abd
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x2a8]
and rcx, rcx
movabs rdx, 0x6b91c1be569be1f0
movabs r8, 0x946e3e41a9641e0f
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 1
mov r8, 0xffffffffffffffff
xor r8, 1
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x2b0]
pextrw eax, xmm0, 2
test al, 1
jne 0x140119ad6
jmp 0x140119b02
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x2a8]
mov rdx, rcx
and rdx, 2
xor rdx, 0xffffffffffffffff
add rcx, 2
add rcx, 1
add rcx, rdx
mov dl, 0x36
xor dl, 0x36
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x2b0]
pextrw eax, xmm0, 3
test al, 1
jne 0x140119b1b
jmp 0x140119b4f
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x2a8]
mov r8, 0xffffffffffffffff
xor r8, 3
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 3
add rcx, r8
sub rcx, rdx
mov dl, 0xdc
xor dl, 0xdc
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x2b0]
pextrw eax, xmm0, 4
test al, 1
jne 0x140119b68
jmp 0x140119b7e
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x2a8]
or rcx, 4
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x2b0]
pextrw eax, xmm0, 5
test al, 1
jne 0x140119b97
jmp 0x140119bbf
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x2a8]
mov rdx, rcx
and rdx, 5
xor rdx, 0xffffffffffffffff
add rcx, 5
add rcx, 1
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x2b0]
pextrw eax, xmm0, 6
test al, 1
jne 0x140119bd8
jmp 0x140119c46
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp + 0x2a8]
movabs r8, 0x5b604a6535b77c2f
movabs rcx, 0x5b604a6535b77c29
xor r8, rcx
mov rcx, rdx
or rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x7ca08a3f42ed80ed
movabs r9, 0x7ca08a3f42ed80eb
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x91d98c5bb9d21d7d
movabs r8, 0x6e2673a4462de282
xor rdx, r8
xor rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x2b0]
pextrw eax, xmm0, 7
test al, 1
jne 0x140119c5f
jmp 0x140119c93
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x2a8]
mov r8, 0xffffffffffffffff
xor r8, 7
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 7
add rcx, r8
sub rcx, rdx
mov dl, 0x1b
xor dl, 0x1b
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x260]
movaps xmm1, xmmword [rbp + 0x270]
movaps xmm2, xmmword [rbp + 0x280]
movaps xmm3, xmmword [rbp + 0x290]
mov rax, qword [rbp + 0x2a8]
add rax, 8
movaps xmm4, xmmword [0x1401a0010]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp + 0x2c8], rax
movaps xmmword [rbp + 0x2d0], xmm3
movaps xmmword [rbp + 0x2e0], xmm2
movaps xmmword [rbp + 0x2f0], xmm1
movaps xmmword [rbp + 0x300], xmm0
jne 0x140119918
jmp 0x140119d06
mov rdx, qword [rbp + 0x988]
mov rcx, qword [rbp + 0x8d0]
mov rax, qword [rbp + 0x7d8]
mov r8b, 0x56
xor r8b, 0x57
mov byte [rax], r8b
sub rsp, 0x20
call fcn.14004143c
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x6b
xor cl, 0x6b
cmp al, cl
jne 0x14011a35c
mov rax, qword [rbp + 0x390]
cmp rax, 0
je 0x140119df0
mov rax, qword [rbp + 0x390]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x7efcb32e11bec3d5
movabs rdx, 0x3efcb32e11bec3d5
xor rcx, rdx
movabs rdx, 0xf37b222fffb531c1
movabs r8, 0xb37b222fffb531c1
xor rdx, r8
or rcx, rdx
movabs rdx, 0x573d0839f0dd9dab
movabs r8, 0xa8c2f7c60f226254
xor rdx, r8
xor rcx, rdx
or rax, rcx
movabs rcx, 0xedbda6f25edf5cec
movabs rdx, 0x1242590da120a313
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jne 0x140119df0
mov rcx, qword [rbp + 0x390]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x358]
cmp rax, 0
je 0x140119e51
mov rax, qword [rbp + 0x358]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0xa196f7714f4914fd
movabs r8, 0xe196f7714f4914fd
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140119e51
mov rcx, qword [rbp + 0x358]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0x420]
sub rsp, 0x20
call fcn.1400259f3
mov rax, qword [rbp + 0x918]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x258], rax
movabs rcx, 0x34c7cfcfe83f1499
movabs rdx, 0x34c7cfcfe83f1499
xor rcx, rdx
cmp rax, rcx
jle 0x140119ed1
mov rcx, qword [rbp + 0x258]
mov rax, qword [0x1401a1650]
sub rsp, 0x20
call qword [rax]
mov rdx, qword [rbp + 0x860]
add rsp, 0x20
mov cl, 1
mov eax, 7
cmp byte [rdx], 0
mov byte [rbp + 0x253], cl
mov dword [rbp + 0x254], eax
jne 0x14011a331
mov al, byte [rbp + 0x431]
test al, 1
jne 0x140119f98
jmp 0x140119ee4
mov rax, qword [rbp + 0x468]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
movabs rcx, 0xd691c5a4b678b4c2
movabs r8, 0x7192e528fcaa11d5
xor rcx, r8
movabs r8, 0x1d8751e9527c5673
movabs r9, 0xe278ae16ad83a98c
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0xa703208c4ad2a517
or rcx, rdx
movabs rdx, 0xccd763af81832e3
movabs r8, 0xf33289c507e7cd1c
xor rdx, r8
xor rax, rdx
and rax, rcx
movabs rcx, 0xa5d4ca1e71bbddf1
movabs rdx, 0xa5d4ca1e71bbddf1
xor rcx, rdx
cmp rax, rcx
jne 0x140119f98
mov rcx, qword [rbp + 0x468]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x432]
test al, 1
jne 0x14011a01a
jmp 0x140119fab
mov rax, qword [rbp + 0x4c0]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
movabs rdx, 0x3d87fe59fc7aa602
movabs r8, 0xc27801a6038559fd
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0x3cb46041c157f4d8
movabs rdx, 0x3cb46041c157f4d8
xor rcx, rdx
cmp rax, rcx
jne 0x14011a01a
mov rcx, qword [rbp + 0x4c0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x433]
test al, 1
jne 0x14011a085
jmp 0x14011a02d
mov rax, qword [rbp + 0x518]
mov rax, qword [rax]
movabs rcx, 0xa35b1be0295bf18b
movabs rdx, 0xe35b1be0295bf18b
xor rcx, rdx
and rax, rcx
movabs rcx, 0x8fc7ce829d01ee5b
movabs rdx, 0x8fc7ce829d01ee5b
xor rcx, rdx
cmp rax, rcx
jne 0x14011a085
mov rcx, qword [rbp + 0x518]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x434]
test al, 1
jne 0x14011a10f
jmp 0x14011a098
mov rax, qword [rbp + 0x570]
mov rcx, qword [rax]
movabs rdx, 0xcca3492a60223c40
movabs rax, 0x8ca3492a60223c40
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x84ccc0e1cc0e1dca
movabs rdx, 0x84ccc0e1cc0e1dca
xor rcx, rdx
cmp rax, rcx
jne 0x14011a10f
mov rcx, qword [rbp + 0x570]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x435]
test al, 1
jne 0x14011a164
jmp 0x14011a122
mov rax, qword [rbp + 0x5d8]
mov rax, qword [rax]
movabs rcx, 0x622c9dabfd23b277
movabs rdx, 0x222c9dabfd23b277
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14011a164
mov rcx, qword [rbp + 0x5d8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x436]
test al, 1
jne 0x14011a1bf
jmp 0x14011a177
mov rcx, qword [rbp + 0x660]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xcd467acb0b1d33c7
movabs rdx, 0xcd467acb0b1d33c7
xor rcx, rdx
cmp rax, rcx
jne 0x14011a1bf
mov rcx, qword [rbp + 0x660]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
lea rcx, [rbp + 0xc30]
sub rsp, 0x20
call fcn.1400b76b1
mov rdx, qword [rbp + 0x860]
add rsp, 0x20
mov cl, 1
mov eax, 0x2a
cmp byte [rdx], 0
mov byte [rbp + 0x253], cl
mov dword [rbp + 0x254], eax
jne 0x14011a331
mov al, byte [rbp + 0x437]
test al, 1
jne 0x14011a297
jmp 0x14011a209
mov rax, qword [rbp + 0x688]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x25e8735dbdedc9a8
xor rdx, r8
or rax, rcx
movabs rcx, 0x3b334b1fe91ddd8e
movabs r8, 0x1edb384254f01426
xor rcx, r8
or rcx, rdx
movabs rdx, 0xe31d341d6e223087
movabs r8, 0x1ce2cbe291ddcf78
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14011a297
mov rcx, qword [rbp + 0x688]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0xb10], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0xb18], rax
lea rcx, [rbp + 0xb10]
sub rsp, 0x20
call fcn.1400208b6
mov rcx, qword [rbp + 0x8f8]
call fcn.1400b76b1
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov cl, byte [rax]
mov eax, 0x2b
mov edx, 2
cmp cl, 0
cmove eax, edx
mov byte [rbp + 0x253], cl
mov dword [rbp + 0x254], eax
jmp 0x14011a331
mov al, byte [rbp + 0x316]
test al, 1
jne 0x14011a31e
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x360], rax
jmp 0x14011a36a
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x360], rax
jmp 0x14011a36a
mov rax, qword [rbp + 0x3c0]
mov dl, byte [rbp + 0x253]
mov ecx, dword [rbp + 0x254]
mov byte [rbp + 0x243], dl
mov dword [rbp + 0x244], ecx
mov qword [rbp + 0x248], rax
jmp 0x14011bc6c
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x360], rax
mov rax, qword [rbp + 0x390]
mov rcx, qword [rbp + 0x360]
mov qword [rbp + 0x238], rcx
cmp rax, 0
je 0x14011a3d1
mov rcx, qword [rbp + 0x390]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x9d502a731271be43
movabs rdx, 0x9d502a731271be43
xor rcx, rdx
cmp rax, rcx
jne 0x14011a3d1
mov rcx, qword [rbp + 0x390]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x238]
cmp rax, 0
je 0x14011a4d6
mov rax, qword [rbp + 0x238]
mov rax, qword [rax]
movabs rcx, 0x49f6ed39b9b95bf2
movabs rdx, 0xb60912c64646a40d
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x34f7cdab56adb1fe
movabs rdx, 0x74f7cdab56adb1fe
xor rcx, rdx
movabs rdx, 0xfd1ec1c817297e8f
movabs r8, 0x2e13e37e8d68170
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x2fc389e64b3888d5
movabs r8, 0x682f9dec5f1d1f31
xor rdx, r8
movabs r8, 0x74ce583614973d55
movabs r9, 0x8b31a7c9eb68c2aa
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0xd539c885141963c8
movabs r8, 0x92d5dc8f003cf42c
xor rcx, r8
or rcx, rdx
movabs rdx, 0x84ec71826f38f92
movabs r8, 0xf7b138e7d90c706d
xor rdx, r8
xor rax, rdx
and rax, rcx
movabs rcx, 0x8e2321f91b3b5378
movabs rdx, 0x8e2321f91b3b5378
xor rcx, rdx
cmp rax, rcx
jne 0x14011a4d6
mov rcx, qword [rbp + 0x238]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x860]
mov al, byte [rax]
mov cl, 0xe2
xor cl, 0xe2
cmp al, cl
jne 0x14011bb43
jmp 0x14011a547
mov rax, qword [rbp + 0x3c0]
mov dl, byte [rbp + 0x3be]
mov r8b, byte [rbp + 0x3bf]
mov r9d, 0x7fdd2b1c
xor r9d, 0x7fdd2b07
mov ecx, 0xda39ac8e
xor ecx, 0xda39ac82
test r8b, 1
cmovne ecx, r9d
test r8b, 1
mov byte [rbp + 0x243], dl
mov dword [rbp + 0x244], ecx
mov qword [rbp + 0x248], rax
jne 0x14011a547
jmp 0x14011bc6c
mov rax, qword [rbp + 0x3b0]
mov ecx, dword [rax]
and ecx, 0x10
mov edx, ecx
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea ecx, [rax + rcx + 0x10]
sub rsp, 0x20
call fcn.14009c717
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x860]
mov al, byte [rax]
mov byte [rbp + 0x236], al
test al, al
sete al
mov byte [rbp + 0x237], al
and al, cl
test al, 1
jne 0x14011a599
jmp 0x14011bae8
mov rax, qword [rbp + 0x3c8]
mov eax, dword [rax]
mov dword [rbp + 0x230], eax
mov ecx, 0xcc8118ce
xor ecx, 0x337ee731
cmp eax, ecx
jge 0x14011a647
mov eax, dword [rbp + 0x230]
mov ecx, eax
xor ecx, 0
mov edx, 0x6835f996
xor edx, 0x97ca0669
xor eax, edx
mov edx, 0xaece3e5d
xor edx, 0xaece3e5d
and edx, eax
mov eax, 0x79a4d6c
xor eax, 0x79a4d6e
imul eax, edx
sub eax, ecx
mov ecx, 0x9fd72bfa
xor ecx, 0x9fd72bfb
shr eax, cl
mov ecx, eax
mov eax, 0x7aed02ef
xor eax, 0x7aed02ef
mov edx, 0xfa2051fd
xor edx, 0xc76ac7e3
sub eax, edx
sub eax, ecx
mov ecx, 0x2ff43b4a
xor ecx, 0x12bead54
add eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14011bac0
mov eax, dword [rbp + 0x230]
mov rcx, qword [rbp + 0x3c0]
add rcx, 0x5e
mov qword [rbp + 0x218], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0x218]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0xad0]
sub rsp, 0x20
call fcn.14009f071
mov rcx, qword [rbp + 0x7e0]
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov rdx, qword [rbp + 0xad0]
mov qword [rbp + 0x220], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x228], rcx
cmp byte [rax], 0
jne 0x14011bad0
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp + 0x208], rax
add rax, 0x60
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x228]
mov r8, qword [rbp + 0x220]
add rsp, 0x20
mov rax, qword [rbp + 0x208]
movabs r9, 0x84870ed700214bee
movabs rdx, 0x84870ed700214bee
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x210], rcx
cmp byte [rax + 0x60], 0
jne 0x14011a82b
mov rax, qword [rbp + 0x220]
movabs rcx, 0x4ac1f7a447b0a9d3
movabs rdx, 0x4ac1f7a447b0a9d1
xor rcx, rdx
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x220]
movabs rdx, 0x2a529901058d5483
movabs rcx, 0xd5ad66fefa72ab7c
xor rdx, rcx
mov rcx, r8
add rcx, rdx
mov qword [rbp + 0x200], rcx
mov r9, rcx
xor r9, r8
movabs rdx, 0xe0874a3064f2ca92
movabs r10, 0x1f78b5cf9b0d356d
xor rdx, r10
xor r9, rdx
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0xd414d89b9a23eefd
movabs r8, 0xd414d89b9a23eefc
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x14011a81e
mov rdx, qword [rbp + 0x210]
mov rax, qword [rbp + 0x200]
xor ecx, ecx
test rax, rax
mov r8d, ecx
cmovg r8, rax
lea rcx, [rbp + 0xac0]
sub rsp, 0x20
call fcn.14009eb59
add rsp, 0x20
jmp 0x14011a82b
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x7e8]
mov rdx, qword [rbp + 0xac0]
mov qword [rbp + 0x1e8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x1f0], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x1f8], rax
jne 0x14011b971
mov rcx, qword [rbp + 0x1f0]
mov r8, qword [rbp + 0x1e8]
mov rsi, qword [rbp + 0x680]
mov rdi, qword [rbp + 0x808]
mov r14, qword [rbp + 0x800]
mov rbx, qword [rbp + 0x7f8]
mov rdx, qword [rbp + 0x998]
mov rax, qword [rbp + 0x7f0]
mov byte [rbp + 0xae0], 0
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0xab0]
sub rsp, 0x20
call fcn.140024b17
mov r11, qword [rbp + 0x688]
mov r10, qword [rbp + 0x810]
mov r9, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x818]
mov r8, qword [rbp + 0x9a8]
mov rcx, qword [rbp + 0x9a0]
mov rdx, qword [rbp + 0x1f0]
add rsp, 0x20
mov r15, qword [rbp + 0xab0]
mov rbx, qword [rbx]
mov qword [r14], r15
mov qword [rdi], rbx
mov qword [rbp + 0xaa0], rsi
mov qword [r10], r11
mov qword [r8], r9
mov qword [rax], rdx
lea rdx, [rbp + 0xaa0]
sub rsp, 0x20
call fcn.14004973b
mov r8, qword [rbp + 0x9a0]
mov rdx, qword [rbp + 0x820]
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x1f0]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x1d8], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x1e0], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x1f8], rax
jne 0x14011b971
mov rax, qword [rbp + 0x838]
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0x830]
mov r8, qword [rbp + 0x1e0]
mov r9, qword [rbp + 0x828]
mov r10, qword [rbp + 0x1d8]
mov qword [r9], r10
mov qword [rdx], r8
mov rcx, qword [rcx + 0x28]
mov qword [rax], rcx
lea rcx, [rbp + 0xc30]
lea rdx, [rbp + 0xae0]
sub rsp, 0x20
call fcn.1400b6f80
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x1f0]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x31
xor dl, 0x31
cmp cl, dl
mov qword [rbp + 0x1f8], rax
jne 0x14011b971
cmp byte [rbp + 0xc30], 1
je 0x14011a9e9
jmp 0x14011b925
mov rdx, qword [rbp + 0x9b8]
mov rcx, qword [rbp + 0x9b0]
mov rax, qword [rbp + 0x7a0]
mov r8, qword [rbp + 0x8e0]
mov r9, qword [r8]
mov qword [rcx], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400b7216
mov rcx, qword [rbp + 0x860]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1d0], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x1f8], rax
jne 0x14011b971
mov rdx, qword [rbp + 0x1d0]
mov rax, rdx
and rax, 1
movabs r8, 0x9de5d38075d38e49
movabs rcx, 0x9de5d38075d38e48
xor r8, rcx
mov rcx, rdx
or rcx, r8
add rax, rcx
mov qword [rbp + 0x1c8], rax
movabs r8, 0x88ddb992bca75d35
movabs rcx, 0x7722466d4358a2ca
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r9, 0x7b3c7f0a8ccabeac
movabs r8, 0x84c380f573354153
xor r9, r8
mov r8, rdx
xor r8, r9
and rcx, r8
movabs r8, 0x32169326ddf724e2
movabs r9, 0xcde96cd92208db1d
xor r8, r9
movabs r9, 0xe9f42b453e6907ad
movabs r10, 0x160bd4bac196f852
xor r9, r10
xor r8, r9
movabs r9, 0x2bf00b2d6616c74c
movabs r10, 0xd40ff4d299e938b3
xor r9, r10
movabs r10, 0xb842a4cdeb0667a
movabs r11, 0xf47bd5b3214f9985
xor r10, r11
xor r9, r10
and r8, r9
movabs r9, 0x3e6b64d06e17aa5e
movabs r10, 0xc1949b2f91e855a1
xor r9, r10
xor rcx, r9
movabs r9, 0x5ae637ae55b3f35
movabs r10, 0xfa519c851aa4c0ca
xor r9, r10
xor r8, r9
and rcx, r8
movabs r8, 0xdab0a6e1634a2616
movabs r9, 0x254f591e9cb5d9e9
xor r8, r9
or rdx, r8
movabs r8, 0xe6f97e5a94379505
movabs r9, 0x190681a56bc86afa
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x9ad7b686c2dd117c
movabs rdx, 0x9ad7b686c2dd117c
xor rcx, rdx
cmp rax, rcx
jge 0x14011abe2
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x1f0]
add rsp, 0x20
mov qword [rbp + 0x1f8], rax
jmp 0x14011b971
mov rax, qword [rbp + 0x1c8]
movabs rcx, 0x7ca33b8fec1e5970
movabs rdx, 0x7ca33b8fec1e5972
xor rcx, rdx
cmp rax, rcx
jge 0x14011ac79
mov rcx, qword [rbp + 0x9c0]
mov rdx, qword [rbp + 0x9d0]
mov rax, qword [rbp + 0x7a0]
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 rdx, qword [rbp + 0x9c0]
mov rcx, qword [rbp + 0x840]
mov rax, qword [rbp + 0x848]
add rsp, 0x20
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rbp + 0xa90], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0xc70]
lea rdx, [rbp + 0xa90]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov al, byte [rbp + 0xc30]
cmp al, 1
jne 0x14011b925
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x1c0], rax
mov rax, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x9d8]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
add rax, 0x10
movabs rcx, 0x17e724b1b7080522
movabs rdx, 0x17e724b1b7080512
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x1c0], rax
jne 0x14011aca6
mov rcx, qword [rbp + 0x8f8]
lea rdx, [rbp + 0xc30]
sub rsp, 0x20
call fcn.1400b6f80
mov rax, qword [rbp + 0x860]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011b925
lea rcx, [rbp + 0xc30]
sub rsp, 0x20
call fcn.1400b766f
mov rcx, qword [rbp + 0x8f8]
mov rdx, qword [rbp + 0x9d8]
call fcn.1400b775b
mov rax, qword [rbp + 0x7b8]
mov rcx, qword [rbp + 0x8d8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x1b0], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x1b8], rcx
cmp rax, 0
je 0x14011ad8e
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1b0]
mov rcx, qword [rbp + 0x9d8]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x1af], al
jmp 0x14011adac
mov rax, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x9d8]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x1af], al
mov rax, qword [rbp + 0x860]
mov cl, byte [rbp + 0x1af]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x1ae], al
and al, cl
test al, 1
jne 0x14011add5
jmp 0x14011b904
mov rcx, qword [rbp + 0x8d0]
sub rsp, 0x20
call fcn.140047cc8
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xc1
xor cl, 0xc1
cmp al, cl
jne 0x14011b963
mov rcx, qword [rbp + 0x7c0]
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0xa60], xmm0
sub rsp, 0x20
call fcn.1400143a4
mov rcx, qword [rbp + 0x7c8]
mov rax, qword [rbp + 0x9e8]
add rsp, 0x20
movaps xmm0, xmmword [rbp + 0xa60]
movaps xmmword [rbp + 0xa70], xmm0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
sub rsp, 0x20
call fcn.1400143a4
mov rcx, qword [rbp + 0x9e8]
mov rax, qword [rbp + 0x850]
add rsp, 0x20
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
mov rax, qword [0x1401a1928]
mov qword [rbp + 0x150], rax
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x14019ffb0]
movaps xmm1, xmmword [0x14019ffc0]
movaps xmm2, xmmword [0x14019ffd0]
movaps xmm3, xmmword [0x14019ffe0]
xor eax, eax
mov qword [rbp + 0x158], rax
movaps xmmword [rbp + 0x160], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x180], xmm1
movaps xmmword [rbp + 0x190], xmm0
jmp 0x14011aed9
mov rax, qword [rbp + 0x158]
movaps xmm2, xmmword [rbp + 0x160]
movaps xmm7, xmmword [rbp + 0x170]
movaps xmm8, xmmword [rbp + 0x180]
movaps xmm5, xmmword [rbp + 0x190]
movaps xmmword [rbp + 0xf0], xmm5
movaps xmmword [rbp + 0x100], xmm8
movaps xmmword [rbp + 0x110], xmm7
movaps xmmword [rbp + 0x120], xmm2
mov qword [rbp + 0x138], rax
movaps xmm6, xmmword [0x14019fff0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0000]
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 + 0x140], xmm1
movd eax, xmm0
test al, 1
jne 0x14011affe
jmp 0x14011b010
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x138]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x140]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14011b02b
jmp 0x14011b061
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp + 0x138]
movabs r8, 0xdcd60550f281439
movabs rcx, 0xdcd60550f281438
xor r8, rcx
mov rcx, rdx
and rcx, r8
xor rdx, 1
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x140]
pextrw eax, xmm0, 2
test al, 1
jne 0x14011b07a
jmp 0x14011b0a6
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x138]
movabs rdx, 0x8d2242e154372e20
movabs r8, 0x8d2242e154372e22
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x140]
pextrw eax, xmm0, 3
test al, 1
jne 0x14011b0bf
jmp 0x14011b0d5
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x138]
or rcx, 3
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x140]
pextrw eax, xmm0, 4
test al, 1
jne 0x14011b0ee
jmp 0x14011b11e
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x138]
movabs rdx, 0xc02a49b5e53f6677
movabs r8, 0xc02a49b5e53f6673
xor rdx, r8
or rcx, rdx
mov dl, 0x28
xor dl, 0x28
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x140]
pextrw eax, xmm0, 5
test al, 1
jne 0x14011b137
jmp 0x14011b1df
mov rax, qword [rbp + 0x8d0]
mov rsi, qword [rbp + 0x138]
movabs rcx, 0x6f3b367531e707b5
movabs rdx, 0x90c4c98ace18f84a
xor rcx, rdx
mov rdx, rsi
xor rdx, rcx
mov r9, 0xffffffffffffffff
xor r9, 5
mov r8, 0xffffffffffffffff
movabs rcx, 0x387ed9f25df08999
xor r8, rcx
movabs r10, 0x42c7c72bf8addef4
movabs rcx, 0x7ab91ed9a55d576d
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x387ed9f25df08999
mov r10, r9
and r10, r11
mov r11, r8
and r11, 5
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x387ed9f25df08999
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x140]
pextrw eax, xmm0, 6
test al, 1
jne 0x14011b1f8
jmp 0x14011b254
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp + 0x138]
mov rcx, rdx
or rcx, 6
xor rcx, 0xffffffffffffffff
movabs r8, 0x4814fd6ef7d8b861
movabs r9, 0x4814fd6ef7d8b867
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x8b45787e5698b31
movabs r9, 0xf74ba8781a9674ce
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x140]
pextrw eax, xmm0, 7
test al, 1
jne 0x14011b26d
jmp 0x14011b2be
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x138]
movabs rdx, 0x8e28451b0a915b22
movabs r8, 0x8e28451b0a915b25
xor rdx, r8
and rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0x56bbf0b42a3d29eb
movabs r9, 0x56bbf0b42a3d29ec
xor r8, r9
add rcx, r8
add rcx, 1
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0xf0]
movaps xmm1, xmmword [rbp + 0x100]
movaps xmm2, xmmword [rbp + 0x110]
movaps xmm3, xmmword [rbp + 0x120]
mov rax, qword [rbp + 0x138]
add rax, 8
movaps xmm4, xmmword [0x1401a0030]
psubq xmm3, xmm4
psubq xmm2, xmm4
psubq xmm1, xmm4
psubq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp + 0x158], rax
movaps xmmword [rbp + 0x160], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x180], xmm1
movaps xmmword [rbp + 0x190], xmm0
jne 0x14011aed9
jmp 0x14011b331
mov rcx, qword [rbp + 0x8d0]
mov rax, qword [rbp + 0x7d8]
mov byte [rax], 1
lea rdx, [rbp + 0xa70]
sub rsp, 0x20
call fcn.14004143c
mov rax, qword [rbp + 0x860]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011b963
mov rax, qword [rbp + 0x228]
cmp rax, 0
je 0x14011b3f3
mov rax, qword [rbp + 0x228]
mov rax, qword [rax]
movabs rdx, 0x2d27f72f8f55a91
movabs rcx, 0x42d27f72f8f55a91
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x84c0c4ffe3e202ad
movabs r8, 0x7b3f3b001c1dfd52
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x261bbb27cbb5347b
movabs r8, 0x661bbb27cbb5347b
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14011b3f3
mov rcx, qword [rbp + 0x228]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x1f0]
cmp rax, 0
je 0x14011b446
mov rax, qword [rbp + 0x1f0]
mov rax, qword [rax]
movabs rcx, 0xa7a114b9b9118f8d
movabs rdx, 0xe7a114b9b9118f8d
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14011b446
mov rcx, qword [rbp + 0x1f0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0x420]
sub rsp, 0x20
call fcn.1400259f3
mov rax, qword [rbp + 0x918]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xe8], rax
cmp rax, 0
jle 0x14011b4b0
mov rcx, qword [rbp + 0xe8]
mov rax, qword [0x1401a1650]
sub rsp, 0x20
call qword [rax]
mov rdx, qword [rbp + 0x860]
add rsp, 0x20
mov cl, 1
mov eax, 7
cmp byte [rdx], 0
mov byte [rbp + 0xe3], cl
mov dword [rbp + 0xe4], eax
jne 0x14011b938
mov al, byte [rbp + 0x431]
test al, 1
jne 0x14011b51b
jmp 0x14011b4c3
mov rax, qword [rbp + 0x468]
mov rax, qword [rax]
movabs rcx, 0x2ed64010e5d87176
movabs rdx, 0x6ed64010e5d87176
xor rcx, rdx
and rax, rcx
movabs rcx, 0x9aa5471dc18bdeef
movabs rdx, 0x9aa5471dc18bdeef
xor rcx, rdx
cmp rax, rcx
jne 0x14011b51b
mov rcx, qword [rbp + 0x468]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x432]
test al, 1
jne 0x14011b59d
jmp 0x14011b52e
mov rax, qword [rbp + 0x4c0]
mov rax, qword [rax]
movabs rdx, 0x3911897d46edaa76
movabs rcx, 0x7911897d46edaa76
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
movabs rcx, 0xb1d4b67973f8cc84
movabs rdx, 0xb1d4b67973f8cc84
xor rcx, rdx
cmp rax, rcx
jne 0x14011b59d
mov rcx, qword [rbp + 0x4c0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x433]
test al, 1
jne 0x14011b677
jmp 0x14011b5b0
mov rax, qword [rbp + 0x518]
mov rcx, qword [rax]
movabs rdx, 0x49768b1a910734a3
movabs rax, 0xb68974e56ef8cb5c
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0xc837cbe3f76b53f6
movabs r8, 0x37c8341c0894ac09
xor rdx, r8
xor rcx, rdx
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0xc28d7edac271501f
movabs r8, 0x828d7edac271501f
xor rdx, r8
movabs r8, 0xcf817138f92d7fca
movabs r9, 0x307e8ec706d28035
xor r8, r9
xor rdx, r8
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x4104408e15a28f3c
movabs rdx, 0x4104408e15a28f3c
xor rcx, rdx
cmp rax, rcx
jne 0x14011b677
mov rcx, qword [rbp + 0x518]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x434]
test al, 1
jne 0x14011b735
jmp 0x14011b68a
mov rax, qword [rbp + 0x570]
mov rax, qword [rax]
movabs rcx, 0x41ce3c63174abe0d
movabs rdx, 0xbe31c39ce8b541f2
xor rcx, rdx
xor rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0xc7e627a240b6dc38
movabs r8, 0xc292ef6e780623bc
xor rdx, r8
movabs r8, 0x915412b58fdf20d4
movabs r9, 0x6eabed4a7020df2b
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0xa5095040583e504b
movabs r8, 0xa07d988c608eafcf
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14011b735
mov rcx, qword [rbp + 0x570]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x435]
test al, 1
jne 0x14011b7a0
jmp 0x14011b748
mov rax, qword [rbp + 0x5d8]
mov rax, qword [rax]
movabs rcx, 0x684acdc7041a9c13
movabs rdx, 0x284acdc7041a9c13
xor rcx, rdx
and rax, rcx
movabs rcx, 0x5b243bed5ff73f3a
movabs rdx, 0x5b243bed5ff73f3a
xor rcx, rdx
cmp rax, rcx
jne 0x14011b7a0
mov rcx, qword [rbp + 0x5d8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp + 0x436]
test al, 1
jne 0x14011b7fb
jmp 0x14011b7b3
mov rcx, qword [rbp + 0x660]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x92fa3d4760985d13
movabs rdx, 0x92fa3d4760985d13
xor rcx, rdx
cmp rax, rcx
jne 0x14011b7fb
mov rcx, qword [rbp + 0x660]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
lea rcx, [rbp + 0xc30]
sub rsp, 0x20
call fcn.1400b76b1
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov dl, byte [rax]
mov r8b, 0xfb
xor r8b, 0xfb
mov cl, 1
mov eax, 0x2a
cmp dl, r8b
mov byte [rbp + 0xe3], cl
mov dword [rbp + 0xe4], eax
jne 0x14011b938
mov al, byte [rbp + 0x437]
test al, 1
jne 0x14011b89e
jmp 0x14011b84e
mov rax, qword [rbp + 0x688]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0xfe846497c45b3366
movabs r8, 0xbe846497c45b3366
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14011b89e
mov rcx, qword [rbp + 0x688]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0xa50], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0xa58], rax
lea rcx, [rbp + 0xa50]
sub rsp, 0x20
call fcn.1400208b6
mov rcx, qword [rbp + 0x8f8]
call fcn.1400b76b1
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov cl, byte [rax]
mov eax, 0x2b
mov edx, 2
cmp cl, 0
cmove eax, edx
mov byte [rbp + 0xe3], cl
mov dword [rbp + 0xe4], eax
jmp 0x14011b938
mov al, byte [rbp + 0x1ae]
test al, 1
jne 0x14011b925
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f8], rax
jmp 0x14011b971
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f8], rax
jmp 0x14011b971
mov rax, qword [rbp + 0x3c0]
mov dl, byte [rbp + 0xe3]
mov ecx, dword [rbp + 0xe4]
mov byte [rbp + 0x243], dl
mov dword [rbp + 0x244], ecx
mov qword [rbp + 0x248], rax
jmp 0x14011bc6c
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbp + 0x228]
mov rcx, qword [rbp + 0x1f8]
mov qword [rbp + 0xd8], rcx
cmp rax, 0
je 0x14011ba2e
mov rax, qword [rbp + 0x228]
mov rax, qword [rax]
movabs rcx, 0x785b2b15e14672fe
movabs rdx, 0x87a4d4ea1eb98d01
xor rcx, rdx
xor rax, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
movabs rcx, 0xc907f4855c1f7129
movabs r8, 0x355ef4665e628f58
xor rcx, r8
movabs r8, 0x89266fb621e7bd83
movabs r9, 0x76d99049de18427c
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0xfc5900e3027dfe71
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14011ba2e
mov rcx, qword [rbp + 0x228]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
cmp rax, 0
je 0x14011bac0
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax]
movabs rcx, 0xa2cfd7f6190f16de
movabs rdx, 0x5d302809e6f0e921
xor rcx, rdx
xor rax, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x718a1b466a54ca83
xor rcx, r8
or rax, rdx
movabs rdx, 0x718a1b466a54ca83
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14011bac0
mov rcx, qword [rbp + 0xd8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x860]
cmp byte [rax], 0
je 0x14011bae3
mov rax, qword [rbp + 0x420]
mov qword [rbp + 0x410], rax
jmp 0x14011bdff
jmp 0x14011bb56
mov rax, qword [rbp + 0x3c0]
mov dl, byte [rbp + 0x236]
mov r8b, byte [rbp + 0x237]
mov r9d, 0x81a8002e
xor r9d, 0x81a80002
mov ecx, 0xbd77ac1f
xor ecx, 0xbd77ac13
test r8b, 1
cmovne ecx, r9d
test r8b, 1
mov byte [rbp + 0x243], dl
mov dword [rbp + 0x244], ecx
mov qword [rbp + 0x248], rax
jne 0x14011bb56
jmp 0x14011bc6c
jmp 0x14011bb56
mov rax, qword [rbp + 0x420]
mov qword [rbp + 0x410], rax
jmp 0x14011bdff
mov rax, qword [rbp + 0x3c0]
mov ecx, dword [rax]
mov dword [rbp + 0xd4], ecx
xor eax, eax
cmp ecx, 1
mov byte [rbp + 0x41f], al
jl 0x1401188a8
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
add rcx, 0x60
mov qword [rbp + 0xc8], rcx
mov al, byte [rax + 0x60]
mov cl, 0x78
xor cl, 0x78
cmp al, cl
jne 0x14011bc22
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0xc8]
cmp byte [rax], 0
jne 0x14011bc22
mov rdx, qword [rbp + 0x3c0]
mov eax, dword [rbp + 0xd4]
mov eax, eax
xor ecx, ecx
sub rcx, rax
movabs rax, 0xba80d7aa7c54a671
movabs r8, 0xba80d7aa7c54a671
xor rax, r8
sub rax, rdx
add rcx, rax
movabs rax, 0x4db4bcb4435d9388
movabs rdx, 0x4db4bcb4435d9388
xor rax, rdx
sub rax, rcx
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0x420]
mov rdx, qword [rbp + 0x860]
mov rcx, qword [rbp + 0xc0]
mov r9b, byte [rdx]
mov r10b, 0x26
xor r10b, 0x26
xor edx, edx
mov r8b, dl
xor edx, edx
cmp r9b, r10b
mov byte [rbp + 0x243], r8b
mov dword [rbp + 0x244], edx
mov qword [rbp + 0x248], rcx
mov qword [rbp + 0x410], rax
jne 0x14011bdff
mov dl, byte [rbp + 0x243]
mov ecx, dword [rbp + 0x244]
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0xb8], ecx
mov byte [rbp + 0xbf], dl
test ecx, ecx
mov qword [rbp + 0x3d0], rax
je 0x140118e5a
jmp 0x14011bc9f
mov al, byte [rbp + 0xbf]
mov ecx, dword [rbp + 0xb8]
sub ecx, 7
mov byte [rbp + 0x45f], al
je 0x14011bf4d
jmp 0x14011bcbf
mov al, byte [rbp + 0xbf]
mov ecx, dword [rbp + 0xb8]
sub ecx, 9
mov byte [rbp + 0x44b], al
je 0x14011be22
jmp 0x14011bcdf
mov rax, qword [rbp + 0x420]
mov ecx, dword [rbp + 0xb8]
sub ecx, 0xc
mov qword [rbp + 0x410], rax
je 0x14011bdff
jmp 0x14011bd01
mov al, byte [rbp + 0x40b]
mov ecx, dword [rbp + 0xb8]
sub ecx, 0x15
mov byte [rbp + 0x41f], al
je 0x1401188a8
jmp 0x14011bd21
mov eax, dword [rbp + 0xb8]
sub eax, 0x16
je 0x14011bd55
jmp 0x14011c375
mov rax, qword [rbp + 0x420]
mov ecx, dword [rbp + 0x3f8]
cmp ecx, 0x80000006
mov qword [rbp + 0x410], rax
je 0x14011bdff
movabs rcx, 0xe0468484d6bdbe0
movabs rax, 0xe0468484d6bdba0
xor rcx, rax
movabs rdx, 0x6dcc8ae2a66a738
movabs rax, 0x6dcc8ae2a66a730
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1618]
mov qword [rcx], rax
lea rax, [0x1401a00a8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a0118]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a0120]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401a00a8]
lea r8, [0x1401a00e1]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x2875904e
call fcn.140019b17
mov rax, qword [rbp + 0x420]
add rsp, 0x30
mov qword [rbp + 0x410], rax
mov rcx, qword [rbp + 0x410]
sub rsp, 0x20
call fcn.1400259f3
mov rax, qword [rbp + 0x860]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x44b], al
mov rax, qword [rbp + 0x918]
mov rcx, qword [rbp + 0x860]
mov dl, byte [rbp + 0x44b]
mov byte [rbp + 0xaf], dl
mov dl, 0xd2
xor dl, 0xd2
mov byte [rcx], dl
mov rax, qword [rax]
mov qword [rbp + 0xb0], rax
cmp rax, 0
jle 0x14011be8d
mov rcx, qword [rbp + 0xb0]
mov rax, qword [0x1401a1650]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp + 0x860]
mov cl, byte [rax]
mov dl, 0x75
xor dl, 0x75
mov al, 1
cmp cl, dl
mov byte [rbp + 0x45f], al
jne 0x14011bf4d
mov al, byte [rbp + 0xaf]
mov byte [rbp + 0x45f], al
jmp 0x14011bf4d
mov rax, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x598]
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0x98], rax
sub rsp, 0x20
call fcn.14000a590
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x5d8]
add rsp, 0x20
xor r8d, r8d
mov qword [rbp + 0x5e0], r8
mov qword [rbp + 0x5e8], rdx
mov qword [rbp + 0x5f0], rcx
mov qword [rbp + 0x5f8], rax
mov r10, qword [rbp + 0x860]
mov rax, qword [rbp + 0x5e0]
mov rcx, qword [rbp + 0x5e8]
mov rdx, qword [rbp + 0x5f0]
mov r8, qword [rbp + 0x5f8]
mov r9b, byte [r10]
mov r11b, 0xc4
xor r11b, 0xc4
mov byte [r10], r11b
mov byte [rbp + 0x77], r9b
mov qword [rbp + 0x78], r8
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
jmp 0x14011c0bf
mov rax, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x518]
mov rdx, qword [rbp + 0x570]
mov r8, qword [rbp + 0x5d8]
mov r10, qword [rbp + 0x468]
mov r11, qword [rbp + 0x860]
mov r9b, byte [rbp + 0x45f]
mov byte [rbp + 0x76], r9b
mov bl, 0x79
xor bl, 0x79
mov byte [r11], bl
cmp r10, 0
mov byte [rbp + 0x77], r9b
mov qword [rbp + 0x78], r8
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
je 0x14011c0bf
mov rax, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x518]
mov rdx, qword [rbp + 0x570]
mov r8, qword [rbp + 0x5d8]
mov r9b, byte [rbp + 0x76]
mov r10, qword [rbp + 0x468]
mov r10, qword [r10]
or r10, r10
xor r10, 0xffffffffffffffff
mov r11, 0xffffffffffffffff
movabs rsi, 0x4000000000000000
xor r11, rsi
movabs rsi, 0x7e7dc59da16d9f72
movabs rdi, 0x3e7dc59da16d9f72
xor rsi, rdi
movabs rdi, 0x7b717cc5abae1cad
movabs rbx, 0x848e833a5451e352
xor rdi, rbx
xor rsi, rdi
and r11, rsi
or r10, r11
movabs r11, 0x478f870b124e296
movabs rsi, 0xfb87078f4edb1d69
xor r11, rsi
xor r10, r11
cmp r10, 0
mov byte [rbp + 0x77], r9b
mov qword [rbp + 0x78], r8
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
jne 0x14011c0bf
mov rcx, qword [rbp + 0x468]
sub rsp, 0x20
call fcn.1400121d0
mov r9b, byte [rbp + 0x76]
mov r8, qword [rbp + 0x5d8]
mov rdx, qword [rbp + 0x570]
mov rcx, qword [rbp + 0x518]
mov rax, qword [rbp + 0x4c0]
add rsp, 0x20
mov byte [rbp + 0x77], r9b
mov qword [rbp + 0x78], r8
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
mov cl, byte [rbp + 0x77]
mov rdx, qword [rbp + 0x78]
mov r8, qword [rbp + 0x80]
mov r9, qword [rbp + 0x88]
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], r9
mov qword [rbp + 0x60], r8
mov qword [rbp + 0x68], rdx
mov byte [rbp + 0x74], cl
mov dl, 0xc9
xor dl, 0xc9
cmp cl, dl
sete cl
mov byte [rbp + 0x75], cl
cmp rax, 0
je 0x14011c15a
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x98cc560f3ace66b6
movabs rdx, 0x98cc560f3ace66b6
xor rcx, rdx
cmp rax, rcx
jne 0x14011c15a
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x58]
cmp rax, 0
je 0x14011c201
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x8680c3a770f64ca8
movabs r8, 0xc680c3a770f64ca8
xor rdx, r8
movabs r8, 0x995d881e125c51b2
movabs r9, 0x66a277e1eda3ae4d
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0xe9d8b71a07a50eb
movabs r8, 0xf162748e5f85af14
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14011c201
mov rcx, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x60]
cmp rax, 0
je 0x14011c28e
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0xa5f2d9cceb43768f
movabs rdx, 0xe5f2d9cceb43768f
xor rcx, rdx
movabs rdx, 0x9f9b9fa578845198
movabs r8, 0xdf9b9fa578845198
xor rdx, r8
or rcx, rdx
movabs rdx, 0xb5af4d64486a05db
movabs r8, 0x4a50b29bb795fa24
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14011c28e
mov rcx, qword [rbp + 0x60]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x68]
cmp rax, 0
je 0x14011c2d8
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
movabs rcx, 0x802b23dc7f2fcb2b
movabs rdx, 0xc02b23dc7f2fcb2b
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14011c2d8
mov rcx, qword [rbp + 0x68]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x660]
cmp rax, 0
je 0x14011c32b
mov rax, qword [rbp + 0x660]
mov rax, qword [rax]
movabs rcx, 0xabb66a2985c6c7e4
movabs rdx, 0xebb66a2985c6c7e4
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14011c32b
mov rcx, qword [rbp + 0x660]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
lea rcx, [rbp + 0xc30]
sub rsp, 0x20
call fcn.1400b76b1
mov rax, qword [rbp + 0x860]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011c370
mov al, byte [rbp + 0x75]
mov rcx, qword [rbp + 0x860]
mov dl, byte [rbp + 0x74]
mov byte [rcx], dl
test al, 1
jne 0x14011c36b
jmp 0x14011c370
jmp 0x14011c410
jmp 0x14011c390
mov eax, dword [rbp + 0xb8]
mov cl, byte [rbp + 0xbf]
cmp eax, 0x2a
mov byte [rbp + 0x4b], cl
mov dword [rbp + 0x4c], eax
jne 0x14011c4da
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 + 0x40], rax
cmp word [rax + 0x12], 1
jle 0x14011c410
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x14011c410
mov rax, qword [rbp + 0x860]
mov byte [rax], 0
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 + 0x688]
cmp rax, 0
je 0x14011c4b5
mov rax, qword [rbp + 0x688]
mov rcx, qword [rax]
movabs rdx, 0x281373b6fcf9bfba
movabs rax, 0xd7ec8c4903064045
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0xa6d64404cbcfbda2
movabs rdx, 0xa6d64404cbcfbda2
xor rcx, rdx
cmp rax, rcx
jne 0x14011c4b5
mov rcx, qword [rbp + 0x688]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov r8, qword [rbp + 0x860]
xor eax, eax
mov dl, al
xor ecx, ecx
mov al, 1
cmp byte [r8], 0
mov byte [rbp + 0x4b], dl
mov dword [rbp + 0x4c], ecx
mov byte [rbp + 0x6a7], al
jne 0x14011c50d
mov cl, byte [rbp + 0x4b]
mov eax, dword [rbp + 0x4c]
mov dword [rbp + 0x38], eax
mov byte [rbp + 0x3f], cl
test eax, eax
je 0x140116beb
jmp 0x14011c4f3
mov al, byte [rbp + 0x3f]
mov ecx, dword [rbp + 0x38]
sub ecx, 6
mov byte [rbp + 0x6a7], al
jne 0x14011c583
jmp 0x14011c50d
mov rax, qword [rbp + 0x860]
mov rcx, qword [rbp + 0x9f0]
mov dl, byte [rbp + 0x6a7]
mov byte [rbp + 0x37], dl
mov byte [rax], 0
mov rax, qword [rbp + 0xc70]
mov qword [rcx], rax
mov rax, qword [rbp + 0xc78]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400208b6
mov rcx, qword [rbp + 0x8f8]
call fcn.1400b76b1
mov rax, qword [rbp + 0x860]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011c57e
mov al, byte [rbp + 0x37]
mov rcx, qword [rbp + 0x860]
mov byte [rcx], al
cmp al, 0
jne 0x14011c57e
jmp 0x14011c610
jmp 0x14011c59f
mov eax, dword [rbp + 0x38]
mov ecx, 0x10fd6be3
xor ecx, 0x10fd6bc8
cmp eax, ecx
mov dword [rbp + 0x86c], eax
jne 0x14011c5f7
mov rax, qword [rbp + 0x860]
mov cl, 0x37
xor cl, 0x37
mov byte [rax], cl
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
mov rax, qword [rbp + 0x860]
add rsp, 0x20
cmp byte [rax], 0
je 0x14011c610
jmp 0x14011ca66
mov eax, dword [rbp + 0x86c]
mov ecx, 0x49e57f14
xor ecx, 0x49e57f16
cmp eax, ecx
je 0x14011ca66
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x14019ffb0]
movaps xmm1, xmmword [0x14019ffc0]
movaps xmm2, xmmword [0x14019ffd0]
movaps xmm3, xmmword [0x14019ffe0]
xor eax, eax
mov qword [rbp - 0x18], rax
movaps xmmword [rbp - 0x10], xmm3
movaps xmmword [rbp], xmm2
movaps xmmword [rbp + 0x10], xmm1
movaps xmmword [rbp + 0x20], xmm0
jmp 0x14011c65d
mov rax, qword [rbp - 0x18]
movaps xmm2, xmmword [rbp - 0x10]
movaps xmm7, xmmword [rbp]
movaps xmm8, xmmword [rbp + 0x10]
movaps xmm5, xmmword [rbp + 0x20]
movaps xmmword [rbp - 0x80], xmm5
movaps xmmword [rbp - 0x70], xmm8
movaps xmmword [rbp - 0x60], xmm7
movaps xmmword [rbp - 0x50], xmm2
mov qword [rbp - 0x38], rax
movaps xmm6, xmmword [0x14019fff0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0000]
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 - 0x30], xmm1
movd eax, xmm0
test al, 1
jne 0x14011c761
jmp 0x14011c774
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp - 0x38]
mov dl, 2
xor dl, 2
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x30]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14011c78c
jmp 0x14011c7de
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp - 0x38]
movabs rdx, 0x589393eaf4bd0bc9
movabs r8, 0x589393eaf4bd0bc8
xor rdx, r8
and rdx, rcx
xor rdx, 0xffffffffffffffff
add rcx, 1
movabs r8, 0xcd65c8afbc01b4be
movabs r9, 0xcd65c8afbc01b4bf
xor r8, r9
add rcx, r8
add rcx, rdx
mov dl, 0xa9
xor dl, 0xa9
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x30]
pextrw eax, xmm0, 2
test al, 1
jne 0x14011c7f4
jmp 0x14011c841
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp - 0x38]
movabs r8, 0x3f43fe5133c28932
movabs rcx, 0x3f43fe5133c28930
xor r8, rcx
mov rcx, rdx
and rcx, r8
movabs r8, 0x74dfd6618a9d9089
movabs r9, 0x74dfd6618a9d908b
xor r8, r9
xor rdx, r8
or rcx, rdx
mov dl, 0xac
xor dl, 0xac
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x30]
pextrw eax, xmm0, 3
test al, 1
jne 0x14011c857
jmp 0x14011c8ba
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp - 0x38]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0xd53336ae86972c05
movabs r9, 0xd53336ae86972c06
xor r8, r9
movabs r9, 0x63e3d33565aa6c94
movabs r10, 0x9c1c2cca9a55936b
xor r9, r10
xor r8, r9
and rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 3
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x30]
pextrw eax, xmm0, 4
test al, 1
jne 0x14011c8d0
jmp 0x14011c8e3
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp - 0x38]
or rcx, 4
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x30]
pextrw eax, xmm0, 5
test al, 1
jne 0x14011c8f9
jmp 0x14011c90c
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp - 0x38]
or rcx, 5
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x30]
pextrw eax, xmm0, 6
test al, 1
jne 0x14011c922
jmp 0x14011c9d2
mov rax, qword [rbp + 0x8d0]
mov rsi, qword [rbp - 0x38]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 6
movabs r9, 0x5ec7cb4b4b0f09e5
movabs rcx, 0xc346fc433707f6f1
xor r9, rcx
movabs rcx, 0x158349ddf6653b4c
movabs r10, 0xea7cb622099ac4b3
xor rcx, r10
xor r9, rcx
movabs r10, 0x9d8137087c08ff14
mov rcx, rdx
and rcx, r10
and rsi, r9
movabs r11, 0x9d8137087c08ff14
mov r10, r8
and r10, r11
mov r11, r9
and r11, 6
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xef15dde0ec9c3e21
movabs r10, 0x7294eae89094c135
xor r8, r10
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0x20
xor dl, 0x20
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x30]
pextrw eax, xmm0, 7
test al, 1
jne 0x14011c9e8
jmp 0x14011ca11
mov rax, qword [rbp + 0x8d0]
mov rcx, qword [rbp - 0x38]
movabs rdx, 0x2bd5f28505ec835e
movabs r8, 0x2bd5f28505ec8359
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x80]
movaps xmm1, xmmword [rbp - 0x70]
movaps xmm2, xmmword [rbp - 0x60]
movaps xmm3, xmmword [rbp - 0x50]
mov rax, qword [rbp - 0x38]
add rax, 8
movaps xmm4, xmmword [0x1401a0010]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp - 0x18], rax
movaps xmmword [rbp - 0x10], xmm3
movaps xmmword [rbp], xmm2
movaps xmmword [rbp + 0x10], xmm1
movaps xmmword [rbp + 0x20], xmm0
jne 0x14011c65d
jmp 0x14011ca66
movaps xmm6, xmmword [rbp + 0xc90]
movaps xmm7, xmmword [rbp + 0xca0]
movaps xmm8, xmmword [rbp + 0xcb0]
lea rsp, [rbp + 0xcc8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret