Function at 0x1400fabd6
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1ae8
call fcn.140195b60
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1258], r8
mov qword [rbp + 0x14d0], rdx
mov qword [rbp + 0x1260], rcx
mov eax, 0x10
mov qword [rbp + 0x14b0], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x14c8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1268], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1270], rax
mov eax, 0x30
mov qword [rbp + 0x14a0], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1278], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1280], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1288], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1290], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1298], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12a0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12a8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12b0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12b8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12c0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12c8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12d0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12d8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12e0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12e8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12f0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x12f8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1300], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1308], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1310], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1318], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1320], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1328], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1330], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1338], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1340], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1348], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1350], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1358], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1360], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1368], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1370], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14a0]
mov rcx, rsp
mov qword [rbp + 0x1378], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1380], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1388], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1390], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1398], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13a0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13a8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13b0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14a0]
mov rcx, rsp
mov qword [rbp + 0x13b8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13c0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13c8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13d0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13d8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13e0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13e8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13f0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x13f8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1400], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1408], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1410], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1418], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14a0]
mov rcx, rsp
mov qword [rbp + 0x1420], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14a0]
mov rcx, rsp
mov qword [rbp + 0x1428], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1430], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1438], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1440], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1448], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1450], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1458], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1460], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1468], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1470], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1478], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1480], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1488], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1490], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x1498], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14a0]
mov rcx, rsp
mov qword [rbp + 0x14a8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x14b0]
mov rcx, rsp
mov qword [rbp + 0x14b8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x14c0], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rdx, qword [rbp + 0x14c8]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x14d0]
mov qword [rbp + 0x14e8], rcx
add rcx, 0x60
mov qword [rbp + 0x14d8], rcx
mov rcx, rax
add rcx, 0x48
mov qword [rbp + 0x14e0], rcx
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rdx], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0x1a58]
call fcn.140024b17
add rsp, 0x20
mov rcx, qword [rbp + 0x1a58]
mov rax, qword [rbp + 0x1a60]
mov qword [rbp + 0x1a48], rcx
mov qword [rbp + 0x1a50], rax
sub rsp, 0x20
lea rcx, [rbp + 0x1a48]
call fcn.1400b688e
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x14e8]
mov al, byte [rax + 0x60]
test al, al
setne al
mov byte [rbp + 0x14f7], al
or al, cl
test al, 1
jne 0x1400fb43d
mov rcx, qword [rbp + 0x14d0]
sub rsp, 0x20
call fcn.1400f98ef
add rsp, 0x20
xor eax, eax
mov dword [rbp + 0x1254], eax
jmp 0x140107383
mov cl, byte [rbp + 0x14f7]
xor eax, eax
test cl, 1
mov dword [rbp + 0x1250], eax
jne 0x140107242
jmp 0x1400fb459
mov rax, qword [rbp + 0x14d0]
mov cl, byte [rax]
mov dl, 0x16
xor dl, 0x16
xor eax, eax
cmp cl, dl
mov dword [rbp + 0x124c], eax
jne 0x140100d00
mov rcx, qword [rbp + 0x1358]
mov rdx, qword [rbp + 0x1348]
mov r8, qword [rbp + 0x1350]
mov r9, qword [rbp + 0x1338]
mov r10, qword [rbp + 0x1328]
mov r11, qword [rbp + 0x1330]
mov rsi, qword [rbp + 0x1320]
mov rdi, qword [rbp + 0x1318]
mov rbx, qword [rbp + 0x1258]
mov r14, qword [rbp + 0x1310]
mov r15, qword [rbp + 0x1300]
mov r12, qword [rbp + 0x12e0]
mov r13, qword [rbp + 0x12f8]
mov rax, qword [rbp + 0x14d0]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1038], rax
mov rax, qword [rbp + 0x14d0]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x1040], rax
lea rax, [rbp + 0x1a08]
add rax, 8
mov qword [rbp + 0x1048], rax
mov rax, qword [rbp + 0x1268]
add rax, 8
mov qword [rbp + 0x1050], rax
lea rax, [rbp + 0x19b8]
add rax, 8
mov qword [rbp + 0x1058], rax
mov rax, qword [rbp + 0x1290]
add rax, 8
mov qword [rbp + 0x1060], rax
mov rax, qword [rbp + 0x1298]
add rax, 8
mov qword [rbp + 0x1068], rax
mov rax, qword [rbp + 0x12a0]
add rax, 8
mov qword [rbp + 0x1070], rax
lea rax, [rbp + 0x19f8]
add rax, 2
mov qword [rbp + 0x1078], rax
lea rax, [rbp + 0x19a8]
add rax, 8
mov qword [rbp + 0x1080], rax
lea rax, [rbp + 0x1998]
add rax, 8
mov qword [rbp + 0x1088], rax
lea rax, [rbp + 0x19f8]
add rax, 8
mov qword [rbp + 0x1090], rax
lea rax, [rbp + 0x19c8]
add rax, 0x10
mov qword [rbp + 0x1098], rax
lea rax, [rbp + 0x19c8]
add rax, 0x18
mov qword [rbp + 0x10a0], rax
lea rax, [rbp + 0x19c8]
add rax, 8
mov qword [rbp + 0x10a8], rax
lea rax, [rbp + 0x19c8]
add rax, 0x20
mov qword [rbp + 0x10b0], rax
lea rax, [rbp + 0x19c8]
add rax, 0x28
mov qword [rbp + 0x10b8], rax
lea rax, [rbp + 0x1988]
add rax, 8
mov qword [rbp + 0x10c0], rax
lea rax, [rbp + 0x1978]
add rax, 8
mov qword [rbp + 0x10c8], rax
mov rax, qword [rbp + 0x12a8]
add rax, 8
mov qword [rbp + 0x10d0], rax
mov rax, qword [rbp + 0x1288]
add rax, 8
mov qword [rbp + 0x10d8], rax
lea rax, [rbp + 0x1928]
add rax, 8
mov qword [rbp + 0x10e0], rax
lea rax, [rbp + 0x1918]
add rax, 8
mov qword [rbp + 0x10e8], rax
lea rax, [rbp + 0x18f8]
add rax, 8
mov qword [rbp + 0x10f0], rax
lea rax, [rbp + 0x1908]
add rax, 8
mov qword [rbp + 0x10f8], rax
lea rax, [rbp + 0x1938]
add rax, 8
mov qword [rbp + 0x1100], rax
lea rax, [rbp + 0x1938]
add rax, 0x10
mov qword [rbp + 0x1108], rax
mov rax, qword [rbp + 0x12c0]
add rax, 8
mov qword [rbp + 0x1110], rax
mov rax, qword [rbp + 0x12c8]
add rax, 8
mov qword [rbp + 0x1118], rax
lea rax, [rbp + 0x18e8]
add rax, 8
mov qword [rbp + 0x1120], rax
lea rax, [rbp + 0x1938]
add rax, 0x18
mov qword [rbp + 0x1128], rax
lea rax, [rbp + 0x1938]
add rax, 0x20
mov qword [rbp + 0x1130], rax
lea rax, [rbp + 0x1938]
add rax, 0x28
mov qword [rbp + 0x1138], rax
mov rax, qword [rbp + 0x1278]
add rax, 0x18
mov qword [rbp + 0x1140], rax
mov rax, qword [rbp + 0x12e8]
add rax, 8
mov qword [rbp + 0x1148], rax
mov rax, qword [rbp + 0x1368]
add r13, 8
mov qword [rbp + 0x1150], r13
lea r13, [rbp + 0x18c8]
add r13, 8
mov qword [rbp + 0x1158], r13
add r12, 8
mov qword [rbp + 0x1160], r12
lea r12, [rbp + 0x1a18]
add r12, 0x28
mov qword [rbp + 0x1168], r12
lea r12, [rbp + 0x1a18]
add r12, 8
mov qword [rbp + 0x1170], r12
add r15, 8
mov qword [rbp + 0x1178], r15
lea r15, [rbp + 0x18a8]
add r15, 8
mov qword [rbp + 0x1180], r15
add r14, 8
mov qword [rbp + 0x1188], r14
lea r14, [rbp + 0x1898]
add r14, 8
mov qword [rbp + 0x1190], r14
add rbx, 8
mov qword [rbp + 0x1198], rbx
add rdi, 8
mov qword [rbp + 0x11a0], rdi
add rsi, 8
mov qword [rbp + 0x11a8], rsi
add r11, 8
mov qword [rbp + 0x11b0], r11
add r10, 8
mov qword [rbp + 0x11b8], r10
lea r10, [rbp + 0x1838]
add r10, 8
mov qword [rbp + 0x11c0], r10
lea r10, [rbp + 0x1838]
add r10, 0x10
mov qword [rbp + 0x11c8], r10
lea r10, [rbp + 0x1818]
add r10, 8
mov qword [rbp + 0x11d0], r10
add r9, 8
mov qword [rbp + 0x11d8], r9
lea r9, [rbp + 0x1828]
add r9, 8
mov qword [rbp + 0x11e0], r9
lea r9, [rbp + 0x1838]
add r9, 0x18
mov qword [rbp + 0x11e8], r9
lea r9, [rbp + 0x1838]
add r9, 0x20
mov qword [rbp + 0x11f0], r9
lea r9, [rbp + 0x1838]
add r9, 0x28
mov qword [rbp + 0x11f8], r9
lea r9, [rbp + 0x17d8]
add r9, 8
mov qword [rbp + 0x1200], r9
add r8, 8
mov qword [rbp + 0x1208], r8
lea r8, [rbp + 0x17f8]
add r8, 8
mov qword [rbp + 0x1210], r8
add rdx, 8
mov qword [rbp + 0x1218], rdx
lea rdx, [rbp + 0x17b8]
add rdx, 8
mov qword [rbp + 0x1220], rdx
add rcx, 8
mov qword [rbp + 0x1228], rcx
lea rcx, [rbp + 0x1798]
add rcx, 8
mov qword [rbp + 0x1230], rcx
add rax, 8
mov qword [rbp + 0x1238], rax
xor eax, eax
mov ecx, eax
xor eax, eax
mov qword [rbp + 0x1240], rcx
mov dword [rbp + 0x1248], eax
mov rdx, qword [rbp + 0x1038]
mov rcx, qword [rbp + 0x1240]
mov eax, dword [rbp + 0x1248]
mov dword [rbp + 0x102c], eax
mov qword [rbp + 0x1030], rcx
cmp rcx, rdx
mov dword [rbp + 0x124c], eax
jge 0x140100d00
mov rax, qword [rbp + 0x1030]
movabs rcx, 0x96dfd6f6bb7804c8
movabs rdx, 0x692029094487fb37
xor rcx, rdx
cmp rax, rcx
jg 0x1400fb9a3
mov rcx, qword [rbp + 0x1030]
mov rdx, qword [rbp + 0x1038]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140019d55
mov eax, dword [rbp + 0x102c]
add rsp, 0x20
mov dword [rbp + 0x1250], eax
jmp 0x140107242
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x1020], rax
mov rax, qword [rbp + 0x1020]
xorps xmm0, xmm0
movups xmmword [rbp + rax + 0x1a18], xmm0
movabs rcx, 0x5f15923736823511
movabs rdx, 0x1d86a9532ecd82ba
xor rcx, rdx
sub rax, rcx
movabs rcx, 0x2ca34fe57e53badc
movabs rdx, 0x2ca34fe57e53bacc
xor rcx, rdx
add rax, rcx
movabs rcx, 0x5a571075fdf9d9be
movabs rdx, 0x18c42b11e5b66e15
xor rcx, rdx
add rax, rcx
cmp rax, 0x30
mov qword [rbp + 0x1020], rax
jne 0x1400fb9c2
mov rax, qword [rbp + 0x1048]
mov qword [rbp + 0x1a08], 0
mov qword [rax], 0
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x1018], rax
mov rax, qword [rbp + 0x1018]
xorps xmm0, xmm0
movups xmmword [rbp + rax + 0x1a18], xmm0
movabs rcx, 0x662b049361e7d0e
movabs rdx, 0x662b049361e7d1e
xor rcx, rdx
add rax, rcx
movabs rcx, 0xca3f3993c052fadb
movabs rdx, 0xca3f3993c052faeb
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x1018], rax
jne 0x1400fba6b
mov rax, qword [rbp + 0x1040]
mov rcx, qword [rbp + 0x1030]
add rax, 8
shl rcx, 3
add rax, rcx
mov qword [rbp + 0x1000], rax
movabs rax, 0x814cf17e5239d64e
movabs rcx, 0x814cf17e5239d64f
xor rax, rcx
mov qword [rbp + 0x1a08], rax
movabs rcx, 0xf1352e40253b97ce
movabs rax, 0xf1352e40253b97cf
xor rcx, rax
movabs rdx, 0x445663423660158b
movabs rax, 0x445663423660159b
xor rdx, rax
movabs r8, 0xd2d2e8e1561e0794
movabs rax, 0xd2d2e8e1561e079c
xor r8, rax
sub rsp, 0x20
call fcn.1400143b4
mov r8, qword [rbp + 0x1030]
mov rdx, qword [rbp + 0x1270]
mov rcx, qword [rbp + 0x1268]
mov r9, qword [rbp + 0x1048]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x1040]
mov qword [r9], r10
mov rax, qword [rax + r8*8 + 8]
mov r8, qword [rax + 0x48]
mov qword [rdx], r8
mov rax, qword [rax + 0x50]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140024b17
mov r8, qword [rbp + 0x1268]
mov rdx, qword [rbp + 0x1050]
mov rcx, qword [rbp + 0x1048]
mov eax, dword [rbp + 0x102c]
add rsp, 0x20
mov r8, qword [r8]
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], rdx
mov rcx, qword [rbp + 0x1a08]
cmp rcx, 0
mov qword [rbp + 0x1008], rcx
mov dword [rbp + 0x1014], eax
jg 0x1400fbc36
mov eax, dword [rbp + 0x102c]
mov rcx, qword [rbp + 0x14d8]
mov cl, byte [rcx]
mov byte [rbp + 0xffb], cl
mov dword [rbp + 0xffc], eax
jmp 0x140100aa4
mov eax, dword [rbp + 0xff4]
mov rdx, qword [rbp + 0x1a08]
xor ecx, ecx
cmp rdx, 0
mov qword [rbp + 0x1008], rdx
mov edx, eax
mov dword [rbp + 0x1014], edx
mov byte [rbp + 0xffb], cl
mov dword [rbp + 0xffc], eax
jle 0x140100aa4
mov rcx, qword [rbp + 0x1048]
mov rax, qword [rbp + 0x1008]
mov edx, dword [rbp + 0x1014]
mov dword [rbp + 0xfcc], edx
movabs rdx, 0xd8ba22d69dbf0d4e
sub rax, rdx
movabs rdx, 0xf285636b218add94
movabs r8, 0xd7a9c94de75226b
xor rdx, r8
add rax, rdx
movabs rdx, 0xf4f2477fb3c1daa7
movabs r8, 0x2c4865a92e7ed7e9
xor rdx, r8
add rax, rdx
mov qword [rbp + 0xfe0], rax
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp + 0xfd0], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xfd8], rax
sub rsp, 0x20
call fcn.1400143a4
mov rdx, qword [rbp + 0xfe0]
add rsp, 0x20
lea rcx, [rbp + 0x1a08]
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 + 0xfe8], rax
mov rax, qword [rbp + 0xfe8]
mov rcx, qword [rbp + 0x1278]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
xor ecx, ecx
sub rcx, 0x10
sub rax, rcx
cmp rax, 0x30
mov qword [rbp + 0xfe8], rax
jne 0x1400fbd02
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0xfc0], rax
mov rax, qword [rbp + 0xfc0]
mov rcx, qword [rbp + 0x1278]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
xor ecx, ecx
sub rcx, rax
movabs rax, 0xc8047f3a59feb833
movabs rdx, 0xc8047f3a59feb833
xor rax, rdx
movabs rdx, 0x57cb863652473217
movabs r8, 0x57cb863652473207
xor rdx, r8
sub rax, rdx
add rcx, rax
movabs rax, 0x1e41f0e7195cc5e1
movabs rdx, 0x1e41f0e7195cc5e1
xor rax, rdx
sub rax, rcx
cmp rax, 0x30
mov qword [rbp + 0xfc0], rax
jne 0x1400fbd50
mov rdx, qword [rbp + 0xfd0]
movabs rax, 0xdbc655b05e673c8a
add rdx, rax
add rdx, 4
movabs rax, 0x2ba6cf724b618483
movabs rcx, 0xf0609ac21506b809
xor rax, rcx
sub rdx, rax
mov qword [rbp + 0xf98], rdx
lea rcx, [rbp + 0x19b8]
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x1058]
add rsp, 0x20
mov rcx, qword [rbp + 0x19b8]
mov qword [rbp + 0xfa0], rcx
mov rax, qword [rax]
mov qword [rbp + 0xfa8], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0xfb0], rax
xor eax, eax
mov qword [rbp + 0xfb8], rax
mov rcx, qword [rbp + 0xfb8]
mov rax, qword [rbp + 0xfb0]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rdx, 0xea219919ce50a69
movabs rax, 0xea219919ce50a68
xor rdx, rax
mov rax, rcx
add rax, rdx
cmp rcx, 4
mov qword [rbp + 0xfb8], rax
jne 0x1400fbe4c
mov rcx, qword [rbp + 0xfa0]
movabs rdx, 0x2b8cb53ca64e3e1c
movabs rax, 0x2b8cb53ca64e3e18
xor rdx, rax
mov rax, rcx
add rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
and rdx, r8
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
movabs r9, 0x78758a06077166e1
movabs r10, 0x878a75f9f88e991e
xor r9, r10
xor r8, r9
or rdx, r8
movabs r8, 0xe4092d27df962bc4
movabs r9, 0x1bf6d2d82069d43b
xor r8, r9
xor rdx, r8
movabs r8, 0xab06b05184a25598
movabs r9, 0x54f94fae7b5daa67
xor r8, r9
xor rcx, r8
movabs r8, 0x30a30949e8526607
movabs r9, 0xcf5cf6b617ad99f8
xor r8, r9
movabs r9, 0x4fd12c37e69df6a8
movabs r10, 0xb02ed3c819620957
xor r9, r10
xor r8, r9
and rcx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xbc3744eb0dd9e32
movabs r9, 0xf43c8bb14f2261cd
xor r8, r9
xor rcx, r8
and rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x182cd5ee70a9e806
movabs r8, 0x182cd5ee70a9e806
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xf90], rax
jge 0x1400fbfc4
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xfa0]
add rsp, 0x20
mov qword [rbp + 0xf90], rax
mov rcx, qword [rbp + 0xfd0]
mov rax, qword [rbp + 0xf90]
mov qword [rbp + 0xf78], rax
cmp rcx, 0
setg cl
mov byte [rbp + 0xf87], cl
test cl, 1
mov qword [rbp + 0xf88], rax
jne 0x1400fbffb
jmp 0x1400fc28f
mov rcx, qword [rbp + 0xfd0]
mov rax, rcx
and rax, 1
mov rdx, rcx
or rdx, 1
add rax, rdx
mov qword [rbp + 0xf70], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x50fbc0d74fa1b37c
movabs rdx, 0x50fbc0d74fa1b37c
xor rcx, rdx
cmp rax, rcx
jge 0x1400fc061
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xf78]
add rsp, 0x20
mov qword [rbp + 0xf88], rax
jmp 0x1400fc28f
mov rax, qword [rbp + 0xf70]
cmp rax, 0
jge 0x1400fc0a7
mov rcx, qword [rbp + 0xf70]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0xf78]
add rsp, 0x20
mov qword [rbp + 0xf88], rax
jmp 0x1400fc28f
mov rax, qword [rbp + 0xfd8]
mov rdx, qword [rbp + 0xf78]
mov rcx, qword [rbp + 0xfa8]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0xf58], rcx
add rax, 8
mov qword [rbp + 0xf60], rax
xor eax, eax
mov qword [rbp + 0xf68], rax
mov rcx, qword [rbp + 0xf68]
mov rdx, qword [rbp + 0xfd0]
mov rax, qword [rbp + 0xf58]
mov r8, qword [rbp + 0xf60]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x6cbfab8497556448
movabs rax, 0xc987030ae7a62882
xor r8, rax
mov rax, rcx
sub rax, r8
movabs r8, 0xb745d1c715e52429
movabs r9, 0xb745d1c715e52428
xor r8, r9
add rax, r8
movabs r8, 0xdd1fe028a2b30de8
movabs r9, 0x782748a6d2404122
xor r8, r9
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0xf68], rax
jne 0x1400fc0de
mov r9, qword [rbp + 0xfd0]
mov r8, qword [rbp + 0xf78]
movabs rcx, 0xb823118e3bbd271
mov rax, r8
sub rax, rcx
add rax, r9
movabs rcx, 0xdb38fcb29a31028c
movabs rdx, 0xd0bacdaa798ad0fd
xor rcx, rdx
add rax, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs rdx, 0xfc4ce9cb886b1539
movabs r10, 0xeef662e4667b4616
xor rdx, r10
and rdx, rcx
movabs r11, 0xe58eb523abc424b0
movabs rcx, 0xf7343e0c45d4779f
xor r11, rcx
movabs rcx, 0x69e046561f82b0d3
movabs r10, 0x961fb9a9e07d4f2c
xor rcx, r10
xor r11, rcx
mov r10, rax
and r10, r11
mov rcx, r8
xor rcx, 0xffffffffffffffff
movabs rsi, 0x12ba8b2fee10532f
and rcx, rsi
and r8, r11
or rdx, r10
or rcx, r8
xor rdx, rcx
mov r8, rax
and r8, r9
movabs rcx, 0x3da90c4857bd5d3b
movabs r10, 0x3da90c4857bd5d39
xor rcx, r10
imul rcx, r8
mov r8, rax
add r8, r9
sub r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0xa1323e29da68a935
movabs r8, 0xa1323e29da68a935
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xf88], rax
jge 0x1400fc28f
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xf78]
add rsp, 0x20
mov qword [rbp + 0xf88], rax
mov rax, qword [rbp + 0xf88]
mov qword [rbp + 0xf48], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xfa8]
mov r8, qword [rbp + 0xf48]
add rsp, 0x20
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0xf50], rcx
cmp byte [rax + 0x60], 0
jne 0x1400fc375
mov rax, qword [rbp + 0xf48]
movabs rcx, 0xdb64e13b60d77eb7
movabs rdx, 0xdb64e13b60d77eb7
xor rcx, rdx
cmp rax, rcx
jge 0x1400fc353
mov rcx, qword [rbp + 0xf48]
movabs rdx, 0xe3ce7570686be6f9
movabs rax, 0xe3ce7570686be6f9
xor rdx, rax
movabs r8, 0x747c847016946dda
movabs rax, 0xb837b8fe96b9225
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400fc375
mov r8, qword [rbp + 0xf48]
mov rdx, qword [rbp + 0xf50]
mov rcx, qword [rbp + 0x1290]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rcx, qword [rbp + 0x14d8]
mov rax, qword [rbp + 0x1060]
mov rdx, qword [rbp + 0x1290]
mov rdx, qword [rdx]
mov qword [rbp + 0xf18], rdx
mov rax, qword [rax]
mov qword [rbp + 0xf20], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0xf28], rcx
mov rcx, rax
mov qword [rbp + 0xf30], rcx
mov rcx, rax
mov qword [rbp + 0xf38], rcx
mov qword [rbp + 0xf40], rax
jne 0x1401004a1
mov rax, qword [rbp + 0xf18]
movabs rcx, 0xc159adbc943ef439
movabs rdx, 0xc159adbc943ef43b
xor rcx, rdx
cqo
idiv rcx
mov rdx, rax
mov rax, qword [rbp + 0xf18]
movabs r8, 0xb5c0d35d8e242190
mov rcx, rdx
add rcx, r8
movabs r8, 0x98516ad63aa58754
movabs r9, 0x67ae9529c55a78ab
xor r8, r9
add rcx, r8
movabs r8, 0xb5c0d35d8e242190
sub rcx, r8
mov qword [rbp + 0xf10], rcx
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 1
setg al
and al, cl
test al, 1
jne 0x1400fc470
mov rcx, qword [rbp + 0xf10]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xf08], rax
jmp 0x1400fc4c1
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x14d8]
mov rax, qword [rbp + 0xf20]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0x7f
xor r8b, 0x7f
xor ecx, ecx
cmp dl, r8b
mov rdx, rcx
mov qword [rbp + 0xf28], rdx
mov rdx, rcx
mov qword [rbp + 0xf30], rdx
mov qword [rbp + 0xf38], rcx
mov qword [rbp + 0xf40], rax
jne 0x1401004a1
mov rax, qword [rbp + 0xf08]
mov qword [rbp + 0xee8], rax
movabs rcx, 0xb50876d17ac3b649
movabs rdx, 0xb50876d17ac3b648
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0xee8]
mov qword [rbp + 0xef0], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019fd48]
mulsd xmm0, xmm1
movsd qword [rbp + 0xef8], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0xf00], xmm1
ucomisd xmm0, xmm1
jne 0x1400fc532
jp 0x1400fc532
jmp 0x1400fc5a4
movsd xmm1, qword [rbp + 0xef8]
movsd xmm0, qword [rbp + 0xf00]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0xef8]
movsd qword [rbp + 0xed0], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0xed0]
add rsp, 0x20
movsd xmm2, qword [0x14019fd50]
mulsd xmm1, xmm2
xor eax, eax
ucomisd xmm0, xmm1
mov rcx, rax
mov qword [rbp + 0xed8], rcx
mov qword [rbp + 0xee0], rax
jb 0x140100444
mov rcx, qword [rbp + 0x1298]
mov rdx, qword [rbp + 0xf98]
mov rax, qword [rbp + 0xef0]
mov word [rbp + 0x19f8], ax
sub rsp, 0x20
call fcn.140021f70
mov rcx, qword [rbp + 0x1298]
mov rax, qword [rbp + 0x1068]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0xeb0], rcx
mov rax, qword [rax]
mov qword [rbp + 0xeb8], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0xec0], rax
xor eax, eax
mov qword [rbp + 0xec8], rax
mov rcx, qword [rbp + 0xec8]
mov rax, qword [rbp + 0xec0]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rax, 0x81b368d7e70e1d44
movabs rdx, 0x81b368d7e70e1d45
xor rax, rdx
mov rdx, rcx
and rdx, rax
movabs rax, 0xf0e75d62372abd67
movabs r8, 0xf0e75d62372abd65
xor rax, r8
imul rdx, rax
mov rax, rcx
xor rax, 1
add rax, rdx
movabs rdx, 0xd3f77c5228dee6e1
movabs r8, 0xd3f77c5228dee6e5
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xec8], rax
jne 0x1400fc606
mov rcx, qword [rbp + 0xeb0]
movabs rdx, 0x7182bf0a0c3ea6d
movabs rax, 0x7182bf0a0c3ea69
xor rdx, rax
mov rax, rcx
add rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
or rdx, r8
and rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0x59726502efd563f3
movabs r9, 0xa68d9afd102a9c0c
xor r8, r9
movabs r9, 0xa61551a7b85c5d81
movabs r10, 0x59eaae5847a3a27e
xor r9, r10
xor r8, r9
movabs r9, 0x952ac003eb8be92a
movabs r10, 0x6ad53ffc147416d5
xor r9, r10
movabs r10, 0xf5fd3f32f2c4404d
movabs r11, 0xa02c0cd0d3bbfb2
xor r10, r11
xor r9, r10
or r8, r9
and rcx, r8
movabs r8, 0x4d521c68a2b4cc8e
movabs r9, 0xb2ade3975d4b3371
xor r8, r9
xor rcx, r8
movabs r8, 0xf0a262bdc22b92d2
movabs r9, 0xf5d9d423dd46d2d
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
or rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0xedffdcf6fbd1096d
movabs r8, 0xedffdcf6fbd1096d
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xea8], rax
jge 0x1400fc7b3
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xeb0]
add rsp, 0x20
mov qword [rbp + 0xea8], rax
mov cl, byte [rbp + 0xf87]
mov rax, qword [rbp + 0xea8]
mov qword [rbp + 0xe98], rax
test cl, 1
mov qword [rbp + 0xea0], rax
jne 0x1400fc7dc
jmp 0x1400fca11
mov rdx, qword [rbp + 0xfd0]
mov rcx, rdx
add rcx, 1
mov qword [rbp + 0xe90], rcx
movabs r8, 0xaac67508166e557e
movabs rax, 0x55398af7e991aa81
xor r8, rax
mov rax, rdx
xor rax, r8
movabs r8, 0x59402ed629635ab2
movabs r9, 0xa6bfd129d69ca54d
xor r8, r9
xor rax, r8
movabs r8, 0x1e2cb2950e2a956b
movabs r9, 0xe1d34d6af1d56a94
xor r8, r9
and r8, rax
movabs rax, 0x9bf082b0e05dbe64
movabs r9, 0x9bf082b0e05dbe66
xor rax, r9
imul rax, r8
sub rax, 0xffffffffffffffff
sub rdx, rax
movabs rax, 0xfb53e1402a20559a
movabs r8, 0x4ac1ebfd5dfaa65
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400fc8b1
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xe98]
add rsp, 0x20
mov qword [rbp + 0xea0], rax
jmp 0x1400fca11
mov rax, qword [rbp + 0xe90]
movabs rcx, 0xf872a0e520940462
movabs rdx, 0xf872a0e520940462
xor rcx, rdx
cmp rax, rcx
jge 0x1400fc90d
mov rcx, qword [rbp + 0xe90]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0xe98]
add rsp, 0x20
mov qword [rbp + 0xea0], rax
jmp 0x1400fca11
mov rax, qword [rbp + 0xfd8]
mov rdx, qword [rbp + 0xe98]
mov rcx, qword [rbp + 0xeb8]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0xe78], rcx
add rax, 8
mov qword [rbp + 0xe80], rax
xor eax, eax
mov qword [rbp + 0xe88], rax
mov rcx, qword [rbp + 0xe88]
mov rdx, qword [rbp + 0xfd0]
mov rax, qword [rbp + 0xe78]
mov r8, qword [rbp + 0xe80]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xf659bed84ff989a8
movabs rax, 0xf659bed84ff989a9
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0xe88], rax
jne 0x1400fc944
mov rdx, qword [rbp + 0xfd0]
mov r8, qword [rbp + 0xe98]
mov rax, r8
add rax, rdx
mov rcx, rax
xor rcx, r8
mov r9, rax
xor r9, rdx
movabs r8, 0x3b9e78054b186cb3
movabs r10, 0xc46187fab4e7934c
xor r8, r10
xor r9, r8
mov r8, rdx
and r8, r9
shl r8, 1
sub r8, rdx
mov rdx, rax
sub rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0xea0], rax
jge 0x1400fca11
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xe98]
add rsp, 0x20
mov qword [rbp + 0xea0], rax
mov rax, qword [rbp + 0xea0]
mov qword [rbp + 0xe68], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xeb8]
mov r8, qword [rbp + 0xe68]
add rsp, 0x20
movabs r9, 0xa4cc044d14123b3f
movabs rdx, 0xa4cc044d14123b3f
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0xe70], rcx
mov al, byte [rax + 0x60]
mov cl, 0x77
xor cl, 0x77
cmp al, cl
jne 0x1400fcafd
mov rax, qword [rbp + 0xe68]
cmp rax, 0
jge 0x1400fcadb
mov rcx, qword [rbp + 0xe68]
movabs rdx, 0x863e4456e223a115
movabs rax, 0x863e4456e223a115
xor rdx, rax
movabs r8, 0x558996a308dcca24
movabs rax, 0x2a76695cf72335db
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400fcafd
mov r8, qword [rbp + 0xe68]
mov rdx, qword [rbp + 0xe70]
mov rcx, qword [rbp + 0x12a0]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 0xeb8]
mov rdx, qword [rbp + 0x14d8]
mov r8, qword [rbp + 0x1070]
mov r9, qword [rbp + 0x12a0]
mov r9, qword [r9]
mov qword [rbp + 0xe58], r9
mov r8, qword [r8]
mov qword [rbp + 0xe60], r8
mov r8b, byte [rdx]
mov r9b, 0xc6
xor r9b, 0xc6
xor edx, edx
cmp r8b, r9b
mov r8, rdx
mov qword [rbp + 0xf28], r8
mov qword [rbp + 0xf30], rdx
mov qword [rbp + 0xf38], rcx
mov qword [rbp + 0xf40], rax
jne 0x1401004a1
mov rax, qword [rbp + 0xe58]
mov ecx, 2
cqo
idiv rcx
mov rdx, rax
mov rax, qword [rbp + 0xe58]
movabs r8, 0xee10b6325d1a6587
movabs rcx, 0x11ef49cda2e59a78
xor r8, rcx
mov rcx, rdx
add rcx, r8
mov qword [rbp + 0xe50], rcx
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 1
setg al
and al, cl
test al, 1
jne 0x1400fcbde
mov rcx, qword [rbp + 0xe50]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xe48], rax
jmp 0x1400fcc39
sub rsp, 0x20
call fcn.14000a590
mov r8, qword [rbp + 0x14d8]
mov rdx, qword [rbp + 0xe60]
mov rcx, qword [rbp + 0xeb8]
mov rax, qword [rbp + 0xf20]
add rsp, 0x20
mov r9b, byte [r8]
mov r10b, 0x8b
xor r10b, 0x8b
xor r8d, r8d
cmp r9b, r10b
mov qword [rbp + 0xf28], r8
mov qword [rbp + 0xf30], rdx
mov qword [rbp + 0xf38], rcx
mov qword [rbp + 0xf40], rax
jne 0x1401004a1
mov rax, qword [rbp + 0xe48]
mov qword [rbp + 0xe28], rax
movabs rcx, 0xbc8ac2719f393d8
movabs rdx, 0xbc8ac2719f393d9
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0xe28]
mov qword [rbp + 0xe30], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019fd48]
mulsd xmm0, xmm1
movsd qword [rbp + 0xe38], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0xe40], xmm1
ucomisd xmm0, xmm1
jne 0x1400fccaa
jp 0x1400fccaa
jmp 0x1400fcd25
movsd xmm1, qword [rbp + 0xe38]
movsd xmm0, qword [rbp + 0xe40]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0xe38]
movsd qword [rbp + 0xe20], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0xe20]
mov rcx, qword [rbp + 0xe60]
mov rax, qword [rbp + 0xeb8]
add rsp, 0x20
movsd xmm2, qword [0x14019fd50]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
mov qword [rbp + 0xed8], rcx
mov qword [rbp + 0xee0], rax
jb 0x140100444
mov rdx, qword [rbp + 0xf98]
mov rax, qword [rbp + 0x1078]
mov rcx, qword [rbp + 0xe30]
add cx, 2
mov word [rax], cx
lea rcx, [rbp + 0x19a8]
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x1080]
add rsp, 0x20
mov rcx, qword [rbp + 0x19a8]
mov qword [rbp + 0xe00], rcx
mov rax, qword [rax]
mov qword [rbp + 0xe08], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0xe10], rax
xor eax, eax
mov qword [rbp + 0xe18], rax
mov rcx, qword [rbp + 0xe18]
mov rax, qword [rbp + 0xe10]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rdx, 0xdfcda0b551dfb16
movabs rax, 0x1d9c17be58d04b57
xor rdx, rax
mov rax, rcx
sub rax, rdx
movabs rdx, 0x93c51d89a141da17
movabs r8, 0x93c51d89a141da16
xor rdx, r8
add rax, rdx
movabs rdx, 0x88aa816485d3d5da
movabs r8, 0x98ca4cd1881e659b
xor rdx, r8
add rax, rdx
movabs rdx, 0x2ef86a83bb2a9df2
movabs r8, 0x2ef86a83bb2a9df6
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xe18], rax
jne 0x1400fcd8b
mov rdx, qword [rbp + 0xe00]
mov rax, rdx
and rax, 4
mov rcx, rdx
or rcx, 4
add rax, rcx
movabs rcx, 0x73cd6cf63ca44887
movabs r8, 0x8c329309c35bb778
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0xdf8], rax
jge 0x1400fce83
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xe00]
add rsp, 0x20
mov qword [rbp + 0xdf8], rax
mov cl, byte [rbp + 0xf87]
mov rax, qword [rbp + 0xdf8]
mov qword [rbp + 0xde8], rax
test cl, 1
mov qword [rbp + 0xdf0], rax
jne 0x1400fceac
jmp 0x1400fd12f
mov rdx, qword [rbp + 0xfd0]
mov rcx, rdx
and rcx, 1
shl rcx, 1
movabs r8, 0xf5c796d187c78ada
movabs rax, 0xf5c796d187c78adb
xor r8, rax
mov rax, rdx
xor rax, r8
add rax, rcx
mov qword [rbp + 0xde0], rax
movabs r8, 0xc1b53bfcb3653306
movabs rcx, 0x3e4ac4034c9accf9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
and rcx, 0xffffffffffffffff
movabs r8, 0x7e4c50cfec5ec09e
movabs r9, 0x81b3af3013a13f61
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0xa3599f8c193accc6
movabs r10, 0x5ca66073e6c53339
xor r9, r10
movabs r10, 0x487e23286379fa90
movabs r11, 0xb781dcd79c86056f
xor r10, r11
xor r9, r10
or r8, r9
and rdx, r8
movabs r8, 0xf6d5d5a7eaed6ac2
movabs r9, 0x92a2a581512953d
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
movabs rcx, 0x4cd363cd6fa72168
movabs rdx, 0x4cd363cd6fa72168
xor rcx, rdx
cmp rax, rcx
jge 0x1400fcfd4
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xde8]
add rsp, 0x20
mov qword [rbp + 0xdf0], rax
jmp 0x1400fd12f
mov rax, qword [rbp + 0xde0]
cmp rax, 0
jge 0x1400fd03a
mov rcx, qword [rbp + 0xde0]
movabs rdx, 0x3b8f7352fb6aa9ef
movabs rax, 0x3b8f7352fb6aa9ef
xor rdx, rax
movabs r8, 0x22d5c24cbea57e75
movabs rax, 0x5d2a3db3415a818a
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0xde8]
add rsp, 0x20
mov qword [rbp + 0xdf0], rax
jmp 0x1400fd12f
mov rax, qword [rbp + 0xfd8]
mov rdx, qword [rbp + 0xde8]
mov rcx, qword [rbp + 0xe08]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0xdc8], rcx
add rax, 8
mov qword [rbp + 0xdd0], rax
xor eax, eax
mov qword [rbp + 0xdd8], rax
mov rcx, qword [rbp + 0xdd8]
mov rdx, qword [rbp + 0xfd0]
mov rax, qword [rbp + 0xdc8]
mov r8, qword [rbp + 0xdd0]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0xdd8], rax
jne 0x1400fd071
mov rdx, qword [rbp + 0xfd0]
mov r8, qword [rbp + 0xde8]
xor eax, eax
mov ecx, eax
sub rcx, rdx
mov rax, r8
sub rax, rcx
mov rcx, rax
xor rcx, r8
mov r9, rax
xor r9, rdx
movabs r8, 0xecd80bbc79d2bbd
movabs r10, 0xf1327f443862d442
xor r8, r10
xor r9, r8
mov r8, rdx
and r8, r9
shl r8, 1
sub r8, rdx
mov rdx, rax
sub rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0xdf0], rax
jge 0x1400fd12f
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xde8]
add rsp, 0x20
mov qword [rbp + 0xdf0], rax
mov rax, qword [rbp + 0xdf0]
mov qword [rbp + 0xdb8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xe08]
mov r8, qword [rbp + 0xdb8]
add rsp, 0x20
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0xdc0], rcx
mov al, byte [rax + 0x60]
mov cl, 7
xor cl, 7
cmp al, cl
jne 0x1400fd21b
mov rax, qword [rbp + 0xdb8]
movabs rcx, 0xf7b8c79cc56c8e5b
movabs rdx, 0xf7b8c79cc56c8e5b
xor rcx, rdx
cmp rax, rcx
jge 0x1400fd1f9
mov rcx, qword [rbp + 0xdb8]
movabs rdx, 0xded06523db00a8cc
movabs rax, 0xded06523db00a8cc
xor rdx, rax
movabs r8, 0x7e7e2a6eca661e7a
movabs rax, 0x181d5913599e185
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400fd21b
mov r8, qword [rbp + 0xdb8]
mov rdx, qword [rbp + 0xdc0]
lea rcx, [rbp + 0x1998]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 0xeb8]
mov rdx, qword [rbp + 0xe60]
mov r8, qword [rbp + 0xe08]
mov r9, qword [rbp + 0x14d8]
mov r10, qword [rbp + 0x1088]
mov r11, qword [rbp + 0x1998]
mov qword [rbp + 0xda8], r11
mov r10, qword [r10]
mov qword [rbp + 0xdb0], r10
cmp byte [r9], 0
mov qword [rbp + 0xf28], r8
mov qword [rbp + 0xf30], rdx
mov qword [rbp + 0xf38], rcx
mov qword [rbp + 0xf40], rax
jne 0x1401004a1
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x14d8]
add rsp, 0x20
mov eax, dword [rbp + 0xfcc]
mov dl, byte [rcx]
mov r8b, 0x28
xor r8b, 0x28
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jne 0x140100505
mov rax, qword [rbp + 0x1090]
mov r8, qword [rbp + 0xda8]
mov rcx, qword [rbp + 0xdb0]
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
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 + 0xd98], rax
mov rcx, qword [rbp + 0xd98]
xorps xmm0, xmm0
movups xmmword [rbp + rcx + 0x19c8], xmm0
mov rax, rcx
and rax, 0x10
movabs rdx, 0xa2efa4f0badcd5ba
movabs r8, 0xa2efa4f0badcd5aa
xor rdx, r8
or rcx, rdx
add rax, rcx
cmp rax, 0x30
mov qword [rbp + 0xd98], rax
jne 0x1400fd310
mov rax, qword [rbp + 0x1280]
mov rdx, qword [rbp + 0x10b8]
mov r8, qword [rbp + 0x10b0]
mov r9, qword [rbp + 0x10a8]
mov rcx, qword [rbp + 0x10a0]
mov r10, qword [rbp + 0x1098]
mov dword [rbp + 0x19c8], 0x30
lea r11, [rbp + 0x19f8]
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 + 0x1280]
mov r9, qword [rbp + 0x1288]
add rsp, 0x20
xorps xmm0, xmm0
movaps xmmword [r9], xmm0
mov rax, qword [0x1401a1660]
mov rax, qword [rax]
mov edx, 0x15a48fba
xor edx, 0x95a48fba
mov r11d, 0x8af41d6f
xor r11d, 0x8af41d68
mov r10d, 0x88b225e0
xor r10d, 0x88b225e1
lea r8, [rbp + 0x19c8]
sub rsp, 0x30
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r10d
call rax
mov rdx, qword [rbp + 0x14d8]
add rsp, 0x30
mov ecx, eax
mov eax, dword [rbp + 0xfcc]
mov dword [rbp + 0xd94], ecx
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jne 0x140100505
mov ecx, dword [rbp + 0xd94]
mov rax, qword [rbp + 0x10c0]
mov rdx, qword [rbp + 0xfd8]
mov r8, qword [rbp + 0xfd0]
mov qword [rbp + 0x1988], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1988]
sub rsp, 0x20
call fcn.1400b6967
mov rdx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xfcc]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jne 0x140100505
mov ecx, dword [rbp + 0xd94]
mov rax, qword [rbp + 0x10c8]
mov rdx, qword [rbp + 0xfd8]
mov r8, qword [rbp + 0xfd0]
mov qword [rbp + 0x1978], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1978]
sub rsp, 0x20
call fcn.1400b6a26
mov rdx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xfcc]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jne 0x140100505
mov r8, qword [rbp + 0x12a8]
mov edx, dword [rbp + 0xd94]
mov rax, qword [rbp + 0x10d0]
mov r9, qword [rbp + 0xfd8]
mov r10, qword [rbp + 0xfd0]
mov rcx, qword [rbp + 0x1280]
mov rcx, qword [rcx]
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400b6ae5
mov rdx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xfcc]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jne 0x140100505
mov rax, qword [rbp + 0x1280]
cmp qword [rax], 1
jge 0x1400fd5db
mov ecx, dword [rbp + 0xd94]
mov rax, qword [0x1401a00f0]
mov qword [rbp + 0x1968], rax
mov rax, qword [0x1401a00f8]
mov qword [rbp + 0x1970], rax
lea rdx, [rbp + 0x1968]
sub rsp, 0x20
call fcn.1400a216b
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xfcc]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0xb
xor r8b, 0xb
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jne 0x140100505
mov rdx, qword [rbp + 0x12b0]
mov ecx, dword [rbp + 0xd94]
mov rax, qword [0x1401a00f0]
mov qword [rdx], rax
mov rax, qword [0x1401a00f8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400a216b
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xfcc]
add rsp, 0x20
mov r8b, byte [rcx]
mov r9b, 0x66
xor r9b, 0x66
mov edx, 0x1d4c0
mov cl, 1
cmp r8b, r9b
mov qword [rbp + 0xd78], rdx
mov dl, cl
mov byte [rbp + 0xd87], dl
mov edx, eax
mov dword [rbp + 0xd88], edx
mov byte [rbp + 0xd8f], cl
mov dword [rbp + 0xd90], eax
jne 0x14010038d
mov rcx, qword [rbp + 0xd78]
mov al, byte [rbp + 0xd87]
mov edx, dword [rbp + 0xd88]
mov dword [rbp + 0xd64], edx
mov byte [rbp + 0xd63], al
mov qword [rbp + 0xd58], rcx
sub rsp, 0x20
call fcn.14000dc72
mov cl, byte [rbp + 0xd63]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xd64]
mov qword [rbp + 0xd68], rdx
mov byte [rbp + 0xd73], cl
mov dword [rbp + 0xd74], eax
jmp 0x1400fd6c6
mov cl, byte [rbp + 0xd57]
mov eax, dword [rbp + 0xd50]
mov byte [rbp + 0xd73], cl
mov dword [rbp + 0xd74], eax
mov rbx, qword [rbp + 0xd68]
mov r14, qword [rbp + 0x1288]
mov rcx, qword [rbp + 0x1280]
mov r10b, byte [rbp + 0xd73]
mov eax, dword [rbp + 0xd74]
mov dword [rbp + 0xd3c], eax
mov byte [rbp + 0xd3b], r10b
mov rax, qword [0x1401a1680]
mov rax, qword [rax]
mov rcx, qword [rcx]
movabs rdx, 0x82b6e6457ac7ea24
movabs r8, 0x82b6e6457ac7ea24
xor rdx, r8
mov edi, 0x6c3eafa3
xor edi, 0x6c3f7b63
mov esi, 0x3f4ace14
xor esi, 0x3f4ace17
mov r11b, 0xb
xor r11b, 0xb
xor r8d, r8d
mov r9d, r8d
sub rsp, 0x60
mov r8, r9
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x38], esi
mov byte [rsp + 0x40], r11b
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x50], r10b
call rax
mov rdx, qword [rbp + 0x14d8]
mov ecx, dword [rbp + 0xd3c]
add rsp, 0x60
mov r8d, eax
mov rax, qword [rbp + 0xd68]
mov dword [rbp + 0xd40], r8d
cmp byte [rdx], 0
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
jne 0x140100352
mov eax, dword [rbp + 0xd40]
cmp eax, 0x103
mov dword [rbp + 0xd34], eax
jne 0x1400fd999
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x1280]
mov r8, qword [rbp + 0x12b8]
add rsp, 0x20
mov qword [r8], 0
mov qword [r8], 0xffffffffffb3b4c0
mov rax, qword [0x1401a16b0]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov dl, 0xd9
xor dl, 0xd8
sub rsp, 0x20
call rax
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x14d8]
mov dword [rbp + 0xd30], ecx
cmp byte [rax], 0
jne 0x1400fd97a
mov eax, dword [rbp + 0xd30]
test eax, eax
je 0x1400fd966
jmp 0x1400fd832
mov eax, dword [rbp + 0xd30]
sub eax, 0x102
jne 0x1400fd8c5
jmp 0x1400fd848
mov ecx, 0x40
mov edx, 8
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, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff86c50ffb
call fcn.140019b17
add rsp, 0x30
jmp 0x1400fd97a
movabs rcx, 0x79c5af15678a7e6d
movabs rax, 0x79c5af15678a7e2d
xor rcx, rax
movabs rdx, 0xbef6291bc4a2a805
movabs rax, 0xbef6291bc4a2a80d
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, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff841e2fd7
call fcn.140019b17
add rsp, 0x30
jmp 0x1400fd97a
mov rax, qword [rbp + 0x1288]
mov eax, dword [rax]
mov dword [rbp + 0xd34], eax
jmp 0x1400fd999
mov rax, qword [rbp + 0xd68]
mov ecx, dword [rbp + 0xd3c]
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
jmp 0x140100352
mov rdx, qword [rbp + 0x10d8]
mov ecx, dword [rbp + 0xd34]
mov dword [rbp + 0xd28], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0xd2f], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x1400fd9db
jmp 0x1400fdc14
mov rcx, qword [rbp + 0xd58]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0xd10], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019fd48]
mulsd xmm0, xmm1
movsd qword [rbp + 0xd18], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0xd20], xmm1
ucomisd xmm0, xmm1
jne 0x1400fda2b
jp 0x1400fda2b
jmp 0x1400fdab6
movsd xmm1, qword [rbp + 0xd18]
movsd xmm0, qword [rbp + 0xd20]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0xd18]
movsd qword [rbp + 0xd08], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0xd08]
add rsp, 0x20
movsd xmm2, qword [0x14019fd50]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400fdab6
sub rsp, 0x20
call fcn.14000a590
mov ecx, dword [rbp + 0xd3c]
mov rax, qword [rbp + 0xd68]
add rsp, 0x20
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
jmp 0x140100352
mov rax, qword [rbp + 0xd10]
movabs rcx, 0xea47bfa70fb1298e
movabs rdx, 0xea47bfa70fa1298e
xor rcx, rdx
cmp rax, rcx
jl 0x1400fdb74
mov ecx, 0x40
mov edx, 8
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
lea rdx, [0x1401a0068]
lea r8, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffc8d71743
call fcn.140019b17
mov ecx, dword [rbp + 0xd3c]
mov rax, qword [rbp + 0xd68]
add rsp, 0x30
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
jmp 0x140100352
mov rcx, qword [rbp + 0xd68]
sub rsp, 0x20
call fcn.1400259f3
mov rdx, qword [rbp + 0xd10]
mov cl, byte [rbp + 0xd3b]
mov eax, dword [rbp + 0xd3c]
add rsp, 0x20
cmp rdx, 0
mov qword [rbp + 0xd78], rdx
mov byte [rbp + 0xd87], cl
mov dword [rbp + 0xd88], eax
jge 0x1400fd654
mov rcx, qword [rbp + 0xd10]
movabs rdx, 0xdc2d0715f698d369
movabs rax, 0xdc2d0715f698d369
xor rdx, rax
movabs r8, 0x224ea711ea236173
movabs rax, 0x5db158ee15dc9e8c
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov ecx, dword [rbp + 0xd3c]
add rsp, 0x20
xor eax, eax
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
jmp 0x140100352
mov eax, dword [rbp + 0xd3c]
mov rcx, qword [rbp + 0xd68]
mov dl, byte [rbp + 0xd2f]
test dl, 1
mov qword [rbp + 0xcf8], rcx
mov dword [rbp + 0xd04], eax
jne 0x1400fdc42
jmp 0x14010023f
mov rcx, qword [rbp + 0xcf8]
mov eax, dword [rbp + 0xd04]
mov dword [rbp + 0xcdc], eax
mov qword [rbp + 0xce0], rcx
mov rdx, rcx
add rdx, 0x3c
mov qword [rbp + 0xce8], rdx
cmp dword [rcx + 0x3c], 0
mov dword [rbp + 0xcf4], eax
je 0x140100068
mov rax, qword [rbp + 0xce0]
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0xcd0], 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 + 0x14d8]
mov al, byte [rax]
mov byte [rbp + 0xcda], al
test al, al
sete al
mov byte [rbp + 0xcdb], al
and al, cl
test al, 1
jne 0x1400fdccd
jmp 0x1400fef99
mov rax, qword [rbp + 0xce8]
mov eax, dword [rax]
mov dword [rbp + 0xccc], eax
sub eax, 2
je 0x1400fde06
jmp 0x1400fdcea
mov eax, dword [rbp + 0xccc]
sub eax, 4
jne 0x1400fdec5
jmp 0x1400fdcfe
mov rax, qword [rbp + 0xce0]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0xcc0], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0xcca], ax
mov cx, 0xe2bf
xor cx, 0xe240
cmp ax, cx
jbe 0x1400fdd64
mov ax, word [rbp + 0xcca]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov dword [rbp + 0xcbc], eax
jmp 0x1400fef23
mov ax, word [rbp + 0xcca]
mov cx, 0x9760
xor cx, 0x974e
cmp ax, cx
jne 0x1400fdf79
mov rax, qword [rbp + 0xcc0]
mov ax, word [rax + 2]
mov word [rbp + 0xcba], ax
cmp ax, 0xff
jbe 0x1400fddcd
mov ax, word [rbp + 0xcba]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov dword [rbp + 0xcbc], eax
jmp 0x1400fef23
mov eax, dword [rbp + 0xcdc]
mov r8w, word [rbp + 0xcba]
xor ecx, ecx
mov dl, cl
mov ecx, 0x1f
cmp r8w, 0x2e
mov byte [rbp + 0xcaf], dl
mov dword [rbp + 0xcb0], ecx
mov dword [rbp + 0xcb4], eax
je 0x1400fef70
jmp 0x1400fdf79
mov rax, qword [rbp + 0xce0]
mov ax, word [rax + 0x5e]
mov word [rbp + 0xcac], ax
mov cx, 0x28da
xor cx, 0x2825
cmp ax, cx
jbe 0x1400fde82
mov ax, word [rbp + 0xcac]
movzx eax, ax
mov ecx, eax
movabs rdx, 0x87311d43bb9ee2c6
movabs rax, 0x87311d43bb9ee2c6
xor rdx, rax
movabs r8, 0x71c38c05a6cabfe0
movabs rax, 0x71c38c05a6cabf1f
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov dword [rbp + 0xcbc], eax
jmp 0x1400fef23
mov eax, dword [rbp + 0xcdc]
mov r8w, word [rbp + 0xcac]
mov r9w, 0xe97c
xor r9w, 0xe952
xor ecx, ecx
mov dl, cl
mov ecx, 0x1f
cmp r8w, r9w
mov byte [rbp + 0xcaf], dl
mov dword [rbp + 0xcb0], ecx
mov dword [rbp + 0xcb4], eax
je 0x1400fef70
jmp 0x1400fdf79
mov eax, dword [rbp + 0xccc]
mov ecx, 0xcebe5539
xor ecx, 0x3141aac6
cmp eax, ecx
jge 0x1400fdf79
mov edx, dword [rbp + 0xccc]
mov ecx, 0x2a453ed0
xor ecx, 0x2a453ed0
mov eax, 0x6290c45e
xor eax, 0x9d6f3ba1
xor ecx, eax
and ecx, edx
mov eax, 0xebd3f285
xor eax, 0x142c0d7a
xor edx, eax
mov eax, 0xa80e40f8
xor eax, 0xa80e40f8
and eax, edx
sub eax, ecx
mov ecx, 0xf7a0d64f
xor ecx, 0xf7a0d64e
shr eax, cl
mov ecx, eax
xor eax, eax
sub eax, ecx
movsxd rcx, eax
movabs rdx, 0x3a090a2ef08e7569
movabs rax, 0x3a090a2ef08e7569
xor rdx, rax
movabs r8, 0x55f6c2a3c65693a9
movabs rax, 0x2a093d5c39a96c56
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov dword [rbp + 0xcbc], eax
jmp 0x1400fef23
mov eax, dword [rbp + 0xccc]
mov rcx, qword [rbp + 0xce0]
add rcx, 0x5e
mov qword [rbp + 0xc90], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0xc90]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x1928]
sub rsp, 0x20
call fcn.14009f071
mov rdx, qword [rbp + 0x10e0]
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov r8, qword [rbp + 0x1928]
mov qword [rbp + 0xc98], r8
mov rdx, qword [rdx]
mov qword [rbp + 0xca0], rdx
mov r8b, byte [rcx]
mov r9b, 0xc2
xor r9b, 0xc2
mov dl, 1
mov ecx, 0x11
cmp r8b, r9b
mov byte [rbp + 0xcaf], dl
mov dword [rbp + 0xcb0], ecx
mov dword [rbp + 0xcb4], eax
jne 0x1400fef70
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp + 0xc80], rax
add rax, 0x60
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xca0]
mov r8, qword [rbp + 0xc98]
add rsp, 0x20
mov rax, qword [rbp + 0xc80]
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0xc88], rcx
mov al, byte [rax + 0x60]
mov cl, 0xdc
xor cl, 0xdc
cmp al, cl
jne 0x1400fe1a6
mov rax, qword [rbp + 0xc98]
movabs rcx, 0x259a1ff977fe6b17
movabs rdx, 0x259a1ff977fe6b15
xor rcx, rdx
cqo
idiv rcx
mov rdx, rax
mov rax, qword [rbp + 0xc98]
movabs r8, 0xf643a5a08de67474
movabs rcx, 0x65db0c8f7ea421a2
xor r8, rcx
mov rcx, rdx
sub rcx, r8
movabs r8, 0x48303017afbeb610
movabs r9, 0xb7cfcfe8504149ef
xor r8, r9
add rcx, r8
movabs r8, 0x9398a92ff34255d6
add rcx, r8
mov qword [rbp + 0xc78], rcx
xor rcx, rdx
movabs rdx, 0xf627548a23fe8c94
movabs r8, 0xf627548a23fe8c94
xor rdx, r8
cmp rcx, rdx
setl dl
movabs rcx, 0xf8599db34066e094
movabs r8, 0xf8599db34066e095
xor rcx, r8
cmp rax, rcx
setg al
or al, al
xor al, 0xff
xor ecx, ecx
mov r8b, cl
xor r8b, 1
mov cl, dl
xor cl, r8b
xor dl, 0xff
and cl, dl
xor al, 0xff
mov dl, 1
xor dl, 0
xor cl, dl
and al, cl
test al, 1
jne 0x1400fe199
mov rdx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc78]
xor ecx, ecx
test rax, rax
mov r8d, ecx
cmovg r8, rax
lea rcx, [rbp + 0x1918]
sub rsp, 0x20
call fcn.14009eb59
add rsp, 0x20
jmp 0x1400fe1a6
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0xcdc]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x10e8]
mov r8, qword [rbp + 0x1918]
mov qword [rbp + 0xc58], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xc60], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov rcx, qword [rbp + 0xc60]
mov rdx, qword [rbp + 0xc58]
mov rsi, qword [rbp + 0xfd0]
mov rdi, qword [rbp + 0x1108]
mov r14, qword [rbp + 0x1100]
mov rbx, qword [rbp + 0x10f8]
mov rax, qword [rbp + 0x10f0]
mov byte [rbp + 0x1938], 1
mov qword [rbp + 0x18f8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1908]
lea rdx, [rbp + 0x18f8]
sub rsp, 0x20
call fcn.140024b17
mov r11, qword [rbp + 0xfd8]
mov r10, qword [rbp + 0x1110]
mov r9, qword [rbp + 0xc58]
mov rax, qword [rbp + 0x1118]
mov rdx, qword [rbp + 0x12c0]
mov r8, qword [rbp + 0x12c8]
mov rcx, qword [rbp + 0xc60]
add rsp, 0x20
mov r15, qword [rbp + 0x1908]
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 + 0x18e8]
sub rsp, 0x20
call fcn.14004973b
mov r8, qword [rbp + 0x1120]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xc60]
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov r9, qword [rbp + 0x18e8]
mov qword [rbp + 0xc48], r9
mov r8, qword [r8]
mov qword [rbp + 0xc50], r8
cmp byte [rdx], 0
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov rcx, qword [rbp + 0x1278]
mov rax, qword [rbp + 0x1138]
mov rdx, qword [rbp + 0x1130]
mov r8, qword [rbp + 0xc50]
mov r9, qword [rbp + 0x1128]
mov r10, qword [rbp + 0xc48]
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], 0
lea rdx, [rbp + 0x1938]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xc60]
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xba
xor r8b, 0xba
cmp dl, r8b
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov rax, qword [rbp + 0x1278]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0xc47], al
jne 0x1400fe68a
mov rdx, qword [rbp + 0x12d0]
mov rax, qword [rbp + 0x1140]
mov rcx, qword [rbp + 0x1000]
mov rcx, qword [rcx]
mov r8, qword [rcx + 0x48]
mov qword [rbp + 0x18d8], r8
mov rcx, qword [rcx + 0x50]
mov qword [rbp + 0x18e0], rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x18d8]
sub rsp, 0x20
call fcn.1400b7216
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xc60]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xcdc]
mov qword [rbp + 0xc38], r8
mov dl, byte [rdx]
mov r8b, 0xd5
xor r8b, 0xd5
cmp dl, r8b
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov rdx, qword [rbp + 0xc38]
movabs rcx, 0x56a17654924144e3
movabs rax, 0x56a17654924144e3
xor rcx, rax
sub rcx, rdx
xor eax, eax
sub rax, 1
add rcx, rax
movabs rax, 0xa0d4443d18bbf70a
movabs r8, 0xa0d4443d18bbf70a
xor rax, r8
sub rax, rcx
mov qword [rbp + 0xc30], rax
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0x8302cf367bbd4dd7
movabs r9, 0x7cfd30c98442b228
xor r8, r9
movabs r9, 0xbc4d10ca2103156
movabs r10, 0xf43b2ef35defcea9
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x351e23fd8a307351
movabs r9, 0xcae1dc0275cf8cae
xor r8, r9
movabs r9, 0xb00856dd797d0393
movabs r10, 0x4ff7a9228682fc6c
xor r9, r10
and r8, r9
xor r8, 0xffffffffffffffff
movabs r9, 0x72b98b19b7c645b6
movabs r10, 0x8d4674e64839ba49
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
movabs rdx, 0xe7791d413f2d5f7e
movabs r8, 0x1886e2bec0d2a081
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x76e4a1cb80bc2f58
movabs rdx, 0x76e4a1cb80bc2f58
xor rcx, rdx
cmp rax, rcx
jge 0x1400fe562
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0xc60]
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jmp 0x1400fedca
mov rax, qword [rbp + 0x1000]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov dword [rbp + 0xc2c], eax
mov ecx, 0xf9aa8a81
xor ecx, 0x655757e
cmp eax, ecx
jne 0x1400fe5f6
mov rdx, qword [rbp + 0x12d8]
mov rax, qword [rbp + 0x1140]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x18c8]
sub rsp, 0x20
call fcn.140024b17
mov rcx, qword [rbp + 0x1158]
mov rax, qword [rbp + 0x1160]
mov rdx, qword [rbp + 0x12e0]
add rsp, 0x20
mov r8, qword [rbp + 0x18c8]
mov rcx, qword [rcx]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1a08]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
jmp 0x1400fe67b
mov rax, qword [rbp + 0xc30]
mov ecx, dword [rbp + 0xc2c]
movsxd rcx, ecx
cmp rax, rcx
jg 0x1400fe67b
mov rcx, qword [rbp + 0x12e8]
mov rdx, qword [rbp + 0x12f0]
mov rax, qword [rbp + 0x1140]
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 r8, qword [rbp + 0x12e8]
mov rcx, qword [rbp + 0x1148]
mov rax, qword [rbp + 0x1150]
mov rdx, qword [rbp + 0x12f8]
add rsp, 0x20
mov r8, qword [r8]
mov rcx, qword [rcx]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1a08]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov rax, qword [rbp + 0x1278]
mov al, byte [rax]
mov byte [rbp + 0xc47], al
mov eax, dword [rbp + 0xcdc]
mov rcx, qword [rbp + 0xc60]
mov dl, byte [rbp + 0xc47]
mov r8b, 0x1f
xor r8b, 0x1f
cmp dl, r8b
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov rdx, qword [rbp + 0x1278]
lea rcx, [rbp + 0x1a18]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xc60]
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov rcx, qword [rbp + 0x1278]
sub rsp, 0x20
call fcn.1400b766f
mov rcx, qword [rbp + 0xc60]
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov dl, byte [rbp + 0x1a18]
mov r8b, 0x96
xor r8b, 0x96
cmp dl, r8b
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov eax, dword [rbp + 0xcdc]
mov rcx, qword [rbp + 0xc60]
mov rdx, qword [rbp + 0x1000]
mov rdx, qword [rdx]
mov r8, qword [rdx + 0x58]
mov qword [rbp + 0xc18], r8
movabs r9, 0x5c7d1adc59c743eb
movabs rdx, 0x5c7d1adc59c743eb
xor r9, rdx
xor edx, edx
cmp r8, r9
mov qword [rbp + 0xc20], rdx
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jle 0x1400fedca
mov rcx, qword [rbp + 0x1000]
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0xc00], rax
mov rcx, qword [rcx]
mov qword [rbp + 0xc08], rcx
mov rcx, qword [rcx + 0x58]
mov qword [rbp + 0xc10], rcx
cmp rax, rcx
jl 0x1400fe830
mov rcx, qword [rbp + 0xc00]
mov rdx, qword [rbp + 0xc10]
movabs rax, 0x137bba86a6e19e15
movabs r8, 0x137bba86a6e19e15
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140019d55
mov rcx, qword [rbp + 0xc60]
mov eax, dword [rbp + 0xcdc]
add rsp, 0x20
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jmp 0x1400fedca
mov rax, qword [rbp + 0x1168]
mov rdx, qword [rbp + 0xc00]
mov rcx, qword [rbp + 0xc08]
mov rcx, qword [rcx + 0x60]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0xbf0], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14008c8b2
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xc60]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xcdc]
mov byte [rbp + 0xbff], r8b
mov dl, byte [rdx]
mov r8b, 0x2c
xor r8b, 0x2c
cmp dl, r8b
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov al, byte [rbp + 0xbff]
test al, 1
jne 0x1400fe8bb
jmp 0x1400fed8e
mov rax, qword [rbp + 0x1168]
mov rcx, qword [rbp + 0xbf0]
mov rcx, qword [rcx]
mov qword [rbp + 0xbe0], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0xbe8], rax
cmp rax, rcx
jl 0x1400fed8e
mov rax, qword [rbp + 0xbe8]
mov rcx, qword [rbp + 0xbe0]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x1400fed8e
mov rcx, qword [rbp + 0x1300]
mov rax, qword [rbp + 0x1170]
mov rdx, qword [rax]
mov qword [rbp + 0x18b8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x18c0], rax
lea rdx, [rbp + 0x18b8]
sub rsp, 0x20
call fcn.140024b17
mov r8, qword [rbp + 0x1300]
mov rcx, qword [rbp + 0x1178]
mov rax, qword [rbp + 0xbf0]
mov rdx, qword [rbp + 0x1308]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0xbc8], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xbd0], rcx
mov rax, qword [rax]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x18a8]
sub rsp, 0x20
call fcn.140024b17
mov rdx, qword [rbp + 0x1180]
mov r11, qword [rbp + 0xbc8]
mov r10, qword [rbp + 0xbd0]
mov r9, qword [rbp + 0x1188]
mov rax, qword [rbp + 0x1190]
mov rcx, qword [rbp + 0x1310]
add rsp, 0x20
mov r8, qword [rbp + 0x18a8]
mov rdx, qword [rdx]
mov qword [rcx], r11
mov qword [r9], r10
mov qword [rbp + 0x1898], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1898]
sub rsp, 0x20
call fcn.1400752cc
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xc60]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xcdc]
mov byte [rbp + 0xbdf], r8b
cmp byte [rdx], 0
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jne 0x1400fedca
mov al, byte [rbp + 0xbdf]
test al, 1
jne 0x1400fea30
jmp 0x1400fed8e
mov rax, qword [rbp + 0x1000]
mov rax, qword [rax]
mov qword [rbp + 0xbc0], rax
cmp rax, 0
je 0x1400feb5d
mov rax, qword [rbp + 0xbc0]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rbp + 0xbb0], rcx
mov rdx, qword [rax - 0x10]
mov rcx, rdx
and rcx, 0x10
movabs rax, 0xd770f8712098bf1a
movabs r8, 0xd770f8712098bf18
xor rax, r8
imul rcx, rax
movabs r8, 0x73bbec4943fd6daa
movabs rax, 0x73bbec4943fd6dba
xor r8, rax
mov rax, rdx
xor rax, r8
add rax, rcx
mov qword [rbp + 0xbb8], rax
movabs rcx, 0xdc978828bd42d85d
movabs r8, 0x236877d742bd27a2
xor rcx, r8
xor rdx, rcx
movabs r8, 0xd9a3647d1f6f9891
movabs rcx, 0xd9a3647d1f6f9890
xor r8, rcx
mov rcx, rax
add rcx, r8
movabs r8, 0x6a72e82ba929c16a
movabs r9, 0x958d17d456d63e95
xor r8, r9
xor rax, r8
or rax, rdx
add rax, rcx
movabs rcx, 0x5ef171b9faf63c83
movabs rdx, 0x5ef171b9faf63c83
xor rcx, rdx
cmp rax, rcx
jl 0x1400feb3a
mov rax, qword [rbp + 0xbb0]
mov rcx, qword [rbp + 0xbb8]
mov qword [rax], rcx
jmp 0x1400feb5d
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xdf
xor cl, 0xdf
cmp al, cl
jne 0x1400fed50
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0xba8], rax
mov rcx, qword [rbp + 0xba8]
xorps xmm0, xmm0
movups xmmword [rbp + rcx + 0x1868], xmm0
movabs rdx, 0xa1c5e47e2109931f
movabs rax, 0xa1c5e47e2109930f
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs rdx, 0x21ef33545055f13b
movabs r8, 0x21ef33545055f12b
xor rdx, r8
or rcx, rdx
add rax, rcx
movabs rcx, 0x53f9437336ca439d
movabs rdx, 0x53f9437336ca43ad
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0xba8], rax
jne 0x1400feb7c
lea rcx, [rbp + 0x1868]
lea rdx, [rbp + 0x1a18]
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
lea rcx, [rbp + 0x1a18]
sub rsp, 0x20
call fcn.1400b766f
mov rax, qword [rbp + 0x1198]
mov rcx, qword [rbp + 0x1258]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xb98], rax
mov rcx, qword [rcx]
mov qword [rbp + 0xba0], rcx
cmp rax, 0
je 0x1400fec88
mov rax, qword [rbp + 0xba0]
mov r9, qword [rbp + 0xb98]
mov rdx, qword [rbp + 0xbc0]
mov rcx, qword [rbp + 0x1260]
lea r8, [rbp + 0x1868]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0xb97], al
jmp 0x1400fecb4
mov rax, qword [rbp + 0xba0]
mov rdx, qword [rbp + 0xbc0]
mov rcx, qword [rbp + 0x1260]
lea r8, [rbp + 0x1868]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0xb97], al
mov rax, qword [rbp + 0x14d8]
mov cl, byte [rbp + 0xb97]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x1400fecd7
jmp 0x1400fed6f
mov eax, dword [rbp + 0xcdc]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0xb88], rax
mov rdx, rcx
add rdx, rdx
not rdx
add rdx, rcx
and rax, rdx
test rax, rax
sets al
add rcx, 0xffffffff80000001
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x1400fed43
mov rcx, qword [rbp + 0xc60]
mov rax, qword [rbp + 0xb88]
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jmp 0x1400fedca
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0xcdc]
mov rcx, qword [rbp + 0xc60]
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jmp 0x1400fedca
mov eax, dword [rbp + 0xcdc]
mov rcx, qword [rbp + 0xc60]
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jmp 0x1400fedca
mov eax, dword [rbp + 0xcdc]
mov rcx, qword [rbp + 0xc60]
mov r8, qword [rbp + 0xc18]
mov rdx, qword [rbp + 0xc00]
add rdx, 1
cmp rdx, r8
mov qword [rbp + 0xc20], rdx
mov qword [rbp + 0xc68], rcx
mov dword [rbp + 0xc74], eax
jl 0x1400fe79b
mov rax, qword [rbp + 0xca0]
mov rcx, qword [rbp + 0xc68]
mov edx, dword [rbp + 0xc74]
mov dword [rbp + 0xb7c], edx
mov qword [rbp + 0xb80], rcx
cmp rax, 0
je 0x1400fee3d
mov rcx, qword [rbp + 0xca0]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x482b06e7e45b57fd
movabs rdx, 0x482b06e7e45b57fd
xor rcx, rdx
cmp rax, rcx
jne 0x1400fee3d
mov rcx, qword [rbp + 0xca0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov eax, dword [rbp + 0xb7c]
mov rcx, qword [rbp + 0xb80]
cmp rcx, 0
mov dword [rbp + 0xcbc], eax
je 0x1400fef23
mov eax, dword [rbp + 0xb7c]
mov rcx, qword [rbp + 0xb80]
mov rcx, qword [rcx]
or rcx, rcx
movabs rdx, 0xaa9b297c9c398756
movabs r8, 0x5564d68363c678a9
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xdce6f9b18a7c6ce3
movabs r8, 0x9ce6f9b18a7c6ce3
xor rdx, r8
movabs r8, 0xac65d34e53f8eb38
movabs r9, 0xec65d34e53f8eb38
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x84958079be19f723
movabs r9, 0x7b6a7f8641e608dc
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xc66b9dc7f668d341
movabs r8, 0xc66b9dc7f668d341
xor rdx, r8
cmp rcx, rdx
mov dword [rbp + 0xcbc], eax
jne 0x1400fef23
mov rcx, qword [rbp + 0xb80]
sub rsp, 0x20
call fcn.1400121d0
mov eax, dword [rbp + 0xb7c]
add rsp, 0x20
mov dword [rbp + 0xcbc], eax
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xcbc]
mov dword [rbp + 0xb78], eax
mov dl, byte [rcx]
mov r8b, 0x83
xor r8b, 0x83
mov ecx, 0x11
cmp dl, r8b
mov byte [rbp + 0xcaf], dl
mov dword [rbp + 0xcb0], ecx
mov dword [rbp + 0xcb4], eax
jne 0x1400fef70
mov eax, dword [rbp + 0xb78]
mov dword [rbp + 0xb74], eax
jmp 0x1400fefdc
mov dl, byte [rbp + 0xcaf]
mov ecx, dword [rbp + 0xcb0]
mov eax, dword [rbp + 0xcb4]
mov byte [rbp + 0xb6b], dl
mov dword [rbp + 0xb6c], ecx
mov dword [rbp + 0xb70], eax
jmp 0x14010001b
mov eax, dword [rbp + 0xcdc]
mov dl, byte [rbp + 0xcda]
mov r8b, byte [rbp + 0xcdb]
mov ecx, 0x11
test r8b, 1
mov r8d, eax
mov dword [rbp + 0xb74], r8d
mov byte [rbp + 0xb6b], dl
mov dword [rbp + 0xb6c], ecx
mov dword [rbp + 0xb70], eax
jne 0x1400fefdc
jmp 0x14010001b
mov rax, qword [rbp + 0xcd0]
mov ecx, dword [rbp + 0xb74]
mov dword [rbp + 0xb64], ecx
mov ecx, dword [rax]
not ecx
and ecx, 0x10
sub rsp, 0x20
call fcn.14009c717
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x14d8]
mov al, byte [rax]
mov byte [rbp + 0xb69], al
test al, al
sete al
mov byte [rbp + 0xb6a], al
and al, cl
test al, 1
jne 0x1400ff02e
jmp 0x1400fffdf
mov rax, qword [rbp + 0xce8]
mov eax, dword [rax]
mov dword [rbp + 0xb60], eax
mov ecx, 0x7d90dc5b
xor ecx, 0x826f23a4
cmp eax, ecx
jge 0x1400ff0c4
mov edx, dword [rbp + 0xb60]
mov ecx, 0xffffffff
xor ecx, 0
and ecx, edx
mov eax, 0x7b456b4d
xor eax, 0x84ba94b2
xor edx, eax
mov eax, 0x1a1846ac
xor eax, 0x1a1846ac
and eax, edx
sub eax, ecx
mov ecx, 0x85a9e3f6
xor ecx, 0x85a9e3f7
shr eax, cl
mov ecx, eax
mov eax, 0xbbaf2078
xor eax, 0xbbaf2078
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
mov dword [rbp + 0xb5c], eax
jmp 0x1400fff8d
mov rcx, qword [rbp + 0x1318]
mov eax, dword [rbp + 0xb60]
mov rdx, qword [rbp + 0xce0]
add rdx, 0x5e
mov qword [rbp + 0xb40], rdx
mov r8d, 0x951ad4b7
xor r8d, 0x951ad4b5
cdq
idiv r8d
mov rdx, qword [rbp + 0xb40]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.14009f071
mov r8, qword [rbp + 0x1318]
mov rdx, qword [rbp + 0x11a0]
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0xb48], r8
mov rdx, qword [rdx]
mov qword [rbp + 0xb50], rdx
cmp byte [rcx], 0
mov dword [rbp + 0xb58], eax
jne 0x1400fffaf
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp + 0xb30], rax
add rax, 0x60
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xb50]
mov r8, qword [rbp + 0xb48]
add rsp, 0x20
mov rax, qword [rbp + 0xb30]
movabs r9, 0xc57506d26823b882
movabs rdx, 0xc57506d26823b882
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0xb38], rcx
mov al, byte [rax + 0x60]
mov cl, 0x6c
xor cl, 0x6c
cmp al, cl
jne 0x1400ff319
mov rax, qword [rbp + 0xb48]
movabs rcx, 0xa6f0d79de5cda8b7
movabs rdx, 0xa6f0d79de5cda8b5
xor rcx, rdx
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0xb48]
movabs rcx, 0x99b18fee36f37056
movabs rdx, 0x664e7011c90c8fa9
xor rcx, rdx
mov r9, r8
add r9, rcx
mov qword [rbp + 0xb28], r9
movabs rdx, 0xf6114e880c400b55
movabs rcx, 0x9eeb177f3bff4aa
xor rdx, rcx
mov rcx, r9
xor rcx, rdx
movabs rdx, 0x52bda3ef55aed30b
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x52bda3ef55aed30b
xor r10, rdx
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x7be6ea6cc229c6fc
movabs rsi, 0x295b4983978715f7
xor r11, rsi
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0xa4a7615b46d5f1dd
movabs r8, 0xa4a7615b46d5f1dd
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 1
setg al
or al, al
xor al, 0xff
mov cl, dl
xor cl, 0xff
mov r8b, 1
xor r8b, 0
xor dl, r8b
and cl, dl
or al, cl
xor al, 0xff
test al, 1
jne 0x1400ff30c
mov rdx, qword [rbp + 0xb38]
mov rcx, qword [rbp + 0x1320]
mov rax, qword [rbp + 0xb28]
xor r8d, r8d
test rax, rax
cmovg r8, rax
sub rsp, 0x20
call fcn.14009eb59
add rsp, 0x20
jmp 0x1400ff319
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0xb64]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x11a8]
mov r8, qword [rbp + 0x1320]
mov r8, qword [r8]
mov qword [rbp + 0xb08], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xb10], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov rcx, qword [rbp + 0xb10]
mov r8, qword [rbp + 0xb08]
mov rsi, qword [rbp + 0x11c8]
mov rbx, qword [rbp + 0x11c0]
mov rdi, qword [rbp + 0x11b8]
mov r14, qword [rbp + 0x1328]
mov rdx, qword [rbp + 0x1330]
mov rax, qword [rbp + 0x11b0]
mov r9b, 0x5e
xor r9b, 0x5e
mov byte [rbp + 0x1838], r9b
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, r14
call fcn.140024b17
mov r11, qword [rbp + 0xfd0]
mov r10, qword [rbp + 0xfd8]
mov r9, qword [rbp + 0x11d0]
mov rdx, qword [rbp + 0xb08]
mov rax, qword [rbp + 0x11d8]
mov r8, qword [rbp + 0x1338]
mov rcx, qword [rbp + 0xb10]
add rsp, 0x20
mov r14, qword [r14]
mov rdi, qword [rdi]
mov qword [rbx], r14
mov qword [rsi], rdi
mov qword [rbp + 0x1818], r11
mov qword [r9], r10
mov qword [r8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1828]
lea rdx, [rbp + 0x1818]
sub rsp, 0x20
call fcn.14004973b
mov r8, qword [rbp + 0x11e0]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xb10]
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
mov r9, qword [rbp + 0x1828]
mov qword [rbp + 0xaf8], r9
mov r8, qword [r8]
mov qword [rbp + 0xb00], r8
mov dl, byte [rdx]
mov r8b, 0x8c
xor r8b, 0x8c
cmp dl, r8b
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov rcx, qword [rbp + 0x1278]
mov rax, qword [rbp + 0x11f8]
mov rdx, qword [rbp + 0xce0]
mov r8, qword [rbp + 0x11f0]
mov r9, qword [rbp + 0xb00]
mov r10, qword [rbp + 0x11e8]
mov r11, qword [rbp + 0xaf8]
mov qword [r10], r11
mov qword [r8], r9
mov rdx, qword [rdx + 0x28]
mov qword [rax], rdx
lea rdx, [rbp + 0x1838]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xb10]
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov rax, qword [rbp + 0x1278]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0xaf7], al
jne 0x1400ff7a9
mov rdx, qword [rbp + 0x1340]
mov rax, qword [rbp + 0x1140]
mov rcx, qword [rbp + 0x1000]
mov rcx, qword [rcx]
mov r8, qword [rcx + 0x48]
mov qword [rbp + 0x1808], r8
mov rcx, qword [rcx + 0x50]
mov qword [rbp + 0x1810], rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x1808]
sub rsp, 0x20
call fcn.1400b7216
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xb10]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xb64]
mov qword [rbp + 0xae8], r8
cmp byte [rdx], 0
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov rdx, qword [rbp + 0xae8]
movabs rax, 0x77e862e99c44b48d
movabs rcx, 0x77e862e99c44b48c
xor rax, rcx
mov rcx, rdx
add rcx, rax
mov qword [rbp + 0xae0], rcx
mov rax, rdx
xor rax, 0xffffffffffffffff
movabs r8, 0x773e4b6666d7fad2
movabs r9, 0x88c1b4999928052d
xor r8, r9
xor rax, r8
and rax, 0xffffffffffffffff
shl rax, 1
sub rax, 0xffffffffffffffff
sub rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0x73c28c9d9221b95c
movabs r9, 0x8c3d73626dde46a3
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xace300c59dee1ffc
movabs r8, 0x531cff3a6211e003
xor rdx, r8
xor rcx, rdx
or rax, rcx
movabs rcx, 0x42700451bbfe061f
movabs rdx, 0x42700451bbfe061f
xor rcx, rdx
cmp rax, rcx
jge 0x1400ff680
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0xb10]
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jmp 0x1400ffe9f
mov rax, qword [rbp + 0x1000]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov dword [rbp + 0xadc], eax
cmp eax, 0xffffffff
jne 0x1400ff711
mov rax, qword [rbp + 0x1140]
mov rcx, qword [rax]
mov qword [rbp + 0x17e8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x17f0], rax
lea rcx, [rbp + 0x17f8]
lea rdx, [rbp + 0x17e8]
sub rsp, 0x20
call fcn.140024b17
mov rcx, qword [rbp + 0x1210]
mov rax, qword [rbp + 0x1218]
mov rdx, qword [rbp + 0x1348]
add rsp, 0x20
mov r8, qword [rbp + 0x17f8]
mov rcx, qword [rcx]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1a08]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
jmp 0x1400ff79a
mov rax, qword [rbp + 0xae0]
mov ecx, dword [rbp + 0xadc]
movsxd rcx, ecx
cmp rax, rcx
jg 0x1400ff79a
mov rax, qword [rbp + 0x1140]
mov rcx, qword [rax]
mov qword [rbp + 0x17c8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x17d0], rax
lea rcx, [rbp + 0x17d8]
lea rdx, [rbp + 0x17c8]
sub rsp, 0x20
call fcn.140024b17
mov rcx, qword [rbp + 0x1200]
mov rax, qword [rbp + 0x1208]
mov rdx, qword [rbp + 0x1350]
add rsp, 0x20
mov r8, qword [rbp + 0x17d8]
mov rcx, qword [rcx]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1a08]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov rax, qword [rbp + 0x1278]
mov al, byte [rax]
mov byte [rbp + 0xaf7], al
mov eax, dword [rbp + 0xb64]
mov rcx, qword [rbp + 0xb10]
mov dl, byte [rbp + 0xaf7]
cmp dl, 0
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov rdx, qword [rbp + 0x1278]
lea rcx, [rbp + 0x1a18]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xb10]
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x50
xor r8b, 0x50
cmp dl, r8b
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov rcx, qword [rbp + 0x1278]
sub rsp, 0x20
call fcn.1400b766f
mov rcx, qword [rbp + 0xb10]
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
mov dl, byte [rbp + 0x1a18]
mov r8b, 0xcc
xor r8b, 0xcc
cmp dl, r8b
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov eax, dword [rbp + 0xb64]
mov rcx, qword [rbp + 0xb10]
mov rdx, qword [rbp + 0x1000]
mov rdx, qword [rdx]
mov r8, qword [rdx + 0x58]
mov qword [rbp + 0xac8], r8
xor edx, edx
cmp r8, 0
mov qword [rbp + 0xad0], rdx
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jle 0x1400ffe9f
mov rcx, qword [rbp + 0x1000]
mov rax, qword [rbp + 0xad0]
mov qword [rbp + 0xab0], rax
mov rcx, qword [rcx]
mov qword [rbp + 0xab8], rcx
mov rcx, qword [rcx + 0x58]
mov qword [rbp + 0xac0], rcx
cmp rax, rcx
jl 0x1400ff937
mov rcx, qword [rbp + 0xab0]
mov rax, qword [rbp + 0xac0]
mov rdx, rax
and rdx, 0xffffffffffffffff
movabs r8, 0x8573f7a20b4fa815
movabs r9, 0x7a8c085df4b057ea
xor r8, r9
or rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140019d55
mov rcx, qword [rbp + 0xb10]
mov eax, dword [rbp + 0xb64]
add rsp, 0x20
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jmp 0x1400ffe9f
mov rax, qword [rbp + 0x1168]
mov rdx, qword [rbp + 0xab0]
mov rcx, qword [rbp + 0xab8]
mov rcx, qword [rcx + 0x60]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0xaa0], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14008c8b2
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xb10]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xb64]
mov byte [rbp + 0xaaf], r8b
mov dl, byte [rdx]
mov r8b, 0x54
xor r8b, 0x54
cmp dl, r8b
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov al, byte [rbp + 0xaaf]
test al, 1
jne 0x1400ff9c2
jmp 0x1400ffe3e
mov rax, qword [rbp + 0x1168]
mov rcx, qword [rbp + 0xaa0]
mov rcx, qword [rcx]
mov qword [rbp + 0xa90], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0xa98], rax
cmp rax, rcx
jl 0x1400ffe3e
mov rax, qword [rbp + 0xa98]
mov rcx, qword [rbp + 0xa90]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x1400ffe3e
mov rax, qword [rbp + 0x1170]
mov rcx, qword [rax]
mov qword [rbp + 0x17a8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x17b0], rax
lea rcx, [rbp + 0x17b8]
lea rdx, [rbp + 0x17a8]
sub rsp, 0x20
call fcn.140024b17
mov r8, qword [rbp + 0x1220]
mov rax, qword [rbp + 0xaa0]
mov rdx, qword [rbp + 0x1360]
mov rcx, qword [rbp + 0x1358]
add rsp, 0x20
mov r9, qword [rbp + 0x17b8]
mov qword [rbp + 0xa78], r9
mov r8, qword [r8]
mov qword [rbp + 0xa80], r8
mov rax, qword [rax]
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 r8, qword [rbp + 0x1358]
mov rcx, qword [rbp + 0x1228]
mov r11, qword [rbp + 0xa78]
mov r10, qword [rbp + 0xa80]
mov r9, qword [rbp + 0x1230]
mov rax, qword [rbp + 0x1238]
mov rdx, qword [rbp + 0x1368]
add rsp, 0x20
mov r8, qword [r8]
mov rcx, qword [rcx]
mov qword [rbp + 0x1798], r11
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1798]
sub rsp, 0x20
call fcn.1400752cc
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0xb10]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xb64]
mov byte [rbp + 0xa8f], r8b
cmp byte [rdx], 0
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jne 0x1400ffe9f
mov al, byte [rbp + 0xa8f]
test al, 1
jne 0x1400ffb37
jmp 0x1400ffe3e
mov rax, qword [rbp + 0x1000]
mov rax, qword [rax]
mov qword [rbp + 0xa70], rax
cmp rax, 0
je 0x1400ffc2f
mov rax, qword [rbp + 0xa70]
movabs rcx, 0x3fc07ac6ef46174c
movabs rdx, 0xc03f853910b9e8bc
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0xa60], rax
mov rdx, qword [rax]
mov rax, rdx
add rax, 0x10
mov qword [rbp + 0xa68], rax
movabs rcx, 0x8c275bc4a68773bf
movabs r8, 0x73d8a43b59788c40
xor rcx, r8
mov r8, rdx
xor r8, rcx
movabs rcx, 0x32c76f8a8fe69b53
movabs r9, 0xcd389075701964ac
xor rcx, r9
and rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x554805f6d033c161
movabs rdx, 0x554805f6d033c161
xor rcx, rdx
cmp rax, rcx
jl 0x1400ffc0c
mov rax, qword [rbp + 0xa60]
mov rcx, qword [rbp + 0xa68]
mov qword [rax], rcx
jmp 0x1400ffc2f
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe7
xor cl, 0xe7
cmp al, cl
jne 0x1400ffe00
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0xa58], rax
mov rax, qword [rbp + 0xa58]
xorps xmm0, xmm0
movups xmmword [rbp + rax + 0x1768], xmm0
mov rcx, rax
and rcx, 0x10
shl rcx, 1
xor rax, 0x10
add rax, rcx
cmp rax, 0x30
mov qword [rbp + 0xa58], rax
jne 0x1400ffc4e
lea rcx, [rbp + 0x1768]
lea rdx, [rbp + 0x1a18]
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
lea rcx, [rbp + 0x1a18]
sub rsp, 0x20
call fcn.1400b766f
mov rax, qword [rbp + 0x1198]
mov rcx, qword [rbp + 0x1258]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xa48], rax
mov rcx, qword [rcx]
mov qword [rbp + 0xa50], rcx
cmp rax, 0
je 0x1400ffd1c
mov rax, qword [rbp + 0xa50]
mov r9, qword [rbp + 0xa48]
mov rdx, qword [rbp + 0xa70]
mov rcx, qword [rbp + 0x1260]
lea r8, [rbp + 0x1768]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0xa47], al
jmp 0x1400ffd48
mov rax, qword [rbp + 0xa50]
mov rdx, qword [rbp + 0xa70]
mov rcx, qword [rbp + 0x1260]
lea r8, [rbp + 0x1768]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0xa47], al
mov rax, qword [rbp + 0x14d8]
mov cl, byte [rbp + 0xa47]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x1400ffd6b
jmp 0x1400ffe1f
mov eax, dword [rbp + 0xb64]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0xa38], rax
mov rdx, rcx
add rdx, rdx
not rdx
add rdx, rcx
not rax
or rax, rdx
lea rax, [rcx + rax + 1]
inc rax
sets al
movabs r8, 0x7fffffff80000001
mov rdx, rcx
and rdx, r8
xor rcx, 0xffffffff80000001
lea rcx, [rcx + rdx*2]
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x1400ffdf3
mov rcx, qword [rbp + 0xb10]
mov rax, qword [rbp + 0xa38]
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jmp 0x1400ffe9f
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0xb64]
mov rcx, qword [rbp + 0xb10]
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jmp 0x1400ffe9f
mov eax, dword [rbp + 0xb64]
mov rcx, qword [rbp + 0xb10]
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jmp 0x1400ffe9f
mov eax, dword [rbp + 0xb64]
mov rcx, qword [rbp + 0xb10]
mov r8, qword [rbp + 0xac8]
mov rdx, qword [rbp + 0xab0]
mov r9, rdx
and r9, 1
movabs r10, 0xfdb6484855cdcb1
movabs r11, 0xfdb6484855cdcb3
xor r10, r11
imul r9, r10
xor rdx, 1
add rdx, r9
cmp rdx, r8
mov qword [rbp + 0xad0], rdx
mov qword [rbp + 0xb18], rcx
mov dword [rbp + 0xb24], eax
jl 0x1400ff8a6
mov rax, qword [rbp + 0xb50]
mov rcx, qword [rbp + 0xb18]
mov edx, dword [rbp + 0xb24]
mov dword [rbp + 0xa2c], edx
mov qword [rbp + 0xa30], rcx
cmp rax, 0
je 0x1400fff16
mov rax, qword [rbp + 0xb50]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1400fff16
mov rcx, qword [rbp + 0xb50]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov eax, dword [rbp + 0xa2c]
mov rcx, qword [rbp + 0xa30]
cmp rcx, 0
mov dword [rbp + 0xb5c], eax
je 0x1400fff8d
mov eax, dword [rbp + 0xa2c]
mov rcx, qword [rbp + 0xa30]
mov rcx, qword [rcx]
movabs rdx, 0x5cd2c0475124f676
movabs r8, 0x1cd2c0475124f676
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov dword [rbp + 0xb5c], eax
jne 0x1400fff8d
mov rcx, qword [rbp + 0xa30]
sub rsp, 0x20
call fcn.1400121d0
mov eax, dword [rbp + 0xa2c]
add rsp, 0x20
mov dword [rbp + 0xb5c], eax
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0xb5c]
mov dword [rbp + 0xa28], eax
cmp byte [rcx], 0
mov dword [rbp + 0xb58], eax
je 0x1400fffce
mov rax, qword [rbp + 0xd68]
mov ecx, dword [rbp + 0xb58]
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
jmp 0x140100352
mov eax, dword [rbp + 0xa28]
mov dword [rbp + 0xcf4], eax
jmp 0x140100068
mov eax, dword [rbp + 0xb64]
mov dl, byte [rbp + 0xb69]
mov r8b, byte [rbp + 0xb6a]
mov ecx, 0x11
test r8b, 1
mov byte [rbp + 0xb6b], dl
mov dword [rbp + 0xb6c], ecx
mov ecx, eax
mov dword [rbp + 0xb70], ecx
mov dword [rbp + 0xcf4], eax
jne 0x140100068
mov rcx, qword [rbp + 0xce0]
mov r8b, byte [rbp + 0xb6b]
mov eax, dword [rbp + 0xb6c]
mov edx, dword [rbp + 0xb70]
mov r8d, 0x91042fff
xor r8d, 0x91042fe0
cmp eax, r8d
mov r8d, edx
mov dword [rbp + 0xcf4], r8d
mov dword [rbp + 0xa14], edx
mov qword [rbp + 0xa18], rcx
mov dword [rbp + 0xa24], eax
jne 0x14010018c
mov rcx, qword [rbp + 0xce0]
mov eax, dword [rbp + 0xcf4]
mov dword [rbp + 0xa0c], eax
mov edx, dword [rcx]
mov dword [rbp + 0xa10], edx
mov r8d, 0xecd616e5
xor r8d, 0xecd616e4
xor ecx, ecx
cmp edx, r8d
mov byte [rbp + 0xd57], cl
mov dword [rbp + 0xd50], eax
jl 0x1400fd6ae
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 + 0xa00], rcx
mov al, byte [rax + 0x60]
mov cl, 0x71
xor cl, 0x71
cmp al, cl
jne 0x140100141
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0xa00]
cmp byte [rax], 0
jne 0x140100141
mov rcx, qword [rbp + 0xce0]
mov eax, dword [rbp + 0xa10]
mov eax, eax
movabs rdx, 0xb310c3a63f349d8
add rax, rdx
add rax, rcx
movabs rcx, 0xd7a8adbca793996
movabs rdx, 0x64b86e1a98a704e
xor rcx, rdx
sub rax, rcx
mov qword [rbp + 0x9f8], rax
mov rax, qword [rbp + 0xd68]
mov ecx, dword [rbp + 0xa0c]
mov r9, qword [rbp + 0x14d8]
mov r8, qword [rbp + 0x9f8]
xor edx, edx
cmp byte [r9], 0
mov r9d, ecx
mov dword [rbp + 0xa14], r9d
mov qword [rbp + 0xa18], r8
mov dword [rbp + 0xa24], edx
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
jne 0x140100352
mov eax, dword [rbp + 0xa14]
mov rcx, qword [rbp + 0xa18]
mov edx, dword [rbp + 0xa24]
mov dword [rbp + 0x9f0], edx
mov dword [rbp + 0x9f4], eax
test edx, edx
mov qword [rbp + 0xcf8], rcx
mov dword [rbp + 0xd04], eax
je 0x1400fdc42
jmp 0x1401001c5
mov rax, qword [rbp + 0xd68]
mov ecx, dword [rbp + 0x9f4]
mov edx, dword [rbp + 0x9f0]
sub edx, 0x11
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
je 0x140100352
jmp 0x1401001f3
mov eax, dword [rbp + 0x9f4]
mov cl, byte [rbp + 0xd3b]
mov edx, dword [rbp + 0x9f0]
sub edx, 0x1a
mov byte [rbp + 0xd57], cl
mov dword [rbp + 0xd50], eax
je 0x1400fd6ae
jmp 0x14010021f
mov eax, dword [rbp + 0x9f4]
mov ecx, dword [rbp + 0x9f0]
sub ecx, 0x1b
mov dword [rbp + 0x9ec], eax
je 0x14010027d
jmp 0x140100a79
mov rax, qword [rbp + 0xd68]
mov ecx, dword [rbp + 0xd3c]
mov edx, dword [rbp + 0xd28]
mov r8d, 0x2bff0d5e
xor r8d, 0xabff0d58
cmp edx, r8d
mov edx, ecx
mov dword [rbp + 0x9ec], edx
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
je 0x140100352
mov eax, dword [rbp + 0x9ec]
mov dword [rbp + 0x9e8], eax
movabs rcx, 0x88807f19c65737ad
movabs rax, 0x88807f19c65737ed
xor rcx, rax
movabs rdx, 0x4f2f7d0b8d5bca17
movabs rax, 0x4f2f7d0b8d5bca1f
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, 0xe1341c43d613926e
movabs rdx, 0xe1341c43fe660220
xor rax, rdx
lea rdx, [0x1401a00a8]
lea r8, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
mov ecx, dword [rbp + 0x9e8]
mov rax, qword [rbp + 0xd68]
add rsp, 0x30
mov dword [rbp + 0xd44], ecx
mov qword [rbp + 0xd48], rax
mov eax, dword [rbp + 0xd44]
mov rcx, qword [rbp + 0xd48]
mov dword [rbp + 0x9e4], eax
sub rsp, 0x20
call fcn.1400259f3
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x9e4]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp + 0xd8f], cl
mov dword [rbp + 0xd90], eax
mov rax, qword [rbp + 0x1280]
mov rcx, qword [rbp + 0x14d8]
mov dl, byte [rbp + 0xd8f]
mov r8d, dword [rbp + 0xd90]
mov dword [rbp + 0x9d0], r8d
mov byte [rbp + 0x9d7], dl
mov byte [rcx], 0
mov rax, qword [rax]
mov qword [rbp + 0x9d8], rax
movabs rcx, 0xcb03c5e5dd1fd70e
movabs rdx, 0xcb03c5e5dd1fd70e
xor rcx, rdx
cmp rax, rcx
jle 0x140100427
mov rcx, qword [rbp + 0x9d8]
mov rax, qword [0x1401a1650]
sub rsp, 0x20
call qword [rax]
mov rcx, qword [rbp + 0x14d8]
add rsp, 0x20
mov eax, dword [rbp + 0x9d0]
mov dl, byte [rcx]
mov r8b, 0xc6
xor r8b, 0xc6
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jne 0x140100505
mov eax, dword [rbp + 0x9d0]
mov cl, byte [rbp + 0x9d7]
mov byte [rbp + 0xda3], cl
mov dword [rbp + 0xda4], eax
jmp 0x140100505
mov rax, qword [rbp + 0xed8]
mov rcx, qword [rbp + 0xee0]
mov qword [rbp + 0x9c8], rcx
mov qword [rbp + 0x9c0], rax
sub rsp, 0x20
call fcn.14000a590
mov rdx, qword [rbp + 0x9c0]
mov rcx, qword [rbp + 0x9c8]
mov rax, qword [rbp + 0xf20]
add rsp, 0x20
xor r8d, r8d
mov qword [rbp + 0xf28], r8
mov qword [rbp + 0xf30], rdx
mov qword [rbp + 0xf38], rcx
mov qword [rbp + 0xf40], rax
mov r9d, dword [rbp + 0xfcc]
mov r11, qword [rbp + 0x14d8]
mov rax, qword [rbp + 0xf28]
mov rcx, qword [rbp + 0xf30]
mov rdx, qword [rbp + 0xf38]
mov r8, qword [rbp + 0xf40]
mov r10b, byte [r11]
mov bl, 0x19
xor bl, 0x19
mov byte [r11], bl
mov byte [rbp + 0x99b], r10b
mov dword [rbp + 0x99c], r9d
mov qword [rbp + 0x9a0], r8
mov qword [rbp + 0x9a8], rdx
mov qword [rbp + 0x9b0], rcx
mov qword [rbp + 0x9b8], rax
jmp 0x140100672
mov rax, qword [rbp + 0xe08]
mov rcx, qword [rbp + 0xe60]
mov rdx, qword [rbp + 0xeb8]
mov r8, qword [rbp + 0xf20]
mov r11, qword [rbp + 0xdb0]
mov rsi, qword [rbp + 0x14d8]
mov r10b, byte [rbp + 0xda3]
mov r9d, dword [rbp + 0xda4]
mov dword [rbp + 0x994], r9d
mov byte [rbp + 0x99a], r10b
mov byte [rsi], 0
cmp r11, 0
mov byte [rbp + 0x99b], r10b
mov dword [rbp + 0x99c], r9d
mov qword [rbp + 0x9a0], r8
mov qword [rbp + 0x9a8], rdx
mov qword [rbp + 0x9b0], rcx
mov qword [rbp + 0x9b8], rax
je 0x140100672
mov rax, qword [rbp + 0xe08]
mov rcx, qword [rbp + 0xe60]
mov rdx, qword [rbp + 0xeb8]
mov r8, qword [rbp + 0xf20]
mov r9d, dword [rbp + 0x994]
mov r10b, byte [rbp + 0x99a]
mov rsi, qword [rbp + 0xdb0]
movabs r11, 0x4000000000000000
and r11, qword [rsi]
movabs rsi, 0x66c347476e0c5bd3
movabs rdi, 0x66c347476e0c5bd3
xor rsi, rdi
cmp r11, rsi
mov byte [rbp + 0x99b], r10b
mov dword [rbp + 0x99c], r9d
mov qword [rbp + 0x9a0], r8
mov qword [rbp + 0x9a8], rdx
mov qword [rbp + 0x9b0], rcx
mov qword [rbp + 0x9b8], rax
jne 0x140100672
mov rcx, qword [rbp + 0xdb0]
sub rsp, 0x20
call fcn.1400121d0
mov r10b, byte [rbp + 0x99a]
mov r9d, dword [rbp + 0x994]
mov r8, qword [rbp + 0xf20]
mov rdx, qword [rbp + 0xeb8]
mov rcx, qword [rbp + 0xe60]
mov rax, qword [rbp + 0xe08]
add rsp, 0x20
mov byte [rbp + 0x99b], r10b
mov dword [rbp + 0x99c], r9d
mov qword [rbp + 0x9a0], r8
mov qword [rbp + 0x9a8], rdx
mov qword [rbp + 0x9b0], rcx
mov qword [rbp + 0x9b8], rax
mov cl, byte [rbp + 0x99b]
mov edx, dword [rbp + 0x99c]
mov r8, qword [rbp + 0x9a0]
mov r9, qword [rbp + 0x9a8]
mov r10, qword [rbp + 0x9b0]
mov rax, qword [rbp + 0x9b8]
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], r10
mov qword [rbp + 0x980], r9
mov qword [rbp + 0x988], r8
mov dword [rbp + 0xff4], edx
mov byte [rbp + 0x992], cl
mov dl, 0x43
xor dl, 0x43
cmp cl, dl
sete cl
mov byte [rbp + 0x993], cl
cmp rax, 0
je 0x140100794
mov rax, qword [rbp + 0x970]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x2fac9bb8ab58064b
movabs r8, 0x6fac9bb8ab58064b
xor rdx, r8
movabs r8, 0xeea3e802819f0a44
movabs r9, 0x115c17fd7e60f5bb
xor r8, r9
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x61a6fce3e4b4f50a
movabs r8, 0x21a6fce3e4b4f50a
xor rdx, r8
movabs r8, 0x7a24f114efb2c197
movabs r9, 0x85db0eeb104d3e68
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x51e6a54744e0112d
movabs rdx, 0x51e6a54744e0112d
xor rcx, rdx
cmp rax, rcx
jne 0x140100794
mov rcx, qword [rbp + 0x970]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x978]
cmp rax, 0
je 0x1401007fd
mov rax, qword [rbp + 0x978]
mov rax, qword [rax]
movabs rcx, 0x58100556776e1d81
movabs rdx, 0x18100556776e1d81
xor rcx, rdx
and rax, rcx
movabs rcx, 0x41c4d21c37d4e635
movabs rdx, 0x41c4d21c37d4e635
xor rcx, rdx
cmp rax, rcx
jne 0x1401007fd
mov rcx, qword [rbp + 0x978]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x980]
cmp rax, 0
je 0x140100840
mov rcx, qword [rbp + 0x980]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140100840
mov rcx, qword [rbp + 0x980]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x988]
cmp rax, 0
je 0x140100883
mov rcx, qword [rbp + 0x988]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140100883
mov rcx, qword [rbp + 0x988]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xfa8]
cmp rax, 0
je 0x14010092f
mov rax, qword [rbp + 0xfa8]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x3a677308c31edad6
movabs r8, 0xc5988cf73ce12529
xor rdx, r8
xor rcx, rdx
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x5813af104ab55dfc
movabs r8, 0x1813af104ab55dfc
xor rdx, r8
movabs r8, 0x54f93c7c6c854106
movabs r9, 0xab06c383937abef9
xor r8, r9
xor rdx, r8
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x14010092f
mov rcx, qword [rbp + 0xfa8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0x1278]
sub rsp, 0x20
call fcn.1400b76b1
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14010097a
mov al, byte [rbp + 0x993]
mov rcx, qword [rbp + 0x14d8]
mov dl, byte [rbp + 0x992]
mov byte [rcx], dl
test al, 1
jne 0x140100975
jmp 0x14010097a
jmp 0x140100a04
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 + 0x968], rax
cmp word [rax + 0x12], 1
jle 0x140100a04
mov rax, qword [rbp + 0x968]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x140100a04
mov rax, qword [rbp + 0x14d8]
mov cl, 0x2d
xor cl, 0x2d
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
add rsp, 0x20
mov rax, qword [rbp + 0xfd8]
cmp rax, 0
je 0x140100a47
mov rcx, qword [rbp + 0xfd8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140100a47
mov rcx, qword [rbp + 0xfd8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov eax, dword [rbp + 0xff4]
mov rcx, qword [rbp + 0x14d8]
mov dl, byte [rcx]
mov r8b, 0xeb
xor r8b, 0xeb
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xffb], cl
mov dword [rbp + 0xffc], eax
je 0x1400fbc02
jmp 0x140100aa4
mov eax, dword [rbp + 0x9f4]
mov ecx, dword [rbp + 0x9f0]
mov rdx, qword [rbp + 0x1030]
mov qword [rbp + 0x958], rdx
mov dword [rbp + 0x960], ecx
mov dword [rbp + 0x964], eax
jmp 0x140100c87
mov rax, qword [rbp + 0x14d8]
mov cl, byte [rbp + 0xffb]
mov edx, dword [rbp + 0xffc]
mov dword [rbp + 0x950], edx
mov byte [rbp + 0x957], cl
mov byte [rax], 0
mov rax, qword [rbp + 0x1a08]
mov qword [rbp + 0x1758], rax
mov rax, qword [rbp + 0x1a10]
mov qword [rbp + 0x1760], rax
lea rcx, [rbp + 0x1758]
sub rsp, 0x20
call fcn.1400208b6
add rsp, 0x20
lea rcx, [rbp + 0x1a18]
sub rsp, 0x20
call fcn.1400b76b1
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe0
xor cl, 0xe0
cmp al, cl
jne 0x140100c58
mov al, byte [rbp + 0x957]
mov rdx, qword [rbp + 0x14d8]
mov cl, 0x21
xor cl, 0x21
mov byte [rdx], al
cmp al, cl
jne 0x140100c58
mov eax, dword [rbp + 0x950]
mov r10, qword [rbp + 0x1030]
movabs rcx, 0x4184acae3d1ac69
movabs rdx, 0x4184acae3d1ac68
xor rcx, rdx
mov rdx, r10
add rdx, rcx
mov r9, r10
xor r9, 0xffffffffffffffff
movabs rcx, 0xeb631f2b3483e871
and r9, rcx
movabs r8, 0x3ed374519cca0168
movabs rcx, 0xd5b06b7aa849e919
xor r8, rcx
movabs rcx, 0x3eed878e1de839b6
movabs r11, 0xc1127871e217c649
xor rcx, r11
xor r8, rcx
and r10, r8
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r11, 0xeb631f2b3483e871
and rcx, r11
and r8, 0xffffffffffffffff
or r9, r10
or rcx, r8
xor r9, rcx
mov r8, rdx
and r8, r9
movabs rcx, 0x2ee6deb281e37972
movabs r10, 0xd119214d7e1c868d
xor rcx, r10
xor r8, rcx
mov rcx, rdx
and rcx, r9
movabs r9, 0x3e705add8aa43948
movabs r10, 0xc18fa522755bc6b7
xor r9, r10
xor rcx, r9
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or r8, rcx
movabs r9, 0x2925a29988b4d882
movabs rcx, 0x2925a29988b4d882
xor r9, rcx
xor ecx, ecx
cmp r8, r9
mov qword [rbp + 0x958], rdx
mov dword [rbp + 0x960], ecx
mov dword [rbp + 0x964], eax
jl 0x140100c69
jmp 0x140100c87
mov eax, dword [rbp + 0x950]
mov dword [rbp + 0x1250], eax
jmp 0x140107242
sub rsp, 0x20
call fcn.14000a590
mov eax, dword [rbp + 0x950]
add rsp, 0x20
mov dword [rbp + 0x1250], eax
jmp 0x140107242
mov rcx, qword [rbp + 0x958]
mov edx, dword [rbp + 0x960]
mov eax, dword [rbp + 0x964]
mov dword [rbp + 0x948], eax
mov dword [rbp + 0x94c], edx
test edx, edx
mov qword [rbp + 0x1240], rcx
mov dword [rbp + 0x1248], eax
je 0x1400fb91c
jmp 0x140100cc0
mov eax, dword [rbp + 0x948]
mov ecx, dword [rbp + 0x94c]
sub ecx, 2
mov dword [rbp + 0x1250], eax
je 0x140107242
jmp 0x140100ce0
mov eax, dword [rbp + 0x948]
mov ecx, dword [rbp + 0x94c]
sub ecx, 8
mov dword [rbp + 0x124c], eax
jne 0x140107383
jmp 0x140100d00
mov eax, dword [rbp + 0x124c]
mov dword [rbp + 0x93c], eax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x940], rax
mov rcx, qword [rbp + 0x940]
xorps xmm0, xmm0
movups xmmword [rbp + rcx + 0x1728], xmm0
movabs rdx, 0xbe6bf9a686696fd7
movabs rax, 0xbe6bf9a686696fc7
xor rdx, rax
mov rax, rcx
and rax, rdx
or rcx, 0x10
add rax, rcx
movabs rcx, 0xcac197f1d0eaf1f6
movabs rdx, 0xcac197f1d0eaf1c6
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x940], rax
jne 0x140100d2b
mov rsi, qword [rbp + 0x1448]
mov rdi, qword [rbp + 0x1450]
mov rbx, qword [rbp + 0x1438]
mov r14, qword [rbp + 0x1440]
mov r15, qword [rbp + 0x14d0]
mov r12, qword [rbp + 0x1258]
mov r13, qword [rbp + 0x1408]
mov rax, qword [rbp + 0x1370]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x720], rcx
movabs rcx, 0xb2d39377df72d3a5
movabs rdx, 0xb2d39377df72d3a4
xor rcx, rdx
mov qword [rax], rcx
mov ecx, 1
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.1400143b4
mov rdx, qword [rbp + 0x1378]
mov rcx, qword [rbp + 0x1370]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x14e0]
mov qword [rcx + 8], r8
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x1718]
sub rsp, 0x20
call fcn.140024b17
mov rax, qword [rbp + 0x1370]
mov r11, qword [rbp + 0x1430]
mov r10, qword [rbp + 0x1468]
mov r9, qword [rbp + 0x1460]
mov r8, qword [rbp + 0x1488]
add rsp, 0x20
mov rdx, qword [rbp + 0x1718]
mov rcx, qword [rbp + 0x1720]
mov rax, qword [rax + 8]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x1498]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 0x1418]
mov rax, qword [rbp + 0x1398]
add rax, 8
mov qword [rbp + 0x728], rax
lea rax, [rbp + 0x16c8]
add rax, 8
mov qword [rbp + 0x730], rax
lea rax, [rbp + 0x16b8]
add rax, 8
mov qword [rbp + 0x738], rax
mov rax, qword [rbp + 0x13a0]
add rax, 8
mov qword [rbp + 0x740], rax
lea rax, [rbp + 0x16d8]
add rax, 2
mov qword [rbp + 0x748], rax
mov rax, qword [rbp + 0x13a8]
add rax, 8
mov qword [rbp + 0x750], rax
lea rax, [rbp + 0x16a8]
add rax, 8
mov qword [rbp + 0x758], rax
lea rax, [rbp + 0x16d8]
add rax, 8
mov qword [rbp + 0x760], rax
mov rax, qword [rbp + 0x1380]
add rax, 0x10
mov qword [rbp + 0x768], rax
mov rax, qword [rbp + 0x1380]
add rax, 0x18
mov qword [rbp + 0x770], rax
mov rax, qword [rbp + 0x1380]
add rax, 8
mov qword [rbp + 0x778], rax
mov rax, qword [rbp + 0x1380]
add rax, 0x20
mov qword [rbp + 0x780], rax
mov rax, qword [rbp + 0x1380]
add rax, 0x28
mov qword [rbp + 0x788], rax
mov rax, qword [rbp + 0x13b0]
add rax, 8
mov qword [rbp + 0x790], rax
lea rax, [rbp + 0x1698]
add rax, 8
mov qword [rbp + 0x798], rax
mov rax, qword [rbp + 0x13b8]
add rax, 8
mov qword [rbp + 0x7a0], rax
mov rax, qword [rbp + 0x1390]
add rax, 8
mov qword [rbp + 0x7a8], rax
lea rax, [rbp + 0x1660]
add rax, 8
mov qword [rbp + 0x7b0], rax
mov rax, qword [rbp + 0x13c8]
add rax, 8
mov qword [rbp + 0x7b8], rax
mov rax, qword [rbp + 0x13d0]
add rax, 8
mov qword [rbp + 0x7c0], rax
lea rax, [rbp + 0x1650]
add rax, 8
mov qword [rbp + 0x7c8], rax
mov rax, qword [rbp + 0x13c0]
add rax, 8
mov qword [rbp + 0x7d0], rax
mov rax, qword [rbp + 0x13c0]
add rax, 0x10
mov qword [rbp + 0x7d8], rax
lea rax, [rbp + 0x1630]
add rax, 8
mov qword [rbp + 0x7e0], rax
lea rax, [rbp + 0x1620]
add rax, 8
mov qword [rbp + 0x7e8], rax
lea rax, [rbp + 0x1640]
add rax, 8
mov qword [rbp + 0x7f0], rax
mov rax, qword [rbp + 0x13c0]
add rax, 0x18
mov qword [rbp + 0x7f8], rax
mov rax, qword [rbp + 0x13c0]
add rax, 0x20
mov qword [rbp + 0x800], rax
mov rax, qword [rbp + 0x13c0]
add rax, 0x28
mov qword [rbp + 0x808], rax
lea rax, [rbp + 0x16e8]
add rax, 0x18
mov qword [rbp + 0x810], rax
mov rax, r15
add rax, 0x24
mov qword [rbp + 0x818], rax
mov rax, qword [rbp + 0x13e0]
add rax, 8
mov qword [rbp + 0x820], rax
lea rax, [rbp + 0x15d0]
add rax, 8
mov qword [rbp + 0x828], rax
lea rax, [rbp + 0x15f0]
add rax, 8
mov qword [rbp + 0x830], rax
lea rax, [rbp + 0x15e0]
add rax, 8
mov qword [rbp + 0x838], rax
mov rax, r15
add rax, 0x58
mov qword [rbp + 0x840], rax
mov rax, r15
add rax, 0x60
mov qword [rbp + 0x848], rax
lea rax, [rbp + 0x1728]
add rax, 0x28
mov qword [rbp + 0x850], rax
lea rax, [rbp + 0x1728]
add rax, 8
mov qword [rbp + 0x858], rax
mov rax, qword [rbp + 0x1400]
add rax, 8
mov qword [rbp + 0x860], rax
mov rax, qword [rbp + 0x1420]
add r13, 8
mov qword [rbp + 0x868], r13
add rcx, 8
mov qword [rbp + 0x870], rcx
add rax, 8
mov qword [rbp + 0x878], rax
movabs rax, 0x10707c283e3b2275
mov r13, r15
add r13, rax
movabs rax, 0x16972493364c1604
movabs rcx, 0xe968db6cc9b3e9f4
xor rax, rcx
mov rcx, qword [rbp + 0x14a8]
add r13, rax
movabs rax, 0x10707c283e3b2275
sub r13, rax
mov eax, dword [rbp + 0x93c]
mov qword [rbp + 0x880], r13
add r12, 8
mov qword [rbp + 0x888], r12
add r15, 8
mov qword [rbp + 0x890], r15
lea r15, [rbp + 0x1598]
add r15, 8
mov qword [rbp + 0x898], r15
lea r15, [rbp + 0x1588]
add r15, 8
mov qword [rbp + 0x8a0], r15
add r14, 8
mov qword [rbp + 0x8a8], r14
add rbx, 8
mov qword [rbp + 0x8b0], rbx
mov rbx, r11
add rbx, 8
mov qword [rbp + 0x8b8], rbx
mov rbx, r11
add rbx, 0x10
mov qword [rbp + 0x8c0], rbx
add rdi, 8
mov qword [rbp + 0x8c8], rdi
lea rdi, [rbp + 0x1578]
add rdi, 8
mov qword [rbp + 0x8d0], rdi
add rsi, 8
mov qword [rbp + 0x8d8], rsi
mov rsi, r11
add rsi, 0x18
mov qword [rbp + 0x8e0], rsi
mov rsi, r11
add rsi, 0x20
mov qword [rbp + 0x8e8], rsi
add r11, 0x28
mov qword [rbp + 0x8f0], r11
add r10, 8
mov qword [rbp + 0x8f8], r10
lea r10, [rbp + 0x1528]
add r10, 8
mov qword [rbp + 0x900], r10
lea r10, [rbp + 0x1558]
add r10, 8
mov qword [rbp + 0x908], r10
add r9, 8
mov qword [rbp + 0x910], r9
add r8, 8
mov qword [rbp + 0x918], r8
add rdx, 8
mov qword [rbp + 0x920], rdx
add rcx, 8
mov qword [rbp + 0x928], rcx
lea rcx, [rbp + 0x14f8]
add rcx, 8
mov qword [rbp + 0x930], rcx
mov dword [rbp + 0x938], eax
mov rax, qword [rbp + 0x1370]
mov ecx, dword [rbp + 0x938]
mov dword [rbp + 0x714], ecx
mov rax, qword [rax]
mov qword [rbp + 0x718], rax
cmp rax, 0
jg 0x14010133a
mov eax, dword [rbp + 0x714]
mov rcx, qword [rbp + 0x14d8]
mov cl, byte [rcx]
mov byte [rbp + 0x70f], cl
mov dword [rbp + 0x710], eax
jmp 0x14010718e
mov rcx, qword [rbp + 0x720]
mov rax, qword [rbp + 0x718]
movabs rdx, 0x76947426fa168538
movabs r8, 0x896b8bd905e97ac7
xor rdx, r8
add rax, rdx
mov qword [rbp + 0x6f8], rax
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp + 0x6e8], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x6f0], rax
sub rsp, 0x20
call fcn.1400143a4
mov rcx, qword [rbp + 0x1370]
mov rdx, qword [rbp + 0x6f8]
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 + 0x700], rax
mov rax, qword [rbp + 0x700]
xorps xmm0, xmm0
movups xmmword [rbp + rax + 0x16e8], xmm0
movabs rcx, 0x99124d38b1d6a7a1
movabs rdx, 0x99124d38b1d6a7a1
xor rcx, rdx
sub rcx, rax
movabs rax, 0xb1ccb4b698738071
movabs rdx, 0xb1ccb4b698738071
xor rax, rdx
movabs rdx, 0x32cf0bb566317d31
movabs r8, 0x32cf0bb566317d21
xor rdx, r8
sub rax, rdx
add rcx, rax
movabs rax, 0x5772086507bf0be3
movabs rdx, 0x5772086507bf0be3
xor rax, rdx
sub rax, rcx
cmp rax, 0x30
mov qword [rbp + 0x700], rax
jne 0x1401013cb
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6e0], rax
mov rax, qword [rbp + 0x6e0]
xorps xmm0, xmm0
movups xmmword [rbp + rax + 0x16e8], xmm0
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 0x10
add rcx, rax
xor eax, eax
sub rax, rcx
movabs rcx, 0x910d58b86597bc7d
movabs rdx, 0x910d58b86597bc4d
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x6e0], rax
jne 0x140101475
mov rcx, qword [rbp + 0x1398]
mov rax, qword [rbp + 0x6e8]
mov rdx, rax
and rdx, 4
or rax, 4
add rdx, rax
mov qword [rbp + 0x6b8], rdx
sub rsp, 0x20
call fcn.140021f70
mov rcx, qword [rbp + 0x1398]
mov rax, qword [rbp + 0x728]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0x6c0], rcx
mov rax, qword [rax]
mov qword [rbp + 0x6c8], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x6d0], rax
xor eax, eax
mov qword [rbp + 0x6d8], rax
mov rcx, qword [rbp + 0x6d8]
mov rax, qword [rbp + 0x6d0]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
mov rax, rcx
and rax, 1
movabs r8, 0xd59698ba14f3201
movabs rdx, 0xd59698ba14f3200
xor r8, rdx
mov rdx, rcx
or rdx, r8
add rax, rdx
movabs rdx, 0x97a2944760d7016b
movabs r8, 0x97a2944760d7016f
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x6d8], rax
jne 0x14010152a
mov rcx, qword [rbp + 0x6c0]
movabs rdx, 0x9cab1a34fbb88a5f
movabs rax, 0x9cab1a34fbb88a5f
xor rdx, rax
movabs rax, 0x19073ffde9d22d0d
movabs r8, 0x19073ffde9d22d09
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
movabs r8, 0x72852f31de8298ea
movabs rdx, 0x8d7ad0ce217d6715
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r8, 0x9b523a09c5d8e600
movabs r9, 0x64adc5f63a2719ff
xor r8, r9
and r8, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or r8, rcx
movabs rdx, 0x81e18dac62fce98d
movabs rcx, 0x7e1e72539d031672
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xb5d292246cea2068
movabs r9, 0x4a2d6ddb9315df97
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x50ed2cf4c379cb7c
xor rdx, r9
or rcx, r8
movabs r8, 0x50ed2cf4c379cb7c
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xc7b705bfdf10bd7a
movabs r8, 0xc7b705bfdf10bd7a
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x6b0], rax
jge 0x1401016be
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x6c0]
add rsp, 0x20
mov qword [rbp + 0x6b0], rax
mov rcx, qword [rbp + 0x6e8]
mov rax, qword [rbp + 0x6b0]
mov qword [rbp + 0x698], rax
movabs rdx, 0x628883896c265d25
movabs r8, 0x628883896c265d25
xor rdx, r8
cmp rcx, rdx
setg cl
mov byte [rbp + 0x6a7], cl
test cl, 1
mov qword [rbp + 0x6a8], rax
jne 0x14010170b
jmp 0x1401019ee
mov rdx, qword [rbp + 0x6e8]
mov rax, 0xffffffffffffffff
xor rax, 1
movabs rcx, 0xcc096bec7b6eedcb
movabs r8, 0xcc096bec7b6eedcb
xor rcx, r8
movabs r8, 0xfb11162e15808486
movabs r9, 0xfb11162e15808487
xor r8, r9
sub rcx, r8
sub rax, rcx
mov rcx, rdx
sub rcx, rax
mov qword [rbp + 0x690], rcx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140101799
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x698]
add rsp, 0x20
mov qword [rbp + 0x6a8], rax
jmp 0x1401019ee
mov rax, qword [rbp + 0x690]
movabs rcx, 0x9ccf7754c4096674
movabs rdx, 0x9ccf7754c4096674
xor rcx, rdx
cmp rax, rcx
jge 0x1401017f5
mov rcx, qword [rbp + 0x690]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x698]
add rsp, 0x20
mov qword [rbp + 0x6a8], rax
jmp 0x1401019ee
mov rax, qword [rbp + 0x6f0]
mov rdx, qword [rbp + 0x698]
mov rcx, qword [rbp + 0x6c8]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x678], rcx
add rax, 8
mov qword [rbp + 0x680], rax
xor eax, eax
mov qword [rbp + 0x688], rax
mov rcx, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x6e8]
mov rax, qword [rbp + 0x678]
mov r8, qword [rbp + 0x680]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x688], rax
jne 0x14010182c
mov r8, qword [rbp + 0x6e8]
mov r9, qword [rbp + 0x698]
movabs rcx, 0x33030d69673c3333
mov rax, r9
sub rax, rcx
add rax, r8
movabs rcx, 0x33030d69673c3333
add rax, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs rdx, 0x432d212820c4ca39
and rcx, rdx
movabs r11, 0x4449d32332425325
movabs rdx, 0x764f20b1286991c
xor r11, rdx
movabs rdx, 0x7b6545a4d84f7d4e
movabs r10, 0x849aba5b27b082b1
xor rdx, r10
xor r11, rdx
mov r10, rax
and r10, r11
movabs rsi, 0x4520585409b6cc47
movabs rdx, 0xbadfa7abf64933b8
xor rsi, rdx
mov rdx, r9
xor rdx, rsi
movabs rsi, 0x432d212820c4ca39
and rdx, rsi
and r9, r11
or rcx, r10
or rdx, r9
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r10, 0x237ebba55eed30c
movabs r9, 0xfdc81445aa112cf3
xor r10, r9
mov r9, rax
xor r9, r10
or rdx, r9
and rdx, r8
movabs r9, 0xba5d0b10456b42ce
movabs r10, 0x45a2f4efba94bd31
xor r9, r10
xor rdx, r9
movabs r10, 0xd37ca59bf03bdcb9
movabs r9, 0x2c835a640fc42346
xor r10, r9
mov r9, r8
xor r9, r10
xor r8, 0xffffffffffffffff
or r9, r8
movabs r10, 0x2c7e9a9e29208617
movabs r8, 0xd3816561d6df79e8
xor r10, r8
mov r8, rax
xor r8, r10
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
movabs r8, 0x9e452333a7c1efbe
movabs r9, 0x61badccc583e1041
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x6a8], rax
jge 0x1401019ee
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x698]
add rsp, 0x20
mov qword [rbp + 0x6a8], rax
mov rax, qword [rbp + 0x6a8]
mov qword [rbp + 0x668], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x6c8]
mov r8, qword [rbp + 0x668]
add rsp, 0x20
movabs r9, 0xdc1f07df33e6574b
movabs rdx, 0xdc1f07df33e6574b
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x670], rcx
cmp byte [rax + 0x60], 0
jne 0x140101aca
mov rax, qword [rbp + 0x668]
movabs rcx, 0x4a529dac85962df5
movabs rdx, 0x4a529dac85962df5
xor rcx, rdx
cmp rax, rcx
jge 0x140101aa8
mov rcx, qword [rbp + 0x668]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x140101aca
mov r8, qword [rbp + 0x668]
mov rdx, qword [rbp + 0x670]
lea rcx, [rbp + 0x16c8]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x730]
mov rdx, qword [rbp + 0x16c8]
mov qword [rbp + 0x638], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x640], rcx
mov cl, byte [rax]
mov dl, 0x15
xor dl, 0x15
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x648], rcx
mov rcx, rax
mov qword [rbp + 0x650], rcx
mov rcx, rax
mov qword [rbp + 0x658], rcx
mov qword [rbp + 0x660], rax
jne 0x140106b8a
mov rax, qword [rbp + 0x638]
movabs rcx, 0x2d3bc59ad28a42f8
movabs rdx, 0x2d3bc59ad28a42fa
xor rcx, rdx
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x638]
movabs rcx, 0xd604c0f6f4ea60a1
movabs rdx, 0x29fb3f090b159f5e
xor rcx, rdx
mov rdx, r8
and rdx, rcx
movabs r9, 0x82456fcee7ba4f80
movabs rcx, 0x7dba90311845b07f
xor r9, rcx
mov rcx, r8
or rcx, r9
add rdx, rcx
mov qword [rbp + 0x630], rdx
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
movabs r9, 0x635e82b4b970c37c
movabs r10, 0x9ca17d4b468f3c83
xor r9, r10
xor r8, r9
movabs r9, 0x54c9f542741aa21f
movabs r10, 0xab360abd8be55de0
xor r9, r10
xor rdx, r9
movabs r9, 0x2e2f93e5b4b03d3a
movabs r10, 0xd1d06c1a4b4fc2c5
xor r9, r10
xor r8, r9
or rdx, r8
movabs r8, 0x7aef9d8d81cf2d65
movabs r9, 0x851062727e30d29a
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0xd0e2b1509699a143
movabs r8, 0xd0e2b1509699a143
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0xee29cb328310853a
movabs r8, 0xee29cb328310853b
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140101c7d
mov rcx, qword [rbp + 0x630]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x628], rax
jmp 0x140101cce
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x640]
add rsp, 0x20
mov dl, byte [rax]
mov r8b, 0x46
xor r8b, 0x46
xor eax, eax
cmp dl, r8b
mov qword [rbp + 0x648], rcx
mov rcx, rax
mov qword [rbp + 0x650], rcx
mov rcx, rax
mov qword [rbp + 0x658], rcx
mov qword [rbp + 0x660], rax
jne 0x140106b8a
mov rcx, qword [rbp + 0x628]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x610], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019fd48]
mulsd xmm0, xmm1
movsd qword [rbp + 0x618], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x620], xmm1
ucomisd xmm0, xmm1
jne 0x140101d1e
jp 0x140101d1e
jmp 0x140101d90
movsd xmm1, qword [rbp + 0x618]
movsd xmm0, qword [rbp + 0x620]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x618]
movsd qword [rbp + 0x5f8], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x5f8]
add rsp, 0x20
movsd xmm2, qword [0x14019fd50]
mulsd xmm1, xmm2
xor eax, eax
ucomisd xmm0, xmm1
mov rcx, rax
mov qword [rbp + 0x600], rcx
mov qword [rbp + 0x608], rax
jb 0x140106b3a
mov rdx, qword [rbp + 0x6b8]
mov rax, qword [rbp + 0x610]
mov word [rbp + 0x16d8], ax
lea rcx, [rbp + 0x16b8]
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x738]
add rsp, 0x20
mov rcx, qword [rbp + 0x16b8]
mov qword [rbp + 0x5d8], rcx
mov rax, qword [rax]
mov qword [rbp + 0x5e0], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x5e8], rax
xor eax, eax
mov qword [rbp + 0x5f0], rax
mov rcx, qword [rbp + 0x5f0]
mov rax, qword [rbp + 0x5e8]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rdx, 0x10bee6fd4165f40a
movabs rax, 0x7814731f2e4222f9
xor rdx, rax
mov rax, rcx
sub rax, rdx
movabs rdx, 0xf6f5f84971aba9b0
movabs r8, 0xf6f5f84971aba9b1
xor rdx, r8
add rax, rdx
movabs rdx, 0x68aa95e26f27d6f3
add rax, rdx
cmp rcx, 4
mov qword [rbp + 0x5f0], rax
jne 0x140101def
mov r8, qword [rbp + 0x5d8]
movabs rcx, 0xf6ab8fb3b681a772
movabs rax, 0xf6ab8fb3b681a772
xor rcx, rax
movabs rax, 0xc5b92d520fb70c72
movabs rdx, 0xc5b92d520fb70c76
xor rax, rdx
sub rcx, rax
mov rax, r8
sub rax, rcx
movabs rcx, 0x8bbd05254b95a0d6
movabs rdx, 0x7442fadab46a5f29
xor rcx, rdx
xor r8, rcx
mov rcx, rax
and rcx, r8
movabs rdx, 0xe8e4a5ad7c681f16
movabs r9, 0x171b5a528397e0e9
xor rdx, r9
xor rcx, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0xa769da31e90f1d94
movabs r9, 0x589625ce16f0e26b
xor r8, r9
xor rdx, r8
movabs r8, 0x5d7ecb926b704240
movabs r9, 0xa281346d948fbdbf
xor r8, r9
xor rcx, r8
movabs r8, 0x5772eab26c7974b9
movabs r9, 0xa88d154d93868b46
xor r8, r9
xor rdx, r8
or rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x5d0], rax
jge 0x140101f5b
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x5d8]
add rsp, 0x20
mov qword [rbp + 0x5d0], rax
mov cl, byte [rbp + 0x6a7]
mov rax, qword [rbp + 0x5d0]
mov qword [rbp + 0x5c0], rax
test cl, 1
mov qword [rbp + 0x5c8], rax
jne 0x140101f84
jmp 0x14010219c
mov rcx, qword [rbp + 0x6e8]
mov rax, rcx
and rax, 1
mov rdx, rcx
or rdx, 1
add rax, rdx
mov qword [rbp + 0x5b8], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140101fd4
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x5c0]
add rsp, 0x20
mov qword [rbp + 0x5c8], rax
jmp 0x14010219c
mov rax, qword [rbp + 0x5b8]
cmp rax, 0
jge 0x14010203a
mov rcx, qword [rbp + 0x5b8]
movabs rdx, 0xb5201ec11fa6bbae
movabs rax, 0xb5201ec11fa6bbae
xor rdx, rax
movabs r8, 0x97cc137670b480bf
movabs rax, 0xe833ec898f4b7f40
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x5c0]
add rsp, 0x20
mov qword [rbp + 0x5c8], rax
jmp 0x14010219c
mov rax, qword [rbp + 0x6f0]
mov rdx, qword [rbp + 0x5c0]
mov rcx, qword [rbp + 0x5e0]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x5a0], rcx
add rax, 8
mov qword [rbp + 0x5a8], rax
xor eax, eax
mov qword [rbp + 0x5b0], rax
mov rcx, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x6e8]
mov rax, qword [rbp + 0x5a0]
mov r8, qword [rbp + 0x5a8]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs rax, 0x757e2a01a47f5bcc
movabs r8, 0x757e2a01a47f5bcd
xor rax, r8
mov r8, rcx
and r8, rax
shl r8, 1
movabs r9, 0xb6d86d8adc81acbc
movabs rax, 0xb6d86d8adc81acbd
xor r9, rax
mov rax, rcx
xor rax, r9
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x5b0], rax
jne 0x140102071
mov r8, qword [rbp + 0x6e8]
mov rdx, qword [rbp + 0x5c0]
movabs rax, 0xb55a22d1b8d71b9f
movabs rcx, 0x4aa5dd2e4728e460
xor rax, rcx
mov rcx, r8
xor rcx, rax
movabs rax, 0x1e5d374dc340484c
movabs r9, 0x1e5d374dc340484c
xor rax, r9
movabs r9, 0xb17c1bc4c60c8ec2
movabs r10, 0xb17c1bc4c60c8ec3
xor r9, r10
sub rax, r9
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, r8
and rcx, rdx
movabs rdx, 0xac00718b9311a812
movabs r8, 0xac00718b9311a812
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x5c8], rax
jge 0x14010219c
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x5c0]
add rsp, 0x20
mov qword [rbp + 0x5c8], rax
mov rax, qword [rbp + 0x5c8]
mov qword [rbp + 0x590], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x5e0]
mov r8, qword [rbp + 0x590]
add rsp, 0x20
movabs r9, 0x1989cc843708e68e
movabs rdx, 0x1989cc843708e68e
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x598], rcx
cmp byte [rax + 0x60], 0
jne 0x140102282
mov rax, qword [rbp + 0x590]
cmp rax, 0
jge 0x140102260
mov rcx, qword [rbp + 0x590]
movabs rdx, 0x28637f43daaef08f
movabs rax, 0x28637f43daaef08f
xor rdx, rax
movabs r8, 0xdaa0f2807f51acbf
movabs rax, 0xa55f0d7f80ae5340
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x140102282
mov r8, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x598]
mov rcx, qword [rbp + 0x13a0]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rcx, qword [rbp + 0x5e0]
mov rdx, qword [rbp + 0x640]
mov r8, qword [rbp + 0x14d8]
mov rax, qword [rbp + 0x740]
mov r9, qword [rbp + 0x13a0]
mov r9, qword [r9]
mov qword [rbp + 0x580], r9
mov rax, qword [rax]
mov qword [rbp + 0x588], rax
xor eax, eax
cmp byte [r8], 0
mov qword [rbp + 0x648], rdx
mov qword [rbp + 0x650], rcx
mov rcx, rax
mov qword [rbp + 0x658], rcx
mov qword [rbp + 0x660], rax
jne 0x140106b8a
mov rax, qword [rbp + 0x580]
mov ecx, 2
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x580]
mov rdx, r8
add rdx, 0xffffffffffffffff
mov qword [rbp + 0x578], rdx
movabs rcx, 0x7d6dc4dc0fbd6684
movabs r9, 0x82923b23f042997b
xor rcx, r9
mov r9, rdx
xor r9, rcx
mov rcx, r8
and rcx, r9
movabs r9, 0x99c130393658f185
movabs r10, 0x663ecfc6c9a70e7a
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
movabs rdx, 0xca78bc1902c517a8
movabs r8, 0xca78bc1902c517a8
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0xd4d7986df2a4a4c6
movabs r8, 0xd4d7986df2a4a4c7
xor rdx, r8
cmp rax, rdx
setg al
mov dl, 1
xor dl, 0
xor al, dl
xor edx, edx
xor dl, 1
xor cl, dl
mov dl, 1
xor dl, 1
or al, cl
mov cl, 1
xor cl, 0
or cl, dl
xor al, 0xff
and al, cl
test al, 1
jne 0x1401023ce
mov rcx, qword [rbp + 0x578]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x570], rax
jmp 0x14010241f
sub rsp, 0x20
call fcn.14000a590
mov r9, qword [rbp + 0x14d8]
mov r8, qword [rbp + 0x640]
mov rdx, qword [rbp + 0x5e0]
mov rcx, qword [rbp + 0x588]
add rsp, 0x20
xor eax, eax
cmp byte [r9], 0
mov qword [rbp + 0x648], r8
mov qword [rbp + 0x650], rdx
mov qword [rbp + 0x658], rcx
mov qword [rbp + 0x660], rax
jne 0x140106b8a
mov rcx, qword [rbp + 0x570]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x558], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019fd48]
mulsd xmm0, xmm1
movsd qword [rbp + 0x560], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x568], xmm1
ucomisd xmm0, xmm1
jne 0x14010246f
jp 0x14010246f
jmp 0x1401024ea
movsd xmm1, qword [rbp + 0x560]
movsd xmm0, qword [rbp + 0x568]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x560]
movsd qword [rbp + 0x550], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x550]
mov rcx, qword [rbp + 0x5e0]
mov rax, qword [rbp + 0x588]
add rsp, 0x20
movsd xmm2, qword [0x14019fd50]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
mov qword [rbp + 0x600], rcx
mov qword [rbp + 0x608], rax
jb 0x140106b3a
mov rcx, qword [rbp + 0x13a8]
mov rdx, qword [rbp + 0x6b8]
mov rax, qword [rbp + 0x748]
mov r8, qword [rbp + 0x558]
add r8w, 2
mov word [rax], r8w
sub rsp, 0x20
call fcn.140021f70
mov rcx, qword [rbp + 0x13a8]
mov rax, qword [rbp + 0x750]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0x530], rcx
mov rax, qword [rax]
mov qword [rbp + 0x538], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x540], rax
xor eax, eax
mov qword [rbp + 0x548], rax
mov rcx, qword [rbp + 0x548]
mov rax, qword [rbp + 0x540]
lea rdx, [0x1401a0198]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
mov rax, rcx
and rax, 1
movabs r8, 0xf4ba2686712b370f
movabs rdx, 0xf4ba2686712b370e
xor r8, rdx
mov rdx, rcx
or rdx, r8
add rax, rdx
cmp rcx, 4
mov qword [rbp + 0x548], rax
jne 0x140102555
mov r8, qword [rbp + 0x530]
movabs rcx, 0x9bc86a6686c7fd3a
movabs rax, 0x750d852f90c22463
xor rcx, rax
mov rax, r8
add rax, rcx
movabs rcx, 0x4cf5f9b2848e5d60
movabs rdx, 0x4cf5f9b2848e5d64
xor rcx, rdx
add rax, rcx
movabs rcx, 0xeec5ef491605d959
sub rax, rcx
movabs rcx, 0xf46473bf24b44f9d
movabs rdx, 0xb9b8c40db4bb062
xor rcx, rdx
xor r8, rcx
movabs rcx, 0xb5f5bb9828db6d3f
movabs rdx, 0xb5f5bb9828db6d3e
xor rcx, rdx
mov rdx, rax
add rdx, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x528], rax
jge 0x140102664
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x530]
add rsp, 0x20
mov qword [rbp + 0x528], rax
mov cl, byte [rbp + 0x6a7]
mov rax, qword [rbp + 0x528]
mov qword [rbp + 0x518], rax
test cl, 1
mov qword [rbp + 0x520], rax
jne 0x14010268d
jmp 0x140102935
mov r9, qword [rbp + 0x6e8]
mov rax, r9
add rax, 1
mov qword [rbp + 0x510], rax
movabs rcx, 0x5dc6f52b0f8e3649
movabs rdx, 0xa2390ad4f071c9b6
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0xce812c2510d181fc
and rdx, rcx
mov r10, 0xffffffffffffffff
movabs rcx, 0xce812c2510d181fc
xor r10, rcx
and r9, r10
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0xce812c2510d181fc
and rcx, r8
movabs r8, 0xdbca0dbf8d4aee4c
movabs r11, 0x2435f24072b511b3
xor r8, r11
and r8, r10
or rdx, r9
or rcx, r8
xor rdx, rcx
movabs r8, 0x7142a620dc1e62d5
movabs rcx, 0x7142a620dc1e62d4
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x14010276f
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x518]
add rsp, 0x20
mov qword [rbp + 0x520], rax
jmp 0x140102935
mov rax, qword [rbp + 0x510]
movabs rcx, 0xba8ebdb1ff797a34
movabs rdx, 0xba8ebdb1ff797a34
xor rcx, rdx
cmp rax, rcx
jge 0x1401027cb
mov rcx, qword [rbp + 0x510]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x518]
add rsp, 0x20
mov qword [rbp + 0x520], rax
jmp 0x140102935
mov rax, qword [rbp + 0x6f0]
mov rdx, qword [rbp + 0x518]
mov rcx, qword [rbp + 0x538]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x4f8], rcx
add rax, 8
mov qword [rbp + 0x500], rax
xor eax, eax
mov qword [rbp + 0x508], rax
mov rcx, qword [rbp + 0x508]
mov rdx, qword [rbp + 0x6e8]
mov rax, qword [rbp + 0x4f8]
mov r8, qword [rbp + 0x500]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xe9b802a2283f6e2b
mov rax, rcx
sub rax, r8
add rax, 1
movabs r8, 0xe9b802a2283f6e2b
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x508], rax
jne 0x140102802
mov rdx, qword [rbp + 0x6e8]
mov r9, qword [rbp + 0x518]
mov rax, r9
add rax, rdx
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs r8, 0xa3603d305cc255ff
and rcx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xa3603d305cc255ff
xor r11, r8
mov r10, rax
and r10, r11
movabs rsi, 0xd5fd44238587f635
movabs r8, 0x2a02bbdc7a7809ca
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0x9a7ea797b4916ed9
movabs rdi, 0x391e9aa7e8533b26
xor rsi, rdi
and r8, rsi
and r9, r11
or rcx, r10
or r8, r9
xor rcx, r8
mov r8, rax
xor r8, rdx
movabs r9, 0xf02abdbc0bc96349
movabs rdx, 0xf02abdbc0bc96348
xor r9, rdx
mov rdx, rcx
add rdx, r9
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x520], rax
jge 0x140102935
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x518]
add rsp, 0x20
mov qword [rbp + 0x520], rax
mov rax, qword [rbp + 0x520]
mov qword [rbp + 0x4e8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x538]
mov r8, qword [rbp + 0x4e8]
add rsp, 0x20
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0x4f0], rcx
cmp byte [rax + 0x60], 0
jne 0x140102a1b
mov rax, qword [rbp + 0x4e8]
movabs rcx, 0x4e22b39931013b70
movabs rdx, 0x4e22b39931013b70
xor rcx, rdx
cmp rax, rcx
jge 0x1401029f9
mov rcx, qword [rbp + 0x4e8]
movabs rdx, 0x9e8a166c8b4a5e17
movabs rax, 0x9e8a166c8b4a5e17
xor rdx, rax
movabs r8, 0x7b1a1030dcb694bc
movabs rax, 0x4e5efcf23496b43
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x140102a1b
mov r8, qword [rbp + 0x4e8]
mov rdx, qword [rbp + 0x4f0]
lea rcx, [rbp + 0x16a8]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x538]
mov rcx, qword [rbp + 0x588]
mov rdx, qword [rbp + 0x5e0]
mov r8, qword [rbp + 0x640]
mov r9, qword [rbp + 0x14d8]
mov r10, qword [rbp + 0x758]
mov r11, qword [rbp + 0x16a8]
mov qword [rbp + 0x4d8], r11
mov r10, qword [r10]
mov qword [rbp + 0x4e0], r10
mov r9b, byte [r9]
mov r10b, 0x4a
xor r10b, 0x4a
cmp r9b, r10b
mov qword [rbp + 0x648], r8
mov qword [rbp + 0x650], rdx
mov qword [rbp + 0x658], rcx
mov qword [rbp + 0x660], rax
jne 0x140106b8a
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x14d8]
add rsp, 0x20
mov eax, dword [rbp + 0x714]
mov dl, byte [rcx]
mov r8b, 0x4d
xor r8b, 0x4d
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0x4d3], cl
mov dword [rbp + 0x4d4], eax
jne 0x140106bdc
mov rax, qword [rbp + 0x760]
mov r8, qword [rbp + 0x4d8]
mov rcx, qword [rbp + 0x4e0]
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, 0
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 + 0x4c8], rax
mov rax, qword [rbp + 0x4c8]
mov rcx, qword [rbp + 0x1380]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
movabs rcx, 0x9ada1e161960797c
movabs rdx, 0x101dd1731b12ce1b
xor rcx, rdx
add rax, rcx
add rax, 0x10
movabs rcx, 0x6b194af83364f355
movabs rdx, 0xe1de859d31164432
xor rcx, rdx
sub rax, rcx
cmp rax, 0x30
mov qword [rbp + 0x4c8], rax
jne 0x140102b19
mov r11, qword [rbp + 0x1380]
mov rax, qword [rbp + 0x1388]
mov rdx, qword [rbp + 0x788]
mov r8, qword [rbp + 0x780]
mov r9, qword [rbp + 0x778]
mov rcx, qword [rbp + 0x770]
mov r10, qword [rbp + 0x768]
mov dword [r11], 0x30
lea r11, [rbp + 0x16d8]
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 + 0x1388]
mov r8, qword [rbp + 0x1380]
mov r9, qword [rbp + 0x1390]
add rsp, 0x20
xorps xmm0, xmm0
movaps xmmword [r9], xmm0
mov edx, 0x80000000
mov rax, qword [0x1401a1660]
sub rsp, 0x30
mov dword [rsp + 0x20], 7
mov dword [rsp + 0x28], 1
call qword [rax]
mov rcx, qword [rbp + 0x14d8]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp + 0x714]
mov dword [rbp + 0x4c4], edx
mov dl, byte [rcx]
mov r8b, 0xf4
xor r8b, 0xf4
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0x4d3], cl
mov dword [rbp + 0x4d4], eax
jne 0x140106bdc
mov rdx, qword [rbp + 0x13b0]
mov ecx, dword [rbp + 0x4c4]
mov rax, qword [rbp + 0x790]
mov r8, qword [rbp + 0x6f0]
mov r9, qword [rbp + 0x6e8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400b6967
mov rdx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x714]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x4d3], cl
mov dword [rbp + 0x4d4], eax
jne 0x140106bdc
mov ecx, dword [rbp + 0x4c4]
mov rax, qword [rbp + 0x798]
mov rdx, qword [rbp + 0x6f0]
mov r8, qword [rbp + 0x6e8]
mov qword [rbp + 0x1698], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1698]
sub rsp, 0x20
call fcn.1400b6a26
mov rdx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x714]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x4d3], cl
mov dword [rbp + 0x4d4], eax
jne 0x140106bdc
mov r8, qword [rbp + 0x13b8]
mov edx, dword [rbp + 0x4c4]
mov rax, qword [rbp + 0x7a0]
mov r9, qword [rbp + 0x6f0]
mov r10, qword [rbp + 0x6e8]
mov rcx, qword [rbp + 0x1388]
mov rcx, qword [rcx]
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400b6ae5
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x714]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0x5d
xor r8b, 0x5d
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0x4d3], cl
mov dword [rbp + 0x4d4], eax
jne 0x140106bdc
mov rax, qword [rbp + 0x1388]
mov rax, qword [rax]
movabs rcx, 0x2b8ba59c0709f87e
movabs rdx, 0x2b8ba59c0709f87f
xor rcx, rdx
cmp rax, rcx
jge 0x140102e09
mov ecx, dword [rbp + 0x4c4]
mov rax, qword [0x1401a00f0]
mov qword [rbp + 0x1688], rax
mov rax, qword [0x1401a00f8]
mov qword [rbp + 0x1690], rax
lea rdx, [rbp + 0x1688]
sub rsp, 0x20
call fcn.1400a216b
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x714]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0xe9
xor r8b, 0xe9
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0x4d3], cl
mov dword [rbp + 0x4d4], eax
jne 0x140106bdc
mov ecx, dword [rbp + 0x4c4]
mov rax, qword [0x1401a00f0]
mov qword [rbp + 0x1678], rax
mov rax, qword [0x1401a00f8]
mov qword [rbp + 0x1680], rax
lea rdx, [rbp + 0x1678]
sub rsp, 0x20
call fcn.1400a216b
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x714]
add rsp, 0x20
mov r8b, byte [rcx]
mov r9b, 0x18
xor r9b, 0x18
mov edx, 0x1d4c0
mov cl, 1
cmp r8b, r9b
mov qword [rbp + 0x4a8], rdx
mov dl, cl
mov byte [rbp + 0x4b7], dl
mov edx, eax
mov dword [rbp + 0x4b8], edx
mov byte [rbp + 0x4bf], cl
mov dword [rbp + 0x4c0], eax
jne 0x140106a68
mov rcx, qword [rbp + 0x4a8]
mov al, byte [rbp + 0x4b7]
mov edx, dword [rbp + 0x4b8]
mov dword [rbp + 0x494], edx
mov byte [rbp + 0x493], al
mov qword [rbp + 0x488], rcx
sub rsp, 0x20
call fcn.14000dc72
mov cl, byte [rbp + 0x493]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x494]
mov qword [rbp + 0x498], rdx
mov byte [rbp + 0x4a3], cl
mov dword [rbp + 0x4a4], eax
jmp 0x140102efb
mov cl, byte [rbp + 0x487]
mov eax, dword [rbp + 0x480]
mov byte [rbp + 0x4a3], cl
mov dword [rbp + 0x4a4], eax
mov r11, qword [rbp + 0x498]
mov rsi, qword [rbp + 0x1390]
mov rcx, qword [rbp + 0x1388]
mov r10b, byte [rbp + 0x4a3]
mov eax, dword [rbp + 0x4a4]
mov dword [rbp + 0x46c], eax
mov byte [rbp + 0x46b], r10b
mov rax, qword [0x1401a1680]
mov rax, qword [rax]
mov rcx, qword [rcx]
xor edx, edx
mov r9d, edx
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 rdx, qword [rbp + 0x14d8]
mov ecx, dword [rbp + 0x46c]
add rsp, 0x60
mov r8d, eax
mov rax, qword [rbp + 0x498]
mov dword [rbp + 0x470], r8d
cmp byte [rdx], 0
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
jne 0x140106a33
mov eax, dword [rbp + 0x470]
mov ecx, 0x870c6eb
xor ecx, 0x870c7e8
cmp eax, ecx
mov dword [rbp + 0x464], eax
jne 0x1401031df
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x1388]
add rsp, 0x20
mov qword [rbp + 0x1670], 0
movabs rax, 0x20dc562bff349f3c
movabs rdx, 0xdf23a9d400872bfc
xor rax, rdx
mov qword [rbp + 0x1670], rax
mov rax, qword [0x1401a16b0]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov dl, 0xd5
xor dl, 0xd4
lea r8, [rbp + 0x1670]
sub rsp, 0x20
call rax
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x14d8]
mov dword [rbp + 0x460], ecx
cmp byte [rax], 0
jne 0x1401031c0
mov eax, dword [rbp + 0x460]
test eax, eax
je 0x1401031ac
jmp 0x140103065
mov eax, dword [rbp + 0x460]
sub eax, 0x102
jne 0x14010312f
jmp 0x14010307b
movabs rcx, 0x4224169b1bf8ab0d
movabs rax, 0x4224169b1bf8ab4d
xor rcx, rax
movabs rdx, 0x6cc3d3397b556365
movabs rax, 0x6cc3d3397b55636d
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, 0x2f9b0109f685b82
movabs rdx, 0xfd064fef19ad5479
xor rax, rdx
lea rdx, [0x1401a00a8]
lea r8, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
jmp 0x1401031c0
mov ecx, 0x40
mov edx, 8
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, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff841e2fd7
call fcn.140019b17
add rsp, 0x30
jmp 0x1401031c0
mov rax, qword [rbp + 0x1390]
mov eax, dword [rax]
mov dword [rbp + 0x464], eax
jmp 0x1401031df
mov rax, qword [rbp + 0x498]
mov ecx, dword [rbp + 0x46c]
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
jmp 0x140106a33
mov rdx, qword [rbp + 0x7a8]
mov ecx, dword [rbp + 0x464]
mov dword [rbp + 0x458], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0x45f], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x140103221
jmp 0x140103469
mov rax, qword [rbp + 0x488]
movabs rcx, 0xbb80d76c881d7696
movabs rdx, 0xbb80d76c881d7697
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x488]
mov qword [rbp + 0x440], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019fd48]
mulsd xmm0, xmm1
movsd qword [rbp + 0x448], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x450], xmm1
ucomisd xmm0, xmm1
jne 0x14010328b
jp 0x14010328b
jmp 0x140103316
movsd xmm1, qword [rbp + 0x448]
movsd xmm0, qword [rbp + 0x450]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x448]
movsd qword [rbp + 0x438], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x438]
add rsp, 0x20
movsd xmm2, qword [0x14019fd50]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140103316
sub rsp, 0x20
call fcn.14000a590
mov ecx, dword [rbp + 0x46c]
mov rax, qword [rbp + 0x498]
add rsp, 0x20
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
jmp 0x140106a33
mov rax, qword [rbp + 0x440]
cmp rax, 0x100000
jl 0x1401033d3
mov ecx, 0x40
mov edx, 8
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, 0xf177a0b0474c938c
movabs rdx, 0xe885f4f8f9b84cf
xor rax, rdx
lea rdx, [0x1401a0068]
lea r8, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
mov ecx, dword [rbp + 0x46c]
mov rax, qword [rbp + 0x498]
add rsp, 0x30
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
jmp 0x140106a33
mov rcx, qword [rbp + 0x498]
sub rsp, 0x20
call fcn.1400259f3
mov rdx, qword [rbp + 0x440]
mov cl, byte [rbp + 0x46b]
mov eax, dword [rbp + 0x46c]
add rsp, 0x20
movabs r8, 0xf26a5c7bd70ced7a
movabs r9, 0xf26a5c7bd70ced7a
xor r8, r9
cmp rdx, r8
mov qword [rbp + 0x4a8], rdx
mov byte [rbp + 0x4b7], cl
mov dword [rbp + 0x4b8], eax
jge 0x140102e89
mov rcx, qword [rbp + 0x440]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov ecx, dword [rbp + 0x46c]
add rsp, 0x20
xor eax, eax
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
jmp 0x140106a33
mov eax, dword [rbp + 0x46c]
mov rcx, qword [rbp + 0x498]
mov dl, byte [rbp + 0x45f]
test dl, 1
mov qword [rbp + 0x428], rcx
mov dword [rbp + 0x434], eax
jne 0x140103497
jmp 0x140106963
mov rcx, qword [rbp + 0x428]
mov eax, dword [rbp + 0x434]
mov dword [rbp + 0x40c], eax
mov qword [rbp + 0x410], rcx
mov rdx, rcx
add rdx, 0x3c
mov qword [rbp + 0x418], rdx
cmp dword [rcx + 0x3c], 0
mov dword [rbp + 0x424], eax
je 0x14010674d
mov rax, qword [rbp + 0x410]
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0x3f8], rcx
mov ecx, dword [rax + 0x38]
and ecx, 0x10
sub rsp, 0x20
call fcn.14009c717
mov rcx, qword [rbp + 0x14d8]
add rsp, 0x20
mov cl, byte [rcx]
test cl, cl
sete dl
and dl, al
mov eax, 0x5c
mov r8d, 0x6b
cmp cl, 0
cmove eax, r8d
test dl, 1
mov byte [rbp + 0x407], cl
mov dword [rbp + 0x408], eax
jne 0x140103533
jmp 0x140104e00
mov rax, qword [rbp + 0x418]
mov eax, dword [rax]
mov dword [rbp + 0x3f4], eax
sub eax, 2
je 0x1401036a1
jmp 0x140103550
mov eax, dword [rbp + 0x3f4]
sub eax, 4
jne 0x14010373c
jmp 0x140103564
mov rax, qword [rbp + 0x410]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0x3e8], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0x3f2], ax
cmp ax, 0xff
jbe 0x1401035c2
mov ax, word [rbp + 0x3f2]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140104d91
mov ax, word [rbp + 0x3f2]
cmp ax, 0x2e
jne 0x1401037d6
mov rax, qword [rbp + 0x3e8]
movabs rcx, 0xad14c44f7cc73ba3
movabs rdx, 0xad14c44f7cc73ba1
xor rcx, rdx
add rax, rcx
mov ax, word [rax]
mov word [rbp + 0x3e2], ax
mov cx, 0xf179
xor cx, 0xf186
cmp ax, cx
jbe 0x140103668
mov ax, word [rbp + 0x3e2]
movzx eax, ax
mov ecx, eax
movabs rdx, 0x4285f7eebd446d9b
movabs rax, 0x4285f7eebd446d9b
xor rdx, rax
movabs r8, 0x2bc5c56c14e7f85a
movabs rax, 0x2bc5c56c14e7f8a5
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140104d91
mov eax, dword [rbp + 0x40c]
mov r8w, word [rbp + 0x3e2]
xor ecx, ecx
mov dl, cl
mov ecx, 0x6a
cmp r8w, 0x2e
mov byte [rbp + 0x3d7], dl
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
je 0x140104dd7
jmp 0x1401037d6
mov rax, qword [rbp + 0x410]
mov ax, word [rax + 0x5e]
mov word [rbp + 0x3d4], ax
mov cx, 0x894a
xor cx, 0x89b5
cmp ax, cx
jbe 0x1401036f9
mov ax, word [rbp + 0x3d4]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140104d91
mov eax, dword [rbp + 0x40c]
mov r8w, word [rbp + 0x3d4]
mov r9w, 0x2ef9
xor r9w, 0x2ed7
xor ecx, ecx
mov dl, cl
mov ecx, 0x6a
cmp r8w, r9w
mov byte [rbp + 0x3d7], dl
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
je 0x140104dd7
jmp 0x1401037d6
mov eax, dword [rbp + 0x3f4]
mov ecx, 0x2c68964c
xor ecx, 0xd39769b3
cmp eax, ecx
jge 0x1401037d6
mov ecx, dword [rbp + 0x3f4]
mov eax, 0xd18501af
xor eax, 0xd18501af
mov edx, 0x219009b3
xor edx, 0x61651130
sub eax, edx
sub eax, ecx
mov ecx, 0x378b7cdf
xor ecx, 0x777e645c
add eax, ecx
mov ecx, 0x9d4b8ee0
xor ecx, 0x9d4b8ee1
shr eax, cl
mov ecx, eax
mov eax, 0x290e38e1
add eax, 0
sub eax, ecx
mov ecx, 0x30fbf871
xor ecx, 0x19f5c090
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140104d91
mov eax, dword [rbp + 0x3f4]
mov rcx, qword [rbp + 0x410]
add rcx, 0x5e
mov qword [rbp + 0x3b8], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0x3b8]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x1660]
sub rsp, 0x20
call fcn.14009f071
mov rcx, qword [rbp + 0x7b0]
mov r8, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov rdx, qword [rbp + 0x1660]
mov qword [rbp + 0x3c0], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x3c8], rcx
mov dl, 1
mov ecx, 0x5c
cmp byte [r8], 0
mov byte [rbp + 0x3d7], dl
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
jne 0x140104dd7
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp + 0x3a8], rax
add rax, 0x60
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x3c8]
mov r8, qword [rbp + 0x3c0]
add rsp, 0x20
mov rax, qword [rbp + 0x3a8]
movabs r9, 0xe06e4bec63afe503
movabs rdx, 0xe06e4bec63afe503
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x3b0], rcx
mov al, byte [rax + 0x60]
mov cl, 0x8c
xor cl, 0x8c
cmp al, cl
jne 0x1401039b2
mov rax, qword [rbp + 0x3c0]
movabs rcx, 0xd13331c8f0c5cdc1
movabs rdx, 0xd13331c8f0c5cdc3
xor rcx, rdx
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x3c0]
mov rcx, r8
add rcx, 0xffffffffffffffff
mov qword [rbp + 0x3a0], rcx
mov r9, rcx
xor r9, r8
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
movabs rdx, 0x64c64a8dabf660e0
movabs r8, 0x64c64a8dabf660e0
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 1
setg al
and al, cl
test al, 1
jne 0x1401039a5
mov rdx, qword [rbp + 0x3b0]
mov rcx, qword [rbp + 0x13c8]
mov rax, qword [rbp + 0x3a0]
xor r8d, r8d
test rax, rax
cmovg r8, rax
sub rsp, 0x20
call fcn.14009eb59
add rsp, 0x20
jmp 0x1401039b2
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0x40c]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x7b8]
mov r8, qword [rbp + 0x13c8]
mov r8, qword [r8]
mov qword [rbp + 0x380], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x388], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rcx, qword [rbp + 0x388]
mov r8, qword [rbp + 0x380]
mov rdi, qword [rbp + 0x7d0]
mov rsi, qword [rbp + 0x7c8]
mov rdx, qword [rbp + 0x13d0]
mov rax, qword [rbp + 0x7c0]
mov r9, qword [rbp + 0x13c0]
mov byte [r9], 1
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1650]
sub rsp, 0x20
call fcn.140024b17
mov r11, qword [rbp + 0x7d8]
mov r10, qword [rbp + 0x6e8]
mov r9, qword [rbp + 0x6f0]
mov r8, qword [rbp + 0x7e0]
mov rdx, qword [rbp + 0x380]
mov rax, qword [rbp + 0x7e8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov rbx, qword [rbp + 0x1650]
mov rsi, qword [rsi]
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [rbp + 0x1630], r10
mov qword [r8], r9
mov qword [rbp + 0x1620], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1640]
lea rdx, [rbp + 0x1630]
lea r8, [rbp + 0x1620]
sub rsp, 0x20
call fcn.14004973b
mov r8, qword [rbp + 0x7f0]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov r9, qword [rbp + 0x1640]
mov qword [rbp + 0x370], r9
mov r8, qword [r8]
mov qword [rbp + 0x378], r8
mov dl, byte [rdx]
mov r8b, 0x71
xor r8b, 0x71
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rdx, qword [rbp + 0x13c0]
mov rax, qword [rbp + 0x808]
mov rcx, qword [rbp + 0x800]
mov r8, qword [rbp + 0x378]
mov r9, qword [rbp + 0x7f8]
mov r10, qword [rbp + 0x370]
mov qword [r9], r10
mov qword [rcx], r8
mov qword [rax], 0
lea rcx, [rbp + 0x16e8]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xfe
xor r8b, 0xfe
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov al, byte [rbp + 0x16e8]
mov cl, 0x32
xor cl, 0x33
cmp al, cl
mov byte [rbp + 0x36f], al
jne 0x140103e3e
mov rax, qword [rbp + 0x810]
mov rcx, qword [rbp + 0x14e0]
mov rdx, qword [rcx]
mov qword [rbp + 0x1610], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x1618], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x1600], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1608], rax
lea rcx, [rbp + 0x1610]
lea rdx, [rbp + 0x1600]
sub rsp, 0x20
call fcn.1400b7216
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x40c]
mov qword [rbp + 0x360], r8
mov dl, byte [rdx]
mov r8b, 0x35
xor r8b, 0x35
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rdx, qword [rbp + 0x360]
movabs rax, 0xff0f52d460f2c61c
movabs rcx, 0xff0f52d460f2c61d
xor rax, rcx
mov rcx, rdx
add rcx, rax
mov qword [rbp + 0x358], rcx
movabs rax, 0xe7ca1880bcf7fff8
movabs r8, 0x1835e77f43080007
xor rax, r8
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs r8, 0x22f1080c4aa8cefc
movabs r9, 0xdd0ef7f3b5573103
xor r8, r9
xor rax, r8
movabs r8, 0xe0b5dabfee0c04e
movabs r9, 0xf1f4a254011f3fb1
xor r8, r9
xor rcx, r8
movabs r8, 0xcf539b4d8a3a16c9
movabs r9, 0x30ac64b275c5e936
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x140103d15
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
mov rax, qword [rbp + 0x818]
mov eax, dword [rax]
mov dword [rbp + 0x354], eax
mov ecx, 0xf81c11a
xor ecx, 0xf07e3ee5
cmp eax, ecx
jne 0x140103da9
mov rdx, qword [rbp + 0x13d8]
mov rax, qword [rbp + 0x810]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x15f0]
sub rsp, 0x20
call fcn.140024b17
mov rdx, qword [rbp + 0x830]
mov rax, qword [rbp + 0x838]
mov rcx, qword [rbp + 0x1370]
add rsp, 0x20
mov r8, qword [rbp + 0x15f0]
mov rdx, qword [rdx]
mov qword [rbp + 0x15e0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x15e0]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
jmp 0x140103e32
mov rax, qword [rbp + 0x358]
mov ecx, dword [rbp + 0x354]
movsxd rcx, ecx
cmp rax, rcx
jg 0x140103e32
mov rcx, qword [rbp + 0x13e0]
mov rdx, qword [rbp + 0x13e8]
mov rax, qword [rbp + 0x810]
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 r8, qword [rbp + 0x13e0]
mov rdx, qword [rbp + 0x820]
mov rax, qword [rbp + 0x828]
mov rcx, qword [rbp + 0x1370]
add rsp, 0x20
mov r8, qword [r8]
mov rdx, qword [rdx]
mov qword [rbp + 0x15d0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x15d0]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov al, byte [rbp + 0x16e8]
mov byte [rbp + 0x36f], al
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov dl, byte [rbp + 0x36f]
mov r8b, 0x32
xor r8b, 0x30
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jae 0x140104c73
lea rcx, [rbp + 0x1728]
lea rdx, [rbp + 0x16e8]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xb
xor r8b, 0xb
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
sub rsp, 0x20
lea rcx, [rbp + 0x16e8]
call fcn.1400b766f
add rsp, 0x20
mov al, byte [rbp + 0x1728]
mov byte [rbp + 0x353], al
test al, al
je 0x1401045ce
jmp 0x140103ee9
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov dl, byte [rbp + 0x353]
sub dl, 1
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
jmp 0x140103f17
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov rdx, qword [rbp + 0x14d0]
cmp byte [rdx], 0
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140056d47
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x40c]
mov byte [rbp + 0x352], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov al, byte [rbp + 0x352]
test al, 1
jne 0x1401040c2
jmp 0x140103fa3
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140057446
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x40c]
mov qword [rbp + 0x348], r8
mov dl, byte [rdx]
mov r8b, 0xd2
xor r8b, 0xd2
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rax, qword [rbp + 0x348]
cmp rax, 0
jle 0x1401040c2
mov rax, qword [rbp + 0x890]
mov qword [rbp + 0x15c8], 0
mov rdx, qword [rax]
lea rcx, [rbp + 0x15c8]
xor r8d, r8d
sub rsp, 0x20
call fcn.14005744b
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xf7
xor cl, 0xf7
cmp al, cl
jne 0x1401040a3
mov rcx, qword [rbp + 0x15c8]
sub rsp, 0x20
call fcn.140057446
add rsp, 0x20
mov rax, qword [rbp + 0x14d8]
mov al, byte [rax]
mov cl, 0xb
xor cl, 0xb
cmp al, cl
jne 0x1401040a3
mov rcx, qword [rbp + 0x15c8]
sub rsp, 0x20
call fcn.140053e68
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x2a
xor cl, 0x2a
cmp al, cl
jne 0x1401040a3
jmp 0x1401040c2
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov rdx, qword [rbp + 0x818]
cmp dword [rdx], 1
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
sub rsp, 0x20
xor eax, eax
mov edx, eax
call fcn.140056d47
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x40c]
mov dl, byte [rdx]
test dl, dl
setne dl
or dl, r8b
test dl, 1
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140057446
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x40c]
mov dl, byte [rdx]
test dl, dl
sete dl
test r8, r8
setg r8b
and dl, r8b
test dl, 1
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104198
jmp 0x140104c73
mov rdx, qword [rbp + 0x13f0]
mov rax, qword [rbp + 0x858]
mov rcx, qword [rbp + 0x890]
mov rcx, qword [rcx]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.14005776e
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x40c]
mov dl, byte [rdx]
test dl, dl
sete dl
and dl, r8b
test dl, 1
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x1401041ff
jmp 0x140104c73
mov rdx, qword [rbp + 0x13f8]
mov rax, qword [rbp + 0x858]
mov rcx, qword [rbp + 0x890]
mov rcx, qword [rcx]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140057cc8
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x40c]
mov qword [rbp + 0x340], r8
mov dl, byte [rdx]
xor r8d, r8d
xor r8b, 0
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rax, qword [rbp + 0x340]
mov rax, qword [rax]
mov qword [rbp + 0x338], rax
cmp rax, 0
je 0x1401043b8
mov rax, qword [rbp + 0x338]
movabs rdx, 0xa9359c3b436c1f40
movabs rcx, 0x56ca63c4bc93e0b0
xor rdx, rcx
mov rcx, rax
and rcx, rdx
shl rcx, 1
xor rax, 0xfffffffffffffff0
add rax, rcx
mov qword [rbp + 0x328], rax
mov rdx, qword [rax]
movabs rcx, 0xb85b7fbc9d7408b4
movabs rax, 0xb85b7fbc9d7408a4
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rbp + 0x330], rax
movabs rcx, 0xa60b64aa7c70a5de
movabs r8, 0x59f49b55838f5a21
xor rcx, r8
mov r8, rdx
xor r8, rcx
movabs rcx, 0x96c4d37a2ab4109c
movabs r9, 0x693b2c85d54bef63
xor rcx, r9
and rcx, r8
movabs r8, 0xbb22d6c96c16e44d
movabs r9, 0x44dd293693e91bb2
xor r8, r9
movabs r9, 0xe0fe9c901ac9dddd
movabs r10, 0x1f01636fe5362222
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x140104378
mov rax, qword [rbp + 0x328]
mov rcx, qword [rbp + 0x330]
mov qword [rax], rcx
jmp 0x1401043b8
sub rsp, 0x20
call fcn.14000a590
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x1e
xor r8b, 0x1e
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov rdx, qword [rbp + 0x338]
mov rcx, qword [rbp + 0x1260]
mov rax, qword [rbp + 0x1258]
mov r8, qword [rax]
mov qword [rbp + 0x15b8], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x15c0], rax
lea r8, [rbp + 0x15b8]
sub rsp, 0x20
call fcn.1400fabd6
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x40c]
mov dword [rbp + 0x324], r8d
cmp byte [rdx], 0
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov eax, dword [rbp + 0x324]
mov ecx, dword [rbp + 0x40c]
movsxd rdx, ecx
movsxd r8, eax
mov rcx, r8
add rcx, rdx
mov qword [rbp + 0x318], rcx
mov rax, rcx
xor rax, rdx
mov rdx, rcx
and rdx, rdx
movabs r9, 0xd468e53482c45c69
movabs r10, 0x2b971acb7d3ba396
xor r9, r10
xor rdx, r9
movabs r9, 0xea2cb8bd8025e0ca
movabs r10, 0x15d347427fda1f35
xor r9, r10
xor rdx, r9
mov r9, r8
xor r9, 0xffffffffffffffff
or rdx, r9
and r8, r8
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rcx, r8
and rdx, rcx
movabs rcx, 0xc43ab5a49fd46bcb
movabs r8, 0x3bc54a5b602b9434
xor rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r8, 0x998be50af7ceb14a
movabs r9, 0x66741af508314eb5
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0x9b28c8292e7d7cdc
movabs rdx, 0x9b28c8292e7d7cdc
xor rcx, rdx
cmp rax, rcx
jge 0x140104534
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
mov rax, qword [rbp + 0x318]
movabs rcx, 0xa7ca4533863b2c44
movabs rdx, 0xa7ca4533863b2c44
xor rcx, rdx
movabs rdx, 0x8b5a9fc790a277c
movabs r8, 0xf74a5603f90a277c
xor rdx, r8
sub rcx, rdx
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1401045ae
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
mov rcx, qword [rbp + 0x388]
mov rax, qword [rbp + 0x318]
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
mov rax, qword [rbp + 0x840]
mov rax, qword [rax]
mov qword [rbp + 0x308], rax
xor eax, eax
mov qword [rbp + 0x310], rax
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov r8, qword [rbp + 0x308]
mov rdx, qword [rbp + 0x310]
mov qword [rbp + 0x300], rdx
cmp rdx, r8
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jge 0x140104c73
mov rcx, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x840]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp + 0x2f8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14010468c
mov rcx, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2f8]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140019d55
mov rcx, qword [rbp + 0x388]
mov eax, dword [rbp + 0x40c]
add rsp, 0x20
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
mov rax, qword [rbp + 0x850]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x848]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x2e8], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14008c8b2
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x40c]
mov byte [rbp + 0x2f7], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov al, byte [rbp + 0x2f7]
test al, 1
jne 0x14010470d
jmp 0x140104b6a
mov rax, qword [rbp + 0x850]
mov rcx, qword [rbp + 0x2e8]
mov rcx, qword [rcx]
mov qword [rbp + 0x2d8], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x2e0], rax
cmp rax, rcx
jl 0x140104b6a
mov rax, qword [rbp + 0x2e0]
mov rcx, qword [rbp + 0x2d8]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x140104b6a
mov rcx, qword [rbp + 0x1400]
mov rax, qword [rbp + 0x858]
mov rdx, qword [rax]
mov qword [rbp + 0x15a8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x15b0], rax
lea rdx, [rbp + 0x15a8]
sub rsp, 0x20
call fcn.140024b17
mov r9, qword [rbp + 0x1400]
mov r8, qword [rbp + 0x860]
mov rax, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x1410]
mov rcx, qword [rbp + 0x1408]
add rsp, 0x20
mov rsi, qword [r9]
mov r8, qword [r8]
mov qword [rbp + 0x2c8], r8
mov rax, qword [rax]
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 r9, qword [rbp + 0x1408]
mov r8, qword [rbp + 0x868]
mov r11, qword [rbp + 0x2c8]
mov r10, qword [rbp + 0x870]
mov rax, qword [rbp + 0x878]
mov rcx, qword [rbp + 0x1418]
mov rdx, qword [rbp + 0x1420]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rcx], rsi
mov qword [r10], r11
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400752cc
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x388]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x40c]
mov byte [rbp + 0x2d7], r8b
mov dl, byte [rdx]
mov r8b, 9
xor r8b, 9
cmp dl, r8b
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
mov al, byte [rbp + 0x2d7]
test al, 1
jne 0x14010487c
jmp 0x140104b6a
mov rax, qword [rbp + 0x880]
mov rcx, qword [rax]
movabs rdx, 0x9896df0e5171a04c
movabs rax, 0x9896df0e5171a05c
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp + 0x2c0], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jl 0x1401048d1
mov rax, qword [rbp + 0x880]
mov rcx, qword [rbp + 0x2c0]
mov qword [rax], rcx
jmp 0x1401048ee
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140104af8
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x2b8], rax
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0x1428]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
movabs rdx, 0x381b260200dafd0a
movabs rcx, 0x381b260200dafd1a
xor rdx, rcx
mov rcx, rax
and rcx, rdx
shl rcx, 1
movabs rdx, 0x2aca8405fd7c018
movabs r8, 0x2aca8405fd7c008
xor rdx, r8
xor rax, rdx
add rax, rcx
movabs rcx, 0x538fab2ce8bcb8bc
movabs rdx, 0x538fab2ce8bcb88c
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x2b8], rax
jne 0x14010490d
mov rcx, qword [rbp + 0x1428]
lea rdx, [rbp + 0x1728]
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
lea rcx, [rbp + 0x1728]
sub rsp, 0x20
call fcn.1400b766f
mov rax, qword [rbp + 0x888]
mov rcx, qword [rbp + 0x1258]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x2a8], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x2b0], rcx
cmp rax, 0
je 0x140104a20
mov rax, qword [rbp + 0x2b0]
mov r9, qword [rbp + 0x2a8]
mov r8, qword [rbp + 0x1428]
mov rdx, qword [rbp + 0x14d0]
mov rcx, qword [rbp + 0x1260]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x2a7], al
jmp 0x140104a4c
mov rax, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x1428]
mov rdx, qword [rbp + 0x14d0]
mov rcx, qword [rbp + 0x1260]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x2a7], al
mov rax, qword [rbp + 0x14d8]
mov cl, byte [rbp + 0x2a7]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x2a6], al
and al, cl
test al, 1
jne 0x140104a75
jmp 0x140104b17
mov eax, dword [rbp + 0x40c]
movsxd rcx, eax
and eax, 1
mov rdx, rcx
or rdx, 1
add rax, rdx
mov qword [rbp + 0x298], rax
mov r8, rcx
not r8
mov rdx, rax
not rdx
or rdx, r8
add rax, rdx
inc rax
sets al
add rcx, 0xffffffff80000001
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x140104aeb
mov rcx, qword [rbp + 0x388]
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jmp 0x140104c73
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + 0x388]
mov r8, qword [rbp + 0x300]
mov r10b, byte [rbp + 0x2a6]
mov r9b, 1
mov edx, 0x6d
test r10b, 1
mov byte [rbp + 0x287], r9b
mov qword [rbp + 0x288], r8
mov dword [rbp + 0x294], edx
mov qword [rbp + 0x390], rcx
mov dword [rbp + 0x39c], eax
jne 0x140104c73
jmp 0x140104bf2
mov rcx, qword [rbp + 0x300]
movabs rax, 0xa4ef5012b7766717
movabs rdx, 0xa4ef5012b7766717
xor rax, rdx
sub rax, rcx
movabs rcx, 0x552a74c4e3494cbe
movabs rdx, 0x552a74c4e3494cbe
xor rcx, rdx
movabs rdx, 0xc6f25997854860c1
movabs r8, 0xc6f25997854860c0
xor rdx, r8
sub rcx, rdx
add rax, rcx
movabs rcx, 0x532966e249aa199e
movabs rdx, 0x532966e249aa199e
xor rcx, rdx
sub rcx, rax
xor eax, eax
mov dl, al
xor eax, eax
mov byte [rbp + 0x287], dl
mov qword [rbp + 0x288], rcx
mov dword [rbp + 0x294], eax
mov dl, byte [rbp + 0x287]
mov rax, qword [rbp + 0x288]
mov ecx, dword [rbp + 0x294]
mov dword [rbp + 0x280], ecx
mov byte [rbp + 0x285], dl
mov byte [rbp + 0x286], cl
test cl, cl
mov qword [rbp + 0x310], rax
je 0x1401045e8
jmp 0x140104c2b
mov eax, dword [rbp + 0x280]
mov cl, byte [rbp + 0x285]
mov edx, dword [rbp + 0x40c]
mov r8, qword [rbp + 0x388]
mov r9b, byte [rbp + 0x286]
sub r9b, 0x6d
mov qword [rbp + 0x390], r8
mov dword [rbp + 0x39c], edx
mov byte [rbp + 0x407], cl
mov dword [rbp + 0x408], eax
jne 0x140104e00
jmp 0x140104c73
mov rax, qword [rbp + 0x3c8]
mov rcx, qword [rbp + 0x390]
mov edx, dword [rbp + 0x39c]
mov dword [rbp + 0x274], edx
mov qword [rbp + 0x278], rcx
cmp rax, 0
je 0x140104cf6
mov rax, qword [rbp + 0x3c8]
mov rax, qword [rax]
movabs rcx, 0xebb6a119e453e96c
movabs rdx, 0xabb6a119e453e96c
xor rcx, rdx
and rax, rcx
movabs rcx, 0xec129c4f88e928f9
movabs rdx, 0xec129c4f88e928f9
xor rcx, rdx
cmp rax, rcx
jne 0x140104cf6
mov rcx, qword [rbp + 0x3c8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov eax, dword [rbp + 0x274]
mov rcx, qword [rbp + 0x278]
cmp rcx, 0
mov dword [rbp + 0x3e4], eax
je 0x140104d91
mov eax, dword [rbp + 0x274]
mov rcx, qword [rbp + 0x278]
mov rcx, qword [rcx]
movabs r8, 0x2d201a782e157133
movabs rdx, 0x6d201a782e157133
xor r8, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xdde9ebb77ccb3a55
movabs r9, 0x9de9ebb77ccb3a55
xor r8, r9
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov dword [rbp + 0x3e4], eax
jne 0x140104d91
mov rcx, qword [rbp + 0x278]
sub rsp, 0x20
call fcn.1400121d0
mov eax, dword [rbp + 0x274]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0x270], eax
mov dl, byte [rcx]
mov ecx, 0x5c
cmp dl, 0
mov byte [rbp + 0x3d7], dl
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
jne 0x140104dd7
mov eax, dword [rbp + 0x270]
mov dword [rbp + 0x26c], eax
jmp 0x140104e71
mov dl, byte [rbp + 0x3d7]
mov ecx, dword [rbp + 0x3d8]
mov eax, dword [rbp + 0x3dc]
mov byte [rbp + 0x263], dl
mov dword [rbp + 0x264], ecx
mov dword [rbp + 0x268], eax
jmp 0x1401066c6
mov eax, dword [rbp + 0x40c]
mov dl, byte [rbp + 0x407]
mov ecx, dword [rbp + 0x408]
mov dword [rbp + 0x25c], ecx
mov byte [rbp + 0x262], dl
test ecx, ecx
mov dword [rbp + 0x26c], eax
je 0x140104e71
jmp 0x140104e31
mov eax, dword [rbp + 0x40c]
mov ecx, dword [rbp + 0x25c]
mov dl, byte [rbp + 0x262]
mov r8d, ecx
sub r8d, 0x6b
mov r8d, eax
mov dword [rbp + 0x26c], r8d
mov byte [rbp + 0x263], dl
mov dword [rbp + 0x264], ecx
mov dword [rbp + 0x268], eax
jne 0x1401066c6
jmp 0x140104e71
mov rax, qword [rbp + 0x3f8]
mov ecx, dword [rbp + 0x26c]
mov dword [rbp + 0x250], ecx
mov ecx, dword [rax]
not ecx
and ecx, 0x10
sub rsp, 0x20
call fcn.14009c717
mov rcx, qword [rbp + 0x14d8]
add rsp, 0x20
mov cl, byte [rcx]
xor edx, edx
mov r9b, dl
test cl, cl
sete dl
and dl, al
mov r8d, 0xbc267d92
xor r8d, 0xbc267d1f
mov eax, 0xd7b2479d
xor eax, 0xd7b247c1
cmp cl, r9b
cmove eax, r8d
test dl, 1
mov byte [rbp + 0x257], cl
mov dword [rbp + 0x258], eax
jne 0x140104ee5
jmp 0x140106654
mov rax, qword [rbp + 0x418]
mov eax, dword [rax]
mov dword [rbp + 0x24c], eax
cmp eax, 0xffffffff
jge 0x140104f54
mov ecx, dword [rbp + 0x24c]
mov eax, 0x3eddaa28
xor eax, 0xc12255d7
xor ecx, eax
add ecx, 0
mov eax, 0xc4d77fa6
xor eax, 0xc4d77fa7
add ecx, eax
shr ecx, 1
xor eax, eax
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov dword [rbp + 0x248], eax
jmp 0x1401065fc
mov eax, dword [rbp + 0x24c]
mov rcx, qword [rbp + 0x410]
add rcx, 0x5e
mov qword [rbp + 0x228], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0x228]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x1598]
sub rsp, 0x20
call fcn.14009f071
mov rdx, qword [rbp + 0x898]
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov r8, qword [rbp + 0x1598]
mov qword [rbp + 0x230], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x238], rdx
cmp byte [rcx], 0
mov dword [rbp + 0x244], eax
jne 0x140106624
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp + 0x218], rax
add rax, 0x60
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x238]
mov r8, qword [rbp + 0x230]
add rsp, 0x20
mov rax, qword [rbp + 0x218]
movabs r9, 0x1ee066640ec0d014
movabs rdx, 0x1ee066640ec0d014
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a01a8]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x220], rcx
cmp byte [rax + 0x60], 0
jne 0x1401050d7
mov rax, qword [rbp + 0x230]
mov rcx, rax
shr rcx, 0x3f
mov rdx, rax
add rdx, rcx
sar rdx, 1
mov rcx, rdx
dec rcx
mov qword [rbp + 0x210], rcx
xor rcx, rdx
sets dl
sub rax, 2
setge al
setl cl
or cl, dl
add al, cl
inc al
test al, 1
jne 0x1401050ca
mov rdx, qword [rbp + 0x220]
mov rax, qword [rbp + 0x210]
xor ecx, ecx
test rax, rax
mov r8d, ecx
cmovg r8, rax
lea rcx, [rbp + 0x1588]
sub rsp, 0x20
call fcn.14009eb59
add rsp, 0x20
jmp 0x1401050d7
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0x250]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x8a0]
mov r8, qword [rbp + 0x1588]
mov qword [rbp + 0x1f0], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x1f8], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rcx, qword [rbp + 0x1f8]
mov r8, qword [rbp + 0x1f0]
mov rsi, qword [rbp + 0x6e8]
mov rdi, qword [rbp + 0x8c0]
mov r14, qword [rbp + 0x8b8]
mov rbx, qword [rbp + 0x8b0]
mov r15, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0x1440]
mov rax, qword [rbp + 0x8a8]
mov r9, qword [rbp + 0x1430]
mov r10b, 0xe5
xor r10b, 0xe5
mov byte [r9], r10b
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, r15
call fcn.140024b17
mov r11, qword [rbp + 0x6f0]
mov r10, qword [rbp + 0x8c8]
mov r9, qword [rbp + 0x1f0]
mov rax, qword [rbp + 0x8d0]
mov rdx, qword [rbp + 0x1450]
mov rcx, qword [rbp + 0x1448]
mov r8, qword [rbp + 0x1f8]
add rsp, 0x20
mov r15, qword [r15]
mov rbx, qword [rbx]
mov qword [r14], r15
mov qword [rdi], rbx
mov qword [rdx], rsi
mov qword [r10], r11
mov qword [rbp + 0x1578], r9
mov qword [rax], r8
lea r8, [rbp + 0x1578]
sub rsp, 0x20
call fcn.14004973b
mov r9, qword [rbp + 0x1448]
mov r8, qword [rbp + 0x8d8]
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0x1e0], r9
mov r8, qword [r8]
mov qword [rbp + 0x1e8], r8
cmp byte [rdx], 0
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rdx, qword [rbp + 0x1430]
mov rax, qword [rbp + 0x8f0]
mov rcx, qword [rbp + 0x410]
mov r8, qword [rbp + 0x8e8]
mov r9, qword [rbp + 0x1e8]
mov r10, qword [rbp + 0x8e0]
mov r11, qword [rbp + 0x1e0]
mov qword [r10], r11
mov qword [r8], r9
mov rcx, qword [rcx + 0x28]
mov qword [rax], rcx
lea rcx, [rbp + 0x16e8]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov al, byte [rbp + 0x16e8]
cmp al, 1
mov byte [rbp + 0x1df], al
jne 0x14010559e
mov rcx, qword [rbp + 0x1458]
mov rax, qword [rbp + 0x810]
mov rdx, qword [rbp + 0x14e0]
mov r8, qword [rdx]
mov qword [rcx], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x1568], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1570], rax
lea rdx, [rbp + 0x1568]
sub rsp, 0x20
call fcn.1400b7216
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x250]
mov qword [rbp + 0x1d0], r8
cmp byte [rdx], 0
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rcx, qword [rbp + 0x1d0]
movabs rdx, 0x5c82b62437de08a2
movabs rax, 0x5c82b62437de08a2
xor rdx, rax
movabs rax, 0xa159ad2f82ab7f07
movabs r8, 0xa159ad2f82ab7f06
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x1c8], rax
movabs rdx, 0xd7059484f7885c83
movabs r8, 0x28fa6b7b0877a37c
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xcc47fc15a44dd0eb
movabs r8, 0x33b803ea5bb22f14
xor rdx, r8
xor rax, rdx
movabs rdx, 0x91e90687de557f24
movabs r8, 0x6e16f97821aa80db
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x612568425a3147e8
xor rdx, r8
or rax, rcx
movabs rcx, 0xd9a3e16a20c40a3e
movabs r8, 0xb88689287af54dd6
xor rcx, r8
or rcx, rdx
movabs rdx, 0x588d02914c4b657d
movabs r8, 0xa772fd6eb3b49a82
xor rdx, r8
xor rax, rdx
and rax, rcx
movabs rcx, 0xe5eb25798d6b838f
movabs rdx, 0xe5eb25798d6b838f
xor rcx, rdx
cmp rax, rcx
jge 0x14010546b
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
mov rax, qword [rbp + 0x818]
mov eax, dword [rax]
mov dword [rbp + 0x1c4], eax
mov ecx, 0x80de24a4
xor ecx, 0x7f21db5b
cmp eax, ecx
jne 0x140105502
mov rax, qword [rbp + 0x810]
mov rcx, qword [rax]
mov qword [rbp + 0x1548], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1550], rax
lea rcx, [rbp + 0x1558]
lea rdx, [rbp + 0x1548]
sub rsp, 0x20
call fcn.140024b17
mov r8, qword [rbp + 0x908]
mov rax, qword [rbp + 0x910]
mov rcx, qword [rbp + 0x1370]
mov rdx, qword [rbp + 0x1460]
add rsp, 0x20
mov r9, qword [rbp + 0x1558]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
jmp 0x140105592
mov rax, qword [rbp + 0x1c8]
mov ecx, dword [rbp + 0x1c4]
movsxd rcx, ecx
cmp rax, rcx
jg 0x140105592
mov rcx, qword [rbp + 0x1468]
mov rax, qword [rbp + 0x810]
mov rdx, qword [rax]
mov qword [rbp + 0x1538], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1540], rax
lea rdx, [rbp + 0x1538]
sub rsp, 0x20
call fcn.140024b17
mov r8, qword [rbp + 0x1468]
mov rdx, qword [rbp + 0x8f8]
mov rax, qword [rbp + 0x900]
mov rcx, qword [rbp + 0x1370]
add rsp, 0x20
mov r8, qword [r8]
mov rdx, qword [rdx]
mov qword [rbp + 0x1528], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1528]
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
mov al, byte [rbp + 0x16e8]
mov byte [rbp + 0x1df], al
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov dl, byte [rbp + 0x1df]
cmp dl, 2
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jae 0x140106468
lea rcx, [rbp + 0x1728]
lea rdx, [rbp + 0x16e8]
sub rsp, 0x20
call fcn.1400b6f80
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x7f
xor r8b, 0x7f
cmp dl, r8b
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
sub rsp, 0x20
lea rcx, [rbp + 0x16e8]
call fcn.1400b766f
add rsp, 0x20
mov al, byte [rbp + 0x1728]
mov byte [rbp + 0x1c3], al
test al, al
je 0x140105d1c
jmp 0x140105642
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov dl, byte [rbp + 0x1c3]
sub dl, 1
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
jmp 0x140105670
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x14d0]
mov dl, byte [rdx]
mov r8b, 0x41
xor r8b, 0x41
cmp dl, r8b
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140056d47
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x250]
mov byte [rbp + 0x1c2], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov al, byte [rbp + 0x1c2]
test al, 1
jne 0x140105822
jmp 0x140105705
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140057446
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x250]
mov qword [rbp + 0x1b8], r8
mov dl, byte [rdx]
mov r8b, 0xc8
xor r8b, 0xc8
cmp dl, r8b
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rax, qword [rbp + 0x1b8]
cmp rax, 0
jle 0x140105822
mov rcx, qword [rbp + 0x1470]
mov rax, qword [rbp + 0x890]
mov qword [rcx], 0
mov rdx, qword [rax]
mov r8b, 1
xor r8b, 1
and r8b, 1
sub rsp, 0x20
call fcn.14005744b
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140105803
mov rax, qword [rbp + 0x1470]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140057446
add rsp, 0x20
mov rax, qword [rbp + 0x14d8]
mov al, byte [rax]
mov cl, 0x99
xor cl, 0x99
cmp al, cl
jne 0x140105803
mov rax, qword [rbp + 0x1470]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140053e68
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140105803
jmp 0x140105822
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x818]
mov edx, dword [rdx]
mov r8d, 0x18799c66
xor r8d, 0x18799c67
cmp edx, r8d
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
sub rsp, 0x20
xor eax, eax
mov edx, eax
call fcn.140056d47
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x250]
mov dl, byte [rdx]
test dl, dl
setne dl
or dl, r8b
test dl, 1
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rax, qword [rbp + 0x890]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140057446
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x250]
mov dl, byte [rdx]
test dl, dl
sete dl
test r8, r8
setg r8b
and dl, r8b
test dl, 1
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140105907
jmp 0x140106468
mov rdx, qword [rbp + 0x1478]
mov rax, qword [rbp + 0x858]
mov rcx, qword [rbp + 0x890]
mov rcx, qword [rcx]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.14005776e
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x250]
mov dl, byte [rdx]
test dl, dl
sete dl
and dl, r8b
test dl, 1
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x14010596e
jmp 0x140106468
mov rdx, qword [rbp + 0x1480]
mov rax, qword [rbp + 0x858]
mov rcx, qword [rbp + 0x890]
mov rcx, qword [rcx]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140057cc8
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x250]
mov qword [rbp + 0x1b0], r8
cmp byte [rdx], 0
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rax, qword [rbp + 0x1b0]
mov rax, qword [rax]
mov qword [rbp + 0x1a8], rax
cmp rax, 0
je 0x140105b2b
mov rax, qword [rbp + 0x1a8]
movabs rcx, 0xfed9df783e032f5d
movabs rdx, 0x1262087c1fcd0ad
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x198], rax
mov rcx, qword [rax]
movabs rdx, 0xebe0c211609d4a31
movabs rax, 0xebe0c211609d4a21
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp + 0x1a0], rax
movabs r8, 0x5f438f0dfb426f40
movabs rdx, 0xa0bc70f204bd90bf
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r8, 0x620df6aec2c9b527
movabs r9, 0x9df209513d364ad8
xor r8, r9
xor rdx, r8
movabs r8, 0x426c695f023f53df
movabs r9, 0xbd9396a0fdc0ac20
xor r8, r9
and r8, rdx
movabs rdx, 0x43a31219aedbb363
movabs r9, 0x43a31219aedbb361
xor rdx, r9
imul rdx, r8
sub rdx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
movabs rcx, 0xb79375ce1f0d4e1c
movabs rdx, 0xb79375ce1f0d4e1c
xor rcx, rdx
cmp rax, rcx
jl 0x140105aeb
mov rax, qword [rbp + 0x198]
mov rcx, qword [rbp + 0x1a0]
mov qword [rax], rcx
jmp 0x140105b2b
sub rsp, 0x20
call fcn.14000a590
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x62
xor r8b, 0x62
cmp dl, r8b
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1260]
mov rax, qword [rbp + 0x1258]
mov r8, qword [rax]
mov qword [rbp + 0x1518], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x1520], rax
lea r8, [rbp + 0x1518]
sub rsp, 0x20
call fcn.1400fabd6
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x250]
mov dword [rbp + 0x194], r8d
mov dl, byte [rdx]
mov r8b, 0xb7
xor r8b, 0xb7
cmp dl, r8b
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov eax, dword [rbp + 0x194]
mov ecx, dword [rbp + 0x250]
movsxd rcx, ecx
movsxd r8, eax
mov rdx, r8
add rdx, rcx
mov qword [rbp + 0x188], rdx
mov rax, rdx
xor rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r10, 0xb6e469a496ee786c
movabs r9, 0x491b965b69118793
xor r10, r9
mov r9, rdx
xor r9, r10
or rcx, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
movabs r9, 0x53c0d8efb2629c57
movabs r10, 0xac3f27104d9d63a8
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0x908a147585bd4547
movabs r9, 0x6f75eb8a7a42bab8
xor r8, r9
xor rdx, r8
movabs r8, 0xd0ef1d5db339081e
movabs r9, 0x2f10e2a24cc6f7e1
xor r8, r9
xor rcx, r8
movabs r8, 0xd2843ed83aeb0b7b
movabs r9, 0x2d7bc127c514f484
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140105ca3
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
mov rax, qword [rbp + 0x188]
add rax, 0xffffffff80000000
movabs rcx, 0xfd07d9e6c9596439
movabs rdx, 0x2f82619c9596439
xor rcx, rdx
cmp rax, rcx
jae 0x140105cfc
sub rsp, 0x20
call fcn.14000a590
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
mov rax, qword [rbp + 0x840]
mov rax, qword [rax]
mov qword [rbp + 0x178], rax
xor eax, eax
mov qword [rbp + 0x180], rax
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov r8, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x180]
mov qword [rbp + 0x170], rdx
cmp rdx, r8
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jge 0x140106468
mov rcx, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x840]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp + 0x168], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140105e18
mov rcx, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x168]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0x7807e85ce0d4bf51
movabs r9, 0x7807e85ce0d4bf51
xor r8, r9
movabs r9, 0xb1e4590f4d74440d
movabs r10, 0xb1e4590f4d74440c
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140019d55
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x250]
add rsp, 0x20
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
mov rax, qword [rbp + 0x850]
mov rdx, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x848]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x158], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14008c8b2
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x250]
mov byte [rbp + 0x167], r8b
mov dl, byte [rdx]
mov r8b, 0x51
xor r8b, 0x51
cmp dl, r8b
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov al, byte [rbp + 0x167]
test al, 1
jne 0x140105ea2
jmp 0x140106378
mov rax, qword [rbp + 0x850]
mov rcx, qword [rbp + 0x158]
mov rcx, qword [rcx]
mov qword [rbp + 0x148], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x150], rax
cmp rax, rcx
jl 0x140106378
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x148]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x140106378
mov rcx, qword [rbp + 0x1488]
mov rdx, qword [rbp + 0x1490]
mov rax, qword [rbp + 0x858]
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 r8, qword [rbp + 0x1488]
mov rdx, qword [rbp + 0x918]
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x1498]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x130], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x138], rdx
mov rax, qword [rax]
mov rdx, qword [rax]
mov qword [rbp + 0x1508], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1510], rax
lea rdx, [rbp + 0x1508]
sub rsp, 0x20
call fcn.140024b17
mov r8, qword [rbp + 0x1498]
mov rdx, qword [rbp + 0x920]
mov r11, qword [rbp + 0x130]
mov r10, qword [rbp + 0x138]
mov r9, qword [rbp + 0x928]
mov rax, qword [rbp + 0x930]
mov rcx, qword [rbp + 0x14a8]
add rsp, 0x20
mov r8, qword [r8]
mov rdx, qword [rdx]
mov qword [rcx], r11
mov qword [r9], r10
mov qword [rbp + 0x14f8], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x14f8]
sub rsp, 0x20
call fcn.1400752cc
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x1f8]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x250]
mov byte [rbp + 0x147], r8b
mov dl, byte [rdx]
mov r8b, 0x24
xor r8b, 0x24
cmp dl, r8b
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
mov al, byte [rbp + 0x147]
test al, 1
jne 0x140106023
jmp 0x140106378
mov rax, qword [rbp + 0x880]
mov rdx, qword [rax]
mov rcx, rdx
add rcx, 0x10
mov qword [rbp + 0x128], rcx
movabs rax, 0x7aadf3091e93d118
movabs r8, 0x85520cf6e16c2ee7
xor rax, r8
mov r8, rdx
and r8, rax
movabs rax, 0x6d04a9b87278568b
movabs r9, 0x6d04a9b872785689
xor rax, r9
imul rax, r8
movabs r8, 0xa039de4d342456d3
movabs r9, 0x5fc621b2cbdba92c
xor r8, r9
add rdx, r8
sub rdx, rax
movabs r8, 0x24b0f8dadf425544
movabs rax, 0xdb4f072520bdaabb
xor r8, rax
mov rax, rcx
xor rax, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
and rcx, rdx
movabs rdx, 0x86363c9ab71614f9
movabs r8, 0x79c9c36548e9eb06
xor rdx, r8
xor rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jl 0x1401060fb
mov rax, qword [rbp + 0x880]
mov rcx, qword [rbp + 0x128]
mov qword [rax], rcx
jmp 0x140106118
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140106304
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x120], rax
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp + 0x14b8]
xorps xmm0, xmm0
movups xmmword [rax + rcx], xmm0
movabs rdx, 0x14e960a547b7b53b
movabs rax, 0x14e960a547b7b52b
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs rdx, 0x8a186c26ad00388f
movabs r8, 0x8a186c26ad00389f
xor rdx, r8
or rcx, rdx
add rax, rcx
cmp rax, 0x30
mov qword [rbp + 0x120], rax
jne 0x140106137
mov rcx, qword [rbp + 0x14b8]
lea rdx, [rbp + 0x1728]
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
lea rcx, [rbp + 0x1728]
sub rsp, 0x20
call fcn.1400b766f
mov rax, qword [rbp + 0x888]
mov rcx, qword [rbp + 0x1258]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x110], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x118], rcx
cmp rax, 0
je 0x140106230
mov rax, qword [rbp + 0x118]
mov r9, qword [rbp + 0x110]
mov r8, qword [rbp + 0x14b8]
mov rdx, qword [rbp + 0x14d0]
mov rcx, qword [rbp + 0x1260]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x10f], al
jmp 0x14010625c
mov rax, qword [rbp + 0x118]
mov r8, qword [rbp + 0x14b8]
mov rdx, qword [rbp + 0x14d0]
mov rcx, qword [rbp + 0x1260]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x10f], al
mov rax, qword [rbp + 0x14d8]
mov cl, byte [rbp + 0x10f]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x10e], al
and al, cl
test al, 1
jne 0x140106285
jmp 0x140106323
mov eax, dword [rbp + 0x250]
movsxd rdx, eax
mov rax, rdx
inc rax
mov qword [rbp + 0x100], rax
mov rcx, rdx
not rcx
and rax, rcx
test rax, rax
sets al
mov r8, 0xffffffff80000001
mov rcx, rdx
and rcx, r8
or rdx, r8
add rcx, rdx
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x1401062f7
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jmp 0x140106468
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x170]
mov r10b, byte [rbp + 0x10e]
mov r9b, 1
mov r8d, 0x8e
test r10b, 1
mov byte [rbp + 0xf3], r9b
mov dword [rbp + 0xf4], r8d
mov qword [rbp + 0xf8], rdx
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
jne 0x140106468
jmp 0x1401063d7
mov rax, qword [rbp + 0x170]
mov rcx, rax
and rcx, 1
movabs rdx, 0x9e0ee47c8a3b0fcf
movabs r8, 0x9e0ee47c8a3b0fcd
xor rdx, r8
imul rcx, rdx
movabs rdx, 0x5ecccd677c519389
movabs r8, 0x5ecccd677c519388
xor rdx, r8
xor rax, rdx
add rax, rcx
xor ecx, ecx
mov dl, cl
xor ecx, ecx
mov byte [rbp + 0xf3], dl
mov dword [rbp + 0xf4], ecx
mov qword [rbp + 0xf8], rax
mov eax, dword [rbp + 0x250]
mov rcx, qword [rbp + 0x1f8]
mov r8b, byte [rbp + 0xf3]
mov edx, dword [rbp + 0xf4]
mov r9, qword [rbp + 0xf8]
mov qword [rbp + 0xe0], r9
mov dword [rbp + 0xec], edx
mov byte [rbp + 0xf1], r8b
mov byte [rbp + 0xf2], dl
sub dl, 0x8e
mov qword [rbp + 0x200], rcx
mov dword [rbp + 0x20c], eax
je 0x140106468
jmp 0x14010642d
mov eax, dword [rbp + 0xec]
mov cl, byte [rbp + 0xf1]
mov rdx, qword [rbp + 0xe0]
mov r8b, byte [rbp + 0xf2]
test r8b, r8b
mov qword [rbp + 0x180], rdx
mov byte [rbp + 0x257], cl
mov dword [rbp + 0x258], eax
je 0x140105d36
jmp 0x140106654
mov rax, qword [rbp + 0x238]
mov rcx, qword [rbp + 0x200]
mov edx, dword [rbp + 0x20c]
mov dword [rbp + 0xd4], edx
mov qword [rbp + 0xd8], rcx
cmp rax, 0
je 0x1401064f9
mov rax, qword [rbp + 0x238]
mov rax, qword [rax]
movabs rdx, 0x469715393fa28ecf
movabs rcx, 0x69715393fa28ecf
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x1fad9caee2b6fee6
movabs r8, 0x5fad9caee2b6fee6
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401064f9
mov rcx, qword [rbp + 0x238]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov eax, dword [rbp + 0xd4]
mov rcx, qword [rbp + 0xd8]
cmp rcx, 0
mov dword [rbp + 0x248], eax
je 0x1401065fc
mov eax, dword [rbp + 0xd4]
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0xffee6d6f56cee185
movabs r9, 0xbfee6d6f56cee185
xor r8, r9
movabs r9, 0xea53f7d2fc74b635
movabs r10, 0x15ac082d038b49ca
xor r9, r10
xor r8, r9
or rcx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xd902ad54860fa767
movabs r9, 0x9902ad54860fa767
xor r8, r9
movabs r9, 0xad949f2ec354375e
movabs r10, 0x526b60d13cabc8a1
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
movabs rdx, 0x155aad9e19118513
movabs r8, 0xeaa55261e6ee7aec
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xbbe5edac3f5e2630
movabs r8, 0xbbe5edac3f5e2630
xor rdx, r8
cmp rcx, rdx
mov dword [rbp + 0x248], eax
jne 0x1401065fc
mov rcx, qword [rbp + 0xd8]
sub rsp, 0x20
call fcn.1400121d0
mov eax, dword [rbp + 0xd4]
add rsp, 0x20
mov dword [rbp + 0x248], eax
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x248]
mov dword [rbp + 0xd0], eax
mov cl, byte [rcx]
mov dl, 0xb3
xor dl, 0xb3
cmp cl, dl
mov dword [rbp + 0x244], eax
je 0x140106643
mov rax, qword [rbp + 0x498]
mov ecx, dword [rbp + 0x244]
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
jmp 0x140106a33
mov eax, dword [rbp + 0xd0]
mov dword [rbp + 0x424], eax
jmp 0x14010674d
mov eax, dword [rbp + 0x250]
mov dl, byte [rbp + 0x257]
mov ecx, dword [rbp + 0x258]
mov dword [rbp + 0xc8], ecx
mov byte [rbp + 0xcf], dl
test ecx, ecx
mov dword [rbp + 0x424], eax
je 0x14010674d
jmp 0x140106685
mov eax, dword [rbp + 0x250]
mov ecx, dword [rbp + 0xc8]
mov dl, byte [rbp + 0xcf]
mov r8d, ecx
sub r8d, 0x8d
mov byte [rbp + 0x263], dl
mov dword [rbp + 0x264], ecx
mov ecx, eax
mov dword [rbp + 0x268], ecx
mov dword [rbp + 0x424], eax
je 0x14010674d
jmp 0x1401066c6
mov dl, byte [rbp + 0x263]
mov ecx, dword [rbp + 0x264]
mov eax, dword [rbp + 0x268]
mov dword [rbp + 0xbc], eax
mov dword [rbp + 0xc0], ecx
mov byte [rbp + 0xc7], dl
test ecx, ecx
mov dword [rbp + 0x424], eax
je 0x14010674d
jmp 0x1401066fd
mov eax, dword [rbp + 0xc0]
mov rcx, qword [rbp + 0x410]
mov edx, dword [rbp + 0xbc]
mov r8b, byte [rbp + 0xc7]
mov r9d, eax
sub r9d, 0x6a
mov r9d, edx
mov dword [rbp + 0x424], r9d
mov byte [rbp + 0xab], r8b
mov dword [rbp + 0xac], edx
mov qword [rbp + 0xb0], rcx
mov dword [rbp + 0xb8], eax
jne 0x14010685f
jmp 0x14010674d
mov rcx, qword [rbp + 0x410]
mov eax, dword [rbp + 0x424]
mov dword [rbp + 0xa0], eax
mov edx, dword [rcx]
mov dword [rbp + 0xa4], edx
mov r8d, 0x466518fe
xor r8d, 0x466518ff
xor ecx, ecx
cmp edx, r8d
mov byte [rbp + 0x487], cl
mov dword [rbp + 0x480], eax
jl 0x140102ee3
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 + 0x98], rcx
mov al, byte [rax + 0x60]
mov cl, 0x5c
xor cl, 0x5c
cmp al, cl
jne 0x1401067ff
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x98]
cmp byte [rax], 0
jne 0x1401067ff
mov rcx, qword [rbp + 0x410]
mov eax, dword [rbp + 0xa4]
mov eax, eax
add rax, rcx
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x498]
mov ecx, dword [rbp + 0xa0]
mov rdx, qword [rbp + 0x14d8]
mov r8, qword [rbp + 0x90]
mov r10b, byte [rdx]
mov r11b, 0x79
xor r11b, 0x79
xor edx, edx
mov r9b, dl
xor edx, edx
cmp r10b, r11b
mov byte [rbp + 0xab], r9b
mov r9d, ecx
mov dword [rbp + 0xac], r9d
mov qword [rbp + 0xb0], r8
mov dword [rbp + 0xb8], edx
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
jne 0x140106a33
mov r8b, byte [rbp + 0xab]
mov eax, dword [rbp + 0xac]
mov rcx, qword [rbp + 0xb0]
mov edx, dword [rbp + 0xb8]
mov dword [rbp + 0x84], edx
mov dword [rbp + 0x88], eax
mov byte [rbp + 0x8f], r8b
test edx, edx
mov qword [rbp + 0x428], rcx
mov dword [rbp + 0x434], eax
je 0x140103497
jmp 0x1401068a6
mov eax, dword [rbp + 0x88]
mov cl, byte [rbp + 0x8f]
mov edx, dword [rbp + 0x84]
sub edx, 0x59
mov byte [rbp + 0x4bf], cl
mov dword [rbp + 0x4c0], eax
je 0x140106a68
jmp 0x1401068d2
mov rax, qword [rbp + 0x498]
mov ecx, dword [rbp + 0x88]
mov edx, dword [rbp + 0x84]
sub edx, 0x5c
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
je 0x140106a33
jmp 0x140106900
mov eax, dword [rbp + 0x88]
mov cl, byte [rbp + 0x46b]
mov edx, dword [rbp + 0x84]
sub edx, 0x65
mov byte [rbp + 0x487], cl
mov dword [rbp + 0x480], eax
je 0x140102ee3
jmp 0x14010692c
mov eax, dword [rbp + 0x88]
mov ecx, dword [rbp + 0x84]
mov dl, byte [rbp + 0x8f]
mov r8d, ecx
sub r8d, 0x66
mov r8d, eax
mov dword [rbp + 0x74], r8d
mov byte [rbp + 0x7b], dl
mov dword [rbp + 0x7c], ecx
mov dword [rbp + 0x80], eax
je 0x14010699e
jmp 0x140106fc0
mov rax, qword [rbp + 0x498]
mov ecx, dword [rbp + 0x46c]
mov edx, dword [rbp + 0x458]
mov r8d, 0x2e18da86
xor r8d, 0xae18da80
cmp edx, r8d
mov edx, ecx
mov dword [rbp + 0x74], edx
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
je 0x140106a33
mov eax, dword [rbp + 0x74]
mov dword [rbp + 0x70], eax
mov ecx, 0x40
mov edx, 8
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, [0x1401a00b9]
lea r9, [0x1401a00c1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x2875904e
call fcn.140019b17
mov ecx, dword [rbp + 0x70]
mov rax, qword [rbp + 0x498]
add rsp, 0x30
mov dword [rbp + 0x474], ecx
mov qword [rbp + 0x478], rax
mov eax, dword [rbp + 0x474]
mov rcx, qword [rbp + 0x478]
mov dword [rbp + 0x6c], eax
sub rsp, 0x20
call fcn.1400259f3
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp + 0x6c]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp + 0x4bf], cl
mov dword [rbp + 0x4c0], eax
mov rax, qword [rbp + 0x1388]
mov rcx, qword [rbp + 0x14d8]
mov dl, byte [rbp + 0x4bf]
mov r8d, dword [rbp + 0x4c0]
mov dword [rbp + 0x58], r8d
mov byte [rbp + 0x5f], dl
mov dl, 0x26
xor dl, 0x26
mov byte [rcx], dl
mov rax, qword [rax]
mov qword [rbp + 0x60], rax
cmp rax, 0
jle 0x140106b23
mov rcx, qword [rbp + 0x60]
mov rax, qword [0x1401a1650]
mov rax, qword [rax]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x14d8]
mov al, byte [rax]
mov byte [rbp + 0x4f], al
xor ecx, ecx
test al, al
mov eax, 0x57
cmove eax, ecx
mov dword [rbp + 0x50], eax
mov cl, al
mov byte [rbp + 0x57], cl
test eax, eax
je 0x140106b23
jmp 0x140106ae7
mov eax, dword [rbp + 0x58]
mov ecx, dword [rbp + 0x50]
mov dl, byte [rbp + 0x4f]
mov r8b, byte [rbp + 0x57]
sub r8b, 0x57
mov r8b, dl
mov byte [rbp + 0x4d3], r8b
mov r8d, eax
mov dword [rbp + 0x4d4], r8d
mov byte [rbp + 0x7b], dl
mov dword [rbp + 0x7c], ecx
mov dword [rbp + 0x80], eax
je 0x140106bdc
jmp 0x140106fc0
mov eax, dword [rbp + 0x58]
mov cl, byte [rbp + 0x5f]
mov byte [rbp + 0x4d3], cl
mov dword [rbp + 0x4d4], eax
jmp 0x140106bdc
mov rax, qword [rbp + 0x600]
mov rcx, qword [rbp + 0x608]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.14000a590
mov r8, qword [rbp + 0x640]
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x648], r8
mov qword [rbp + 0x650], rdx
mov qword [rbp + 0x658], rcx
mov qword [rbp + 0x660], rax
mov r9d, dword [rbp + 0x714]
mov r11, qword [rbp + 0x14d8]
mov rax, qword [rbp + 0x648]
mov rcx, qword [rbp + 0x650]
mov rdx, qword [rbp + 0x658]
mov r8, qword [rbp + 0x660]
mov r10b, byte [r11]
mov bl, 0x46
xor bl, 0x46
mov byte [r11], bl
mov byte [rbp + 0x13], r10b
mov dword [rbp + 0x14], r9d
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jmp 0x140106d11
mov rax, qword [rbp + 0x640]
mov rcx, qword [rbp + 0x5e0]
mov rdx, qword [rbp + 0x588]
mov r8, qword [rbp + 0x538]
mov r11, qword [rbp + 0x4e0]
mov rsi, qword [rbp + 0x14d8]
mov r10b, byte [rbp + 0x4d3]
mov r9d, dword [rbp + 0x4d4]
mov dword [rbp + 0xc], r9d
mov byte [rbp + 0x12], r10b
mov byte [rsi], 0
cmp r11, 0
mov byte [rbp + 0x13], r10b
mov dword [rbp + 0x14], r9d
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
je 0x140106d11
mov rax, qword [rbp + 0x640]
mov rcx, qword [rbp + 0x5e0]
mov rdx, qword [rbp + 0x588]
mov r8, qword [rbp + 0x538]
mov r9d, dword [rbp + 0xc]
mov r10b, byte [rbp + 0x12]
mov r11, qword [rbp + 0x4e0]
mov r11, qword [r11]
movabs rsi, 0xc1d964d2840230d5
movabs rdi, 0x81d964d2840230d5
xor rsi, rdi
and r11, rsi
movabs rsi, 0x1f737e32c1822d2e
movabs rdi, 0x1f737e32c1822d2e
xor rsi, rdi
cmp r11, rsi
mov byte [rbp + 0x13], r10b
mov dword [rbp + 0x14], r9d
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jne 0x140106d11
mov rcx, qword [rbp + 0x4e0]
sub rsp, 0x20
call fcn.1400121d0
mov r10b, byte [rbp + 0x12]
mov r9d, dword [rbp + 0xc]
mov r8, qword [rbp + 0x538]
mov rdx, qword [rbp + 0x588]
mov rcx, qword [rbp + 0x5e0]
mov rax, qword [rbp + 0x640]
add rsp, 0x20
mov byte [rbp + 0x13], r10b
mov dword [rbp + 0x14], r9d
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
mov cl, byte [rbp + 0x13]
mov edx, dword [rbp + 0x14]
mov rax, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp + 0x28]
mov r10, qword [rbp + 0x30]
mov qword [rbp - 0x20], r10
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x10], r8
mov qword [rbp - 8], rax
mov dword [rbp + 4], edx
mov byte [rbp + 0xa], cl
mov dl, 0x91
xor dl, 0x91
cmp cl, dl
sete cl
mov byte [rbp + 0xb], cl
cmp rax, 0
je 0x140106dc6
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
movabs rdx, 0xd4647e4ec04333c3
movabs rax, 0x94647e4ec04333c3
xor rdx, rax
movabs rax, 0x2eb0d2b3d533ea07
movabs r8, 0xd14f2d4c2acc15f8
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x140088e06daa29b1
movabs rdx, 0x140088e06daa29b1
xor rcx, rdx
cmp rax, rcx
jne 0x140106dc6
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x10]
cmp rax, 0
je 0x140106e50
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x6931a7067d41bfe1
movabs r8, 0x2931a7067d41bfe1
xor rdx, r8
movabs r8, 0x5fe239907118f792
movabs r9, 0xa01dc66f8ee7086d
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x140106e50
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x18]
cmp rax, 0
je 0x140106e8a
mov rcx, qword [rbp - 0x18]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140106e8a
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x20]
cmp rax, 0
je 0x140106eea
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
movabs rcx, 0x4d1ebabe2b298fea
movabs rdx, 0xd1ebabe2b298fea
xor rcx, rdx
and rax, rcx
movabs rcx, 0xce355ba56c4065ad
movabs rdx, 0xce355ba56c4065ad
xor rcx, rdx
cmp rax, rcx
jne 0x140106eea
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x6c8]
cmp rax, 0
je 0x140106f6a
mov rax, qword [rbp + 0x6c8]
mov rax, qword [rax]
movabs rdx, 0x31889d1629ddc407
movabs rcx, 0x31889d1629ddc406
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0x4e85ab11fe516ba4
movabs rdx, 0x4e85ab11fe516ba4
xor rcx, rdx
cmp rax, rcx
jne 0x140106f6a
mov rcx, qword [rbp + 0x6c8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
lea rcx, [rbp + 0x16e8]
sub rsp, 0x20
call fcn.1400b76b1
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140106fb5
mov al, byte [rbp + 0xb]
mov rcx, qword [rbp + 0x14d8]
mov dl, byte [rbp + 0xa]
mov byte [rcx], dl
test al, 1
jne 0x140106faa
jmp 0x140106fb5
mov eax, dword [rbp + 4]
mov dword [rbp - 0x24], eax
jmp 0x1401070af
mov eax, dword [rbp + 4]
mov dword [rbp - 0x28], eax
jmp 0x140106ffb
mov dl, byte [rbp + 0x7b]
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x80]
mov dword [rbp - 0x38], eax
mov byte [rbp - 0x32], dl
cmp ecx, 0
mov byte [rbp - 0x31], dl
mov dword [rbp - 0x30], ecx
mov dword [rbp - 0x2c], eax
jne 0x140107146
mov eax, dword [rbp - 0x38]
mov cl, byte [rbp - 0x32]
cmp cl, 0
mov ecx, eax
mov dword [rbp - 0x28], ecx
mov dword [rbp - 0x24], eax
je 0x1401070af
mov eax, dword [rbp - 0x28]
mov dword [rbp - 0x44], eax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x44]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
mov cx, word [rcx + 0x12]
mov dx, 0xa518
xor dx, 0xa519
cmp cx, dx
mov dword [rbp - 0x24], eax
jle 0x1401070af
mov eax, dword [rbp - 0x44]
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 8], 0xd4054986
mov dword [rbp - 0x24], eax
jne 0x1401070af
mov rax, qword [rbp + 0x14d8]
mov cl, 0x7c
xor cl, 0x7c
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 eax, eax
mov r8b, al
xor r8b, 0
and r8b, 1
sub rsp, 0x20
call fcn.140019683
mov eax, dword [rbp - 0x44]
add rsp, 0x20
mov dword [rbp - 0x24], eax
mov rax, qword [rbp + 0x6f0]
mov ecx, dword [rbp - 0x24]
mov dword [rbp - 0x48], ecx
cmp rax, 0
je 0x140107108
mov rax, qword [rbp + 0x6f0]
mov rax, qword [rax]
movabs rcx, 0x3fcdf6f833f3df02
movabs rdx, 0x7fcdf6f833f3df02
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140107108
mov rcx, qword [rbp + 0x6f0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov eax, dword [rbp - 0x48]
mov rcx, qword [rbp + 0x14d8]
mov r9b, byte [rcx]
mov r10b, 0xc4
xor r10b, 0xc4
xor ecx, ecx
mov r8b, cl
xor edx, edx
mov cl, 1
cmp r9b, r10b
mov byte [rbp - 0x31], r8b
mov dword [rbp - 0x30], edx
mov edx, eax
mov dword [rbp - 0x2c], edx
mov byte [rbp + 0x70f], cl
mov dword [rbp + 0x710], eax
jne 0x14010718e
mov dl, byte [rbp - 0x31]
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x2c]
mov dword [rbp - 0x54], eax
mov dword [rbp - 0x50], ecx
mov byte [rbp - 0x49], dl
test ecx, ecx
mov dword [rbp + 0x938], eax
je 0x1401012f3
jmp 0x14010716b
mov eax, dword [rbp - 0x54]
mov cl, byte [rbp - 0x49]
mov edx, dword [rbp - 0x50]
sub edx, 0x56
mov byte [rbp + 0x70f], cl
mov dword [rbp + 0x710], eax
jne 0x14010722d
jmp 0x14010718e
mov rdx, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x14c0]
mov rax, qword [rbp + 0x1370]
mov r8b, byte [rbp + 0x70f]
mov r9d, dword [rbp + 0x710]
mov dword [rbp - 0x5c], r9d
mov byte [rbp - 0x55], r8b
mov byte [rdx], 0
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400208b6
add rsp, 0x20
lea rcx, [rbp + 0x1728]
sub rsp, 0x20
call fcn.1400b76b1
mov rax, qword [rbp + 0x14d8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14010721f
mov al, byte [rbp - 0x55]
mov rdx, qword [rbp + 0x14d8]
mov cl, 0x2f
xor cl, 0x2f
mov byte [rdx], al
cmp al, cl
jne 0x14010721f
mov eax, dword [rbp - 0x5c]
mov dword [rbp - 0x60], eax
jmp 0x14010732c
mov eax, dword [rbp - 0x5c]
mov dword [rbp + 0x1250], eax
jmp 0x140107242
mov eax, dword [rbp - 0x54]
mov ecx, dword [rbp - 0x50]
cmp ecx, 2
mov dword [rbp + 0x1250], eax
jne 0x140107383
mov eax, dword [rbp + 0x1250]
mov dword [rbp - 0x6c], eax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
mov cx, word [rcx + 0x12]
mov dx, 0x98fb
xor dx, 0x98fa
cmp cx, dx
mov dword [rbp - 0x60], eax
jle 0x14010732c
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rbp - 0x68]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 8], 0xd4054986
mov dword [rbp - 0x60], eax
jne 0x14010732c
mov rax, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x14d0]
mov dl, 0x7c
xor dl, 0x7c
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400f98ef
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp byte [rcx], 0
mov dword [rbp + 0x1254], eax
jne 0x140107383
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]
mov r8b, 1
xor r8b, 1
and r8b, 1
sub rsp, 0x20
call fcn.140019683
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
mov dword [rbp + 0x1254], eax
jmp 0x140107383
mov rax, qword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x14d0]
mov edx, dword [rbp - 0x60]
mov dword [rbp - 0x70], edx
mov dl, byte [rax]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400f98ef
mov rcx, qword [rbp + 0x14d8]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov dword [rbp + 0x1254], eax
jne 0x140107383
mov eax, dword [rbp - 0x70]
mov rcx, qword [rbp + 0x14d8]
mov dl, byte [rbp - 0x71]
mov byte [rcx], dl
mov dword [rbp + 0x1254], eax
mov eax, dword [rbp + 0x1254]
lea rsp, [rbp + 0x1a68]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret