1800a1023:	89 45 d8             	mov    %eax,-0x28(%rbp)
1800a1026:	45 39 7e 68          	cmp    %r15d,0x68(%r14)
1800a102a:	0f 84 59 01 00 00    	je     0x1800a1189
1800a1030:	48 8b 06             	mov    (%rsi),%rax
1800a1033:	b9 91 21 00 00       	mov    $0x2191,%ecx
1800a1038:	89 4d d0             	mov    %ecx,-0x30(%rbp)
1800a103b:	8b d1                	mov    %ecx,%edx
1800a103d:	48 8b ce             	mov    %rsi,%rcx
1800a1040:	c7 45 d4 93 21 00 00 	movl   $0x2193,-0x2c(%rbp)
1800a1047:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a104b:	ff d0                	call   *%rax
1800a104d:	0f 1f 00             	nopl   (%rax)
1800a1050:	8b d8                	mov    %eax,%ebx
1800a1052:	ba 93 21 00 00       	mov    $0x2193,%edx
1800a1057:	48 8b 06             	mov    (%rsi),%rax
1800a105a:	48 8b ce             	mov    %rsi,%rcx
1800a105d:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1061:	ff d0                	call   *%rax
1800a1063:	0f 1f 00             	nopl   (%rax)
1800a1066:	48 8b 0e             	mov    (%rsi),%rcx
1800a1069:	3b d8                	cmp    %eax,%ebx
1800a106b:	ba 91 21 00 00       	mov    $0x2191,%edx
1800a1070:	4c 8b 41 28          	mov    0x28(%rcx),%r8
1800a1074:	48 8b ce             	mov    %rsi,%rcx
1800a1077:	49 8b c0             	mov    %r8,%rax
1800a107a:	77 05                	ja     0x1800a1081
1800a107c:	ba 93 21 00 00       	mov    $0x2193,%edx
1800a1081:	ff d0                	call   *%rax
1800a1083:	0f 1f 00             	nopl   (%rax)
1800a1086:	8b d8                	mov    %eax,%ebx
1800a1088:	ba 20 00 00 00       	mov    $0x20,%edx
1800a108d:	48 8b 06             	mov    (%rsi),%rax
1800a1090:	48 8b ce             	mov    %rsi,%rcx
1800a1093:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1097:	ff d0                	call   *%rax
1800a1099:	0f 1f 00             	nopl   (%rax)
1800a109c:	48 8b 0e             	mov    (%rsi),%rcx
1800a109f:	3b d8                	cmp    %eax,%ebx
1800a10a1:	4c 8b 41 28          	mov    0x28(%rcx),%r8
1800a10a5:	48 8b ce             	mov    %rsi,%rcx
1800a10a8:	49 8b c0             	mov    %r8,%rax
1800a10ab:	76 3f                	jbe    0x1800a10ec
1800a10ad:	ba 91 21 00 00       	mov    $0x2191,%edx
1800a10b2:	ff d0                	call   *%rax
1800a10b4:	0f 1f 00             	nopl   (%rax)
1800a10b7:	8b d8                	mov    %eax,%ebx
1800a10b9:	ba 93 21 00 00       	mov    $0x2193,%edx
1800a10be:	48 8b 06             	mov    (%rsi),%rax
1800a10c1:	48 8b ce             	mov    %rsi,%rcx
1800a10c4:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a10c8:	ff d0                	call   *%rax
1800a10ca:	0f 1f 00             	nopl   (%rax)
1800a10cd:	48 8b 0e             	mov    (%rsi),%rcx
1800a10d0:	3b d8                	cmp    %eax,%ebx
1800a10d2:	4c 8b 41 28          	mov    0x28(%rcx),%r8
1800a10d6:	48 8b ce             	mov    %rsi,%rcx
1800a10d9:	49 8b c0             	mov    %r8,%rax
1800a10dc:	76 07                	jbe    0x1800a10e5
1800a10de:	ba 91 21 00 00       	mov    $0x2191,%edx
1800a10e3:	eb 0c                	jmp    0x1800a10f1
1800a10e5:	ba 93 21 00 00       	mov    $0x2193,%edx
1800a10ea:	eb 05                	jmp    0x1800a10f1
1800a10ec:	ba 20 00 00 00       	mov    $0x20,%edx
1800a10f1:	ff d0                	call   *%rax
1800a10f3:	0f 1f 00             	nopl   (%rax)
1800a10f6:	48 8b 0f             	mov    (%rdi),%rcx
1800a10f9:	8b d0                	mov    %eax,%edx
1800a10fb:	8b 47 04             	mov    0x4(%rdi),%eax
1800a10fe:	4c 8b c1             	mov    %rcx,%r8
1800a1101:	01 55 f4             	add    %edx,-0xc(%rbp)
1800a1104:	8b 5d f8             	mov    -0x8(%rbp),%ebx
1800a1107:	89 45 dc             	mov    %eax,-0x24(%rbp)
1800a110a:	41 2b dd             	sub    %r13d,%ebx
1800a110d:	03 c2                	add    %edx,%eax
1800a110f:	49 c1 e8 20          	shr    $0x20,%r8
1800a1113:	89 47 04             	mov    %eax,0x4(%rdi)
1800a1116:	8b d1                	mov    %ecx,%edx
1800a1118:	48 8b 06             	mov    (%rsi),%rax
1800a111b:	48 8b ce             	mov    %rsi,%rcx
1800a111e:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a1122:	ff d0                	call   *%rax
1800a1124:	0f 1f 00             	nopl   (%rax)
1800a1127:	48 8b 06             	mov    (%rsi),%rax
1800a112a:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
1800a112e:	44 8b 6d 50          	mov    0x50(%rbp),%r13d
1800a1132:	48 8b ce             	mov    %rsi,%rcx
1800a1135:	48 8b 40 78          	mov    0x78(%rax),%rax
1800a1139:	45 85 ed             	test   %r13d,%r13d
1800a113c:	75 07                	jne    0x1800a1145
1800a113e:	48 8d 15 67 6e 0a 00 	lea    0xa6e67(%rip),%rdx        # 0x180147fac
1800a1145:	ff d0                	call   *%rax
1800a1147:	0f 1f 00             	nopl   (%rax)
1800a114a:	48 8b 06             	mov    (%rsi),%rax
1800a114d:	8b d3                	mov    %ebx,%edx
1800a114f:	44 8b 45 dc          	mov    -0x24(%rbp),%r8d
1800a1153:	48 8b ce             	mov    %rsi,%rcx
1800a1156:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a115a:	ff d0                	call   *%rax
1800a115c:	0f 1f 00             	nopl   (%rax)
1800a115f:	41 8b 56 54          	mov    0x54(%r14),%edx
1800a1163:	48 8b ce             	mov    %rsi,%rcx
1800a1166:	48 8b 06             	mov    (%rsi),%rax
1800a1169:	41 03 d5             	add    %r13d,%edx
1800a116c:	41 3b 56 5c          	cmp    0x5c(%r14),%edx
1800a1170:	48 8d 55 d4          	lea    -0x2c(%rbp),%rdx
1800a1174:	48 8b 40 78          	mov    0x78(%rax),%rax
1800a1178:	72 07                	jb     0x1800a1181
1800a117a:	48 8d 15 2b 6e 0a 00 	lea    0xa6e2b(%rip),%rdx        # 0x180147fac
1800a1181:	ff d0                	call   *%rax
1800a1183:	0f 1f 00             	nopl   (%rax)
1800a1186:	41 8b d5             	mov    %r13d,%edx
1800a1189:	49 8b 46 38          	mov    0x38(%r14),%rax
1800a118d:	45 8b ef             	mov    %r15d,%r13d
1800a1190:	48 8b 58 10          	mov    0x10(%rax),%rbx
1800a1194:	48 85 db             	test   %rbx,%rbx
1800a1197:	74 06                	je     0x1800a119f
1800a1199:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1800a119d:	eb 03                	jmp    0x1800a11a2
1800a119f:	49 8b cf             	mov    %r15,%rcx
1800a11a2:	48 85 c9             	test   %rcx,%rcx
1800a11a5:	74 53                	je     0x1800a11fa
1800a11a7:	44 8b 65 d8          	mov    -0x28(%rbp),%r12d
1800a11ab:	44 3b ea             	cmp    %edx,%r13d
1800a11ae:	72 28                	jb     0x1800a11d8
1800a11b0:	45 3b ec             	cmp    %r12d,%r13d
1800a11b3:	73 23                	jae    0x1800a11d8
1800a11b5:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1800a11b9:	48 8b 01             	mov    (%rcx),%rax
1800a11bc:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
1800a11c0:	4c 8b ce             	mov    %rsi,%r9
1800a11c3:	48 8b 40 10          	mov    0x10(%rax),%rax
1800a11c7:	45 3b 6e 60          	cmp    0x60(%r14),%r13d
1800a11cb:	72 03                	jb     0x1800a11d0
1800a11cd:	4c 8b c7             	mov    %rdi,%r8
1800a11d0:	ff d0                	call   *%rax
1800a11d2:	0f 1f 00             	nopl   (%rax)
1800a11d5:	8b 55 50             	mov    0x50(%rbp),%edx
1800a11d8:	41 ff c5             	inc    %r13d
1800a11db:	48 85 db             	test   %rbx,%rbx
1800a11de:	74 0e                	je     0x1800a11ee
1800a11e0:	48 8b 1b             	mov    (%rbx),%rbx
1800a11e3:	48 85 db             	test   %rbx,%rbx
1800a11e6:	74 06                	je     0x1800a11ee
1800a11e8:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1800a11ec:	eb 03                	jmp    0x1800a11f1
1800a11ee:	49 8b cf             	mov    %r15,%rcx
1800a11f1:	48 85 c9             	test   %rcx,%rcx
1800a11f4:	75 b5                	jne    0x1800a11ab
1800a11f6:	4c 8b 65 48          	mov    0x48(%rbp),%r12
1800a11fa:	45 39 7e 50          	cmp    %r15d,0x50(%r14)
1800a11fe:	7d 0f                	jge    0x1800a120f
1800a1200:	8b 45 f4             	mov    -0xc(%rbp),%eax
1800a1203:	39 47 04             	cmp    %eax,0x4(%rdi)
1800a1206:	76 0c                	jbe    0x1800a1214
1800a1208:	8b 45 e0             	mov    -0x20(%rbp),%eax
1800a120b:	01 07                	add    %eax,(%rdi)
1800a120d:	eb 05                	jmp    0x1800a1214
1800a120f:	8b 45 f8             	mov    -0x8(%rbp),%eax
1800a1212:	89 07                	mov    %eax,(%rdi)
1800a1214:	41 8b 44 24 04       	mov    0x4(%r12),%eax
1800a1219:	89 47 04             	mov    %eax,0x4(%rdi)
1800a121c:	45 89 7e 64          	mov    %r15d,0x64(%r14)
1800a1220:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1800a1227:	00
1800a1228:	48 83 c4 50          	add    $0x50,%rsp
1800a122c:	41 5f                	pop    %r15
1800a122e:	41 5e                	pop    %r14
1800a1230:	41 5d                	pop    %r13
1800a1232:	41 5c                	pop    %r12
1800a1234:	5f                   	pop    %rdi
1800a1235:	5e                   	pop    %rsi
1800a1236:	5d                   	pop    %rbp
1800a1237:	c3                   	ret
1800a1238:	cc                   	int3
1800a1239:	cc                   	int3
1800a123a:	cc                   	int3
1800a123b:	cc                   	int3
1800a123c:	48 83 ec 28          	sub    $0x28,%rsp
1800a1240:	48 8b 49 40          	mov    0x40(%rcx),%rcx
1800a1244:	48 85 c9             	test   %rcx,%rcx
1800a1247:	74 0c                	je     0x1800a1255
1800a1249:	48 8b 01             	mov    (%rcx),%rax
1800a124c:	48 8b 40 20          	mov    0x20(%rax),%rax
1800a1250:	ff d0                	call   *%rax
1800a1252:	0f 1f 00             	nopl   (%rax)
1800a1255:	33 c0                	xor    %eax,%eax
1800a1257:	48 83 c4 28          	add    $0x28,%rsp
1800a125b:	c3                   	ret
1800a125c:	cc                   	int3
1800a125d:	cc                   	int3
1800a125e:	cc                   	int3
1800a125f:	cc                   	int3
1800a1260:	48 83 ec 28          	sub    $0x28,%rsp
1800a1264:	48 8b 49 40          	mov    0x40(%rcx),%rcx
1800a1268:	48 85 c9             	test   %rcx,%rcx
1800a126b:	74 0c                	je     0x1800a1279
1800a126d:	48 8b 01             	mov    (%rcx),%rax
1800a1270:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a1274:	ff d0                	call   *%rax
1800a1276:	0f 1f 00             	nopl   (%rax)
1800a1279:	33 c0                	xor    %eax,%eax
1800a127b:	48 83 c4 28          	add    $0x28,%rsp
1800a127f:	c3                   	ret
1800a1280:	cc                   	int3
1800a1281:	cc                   	int3
1800a1282:	cc                   	int3
1800a1283:	cc                   	int3
1800a1284:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800a1289:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1800a128e:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1800a1293:	57                   	push   %rdi
1800a1294:	41 54                	push   %r12
1800a1296:	41 55                	push   %r13
1800a1298:	41 56                	push   %r14
1800a129a:	41 57                	push   %r15
1800a129c:	48 83 ec 20          	sub    $0x20,%rsp
1800a12a0:	48 8b 71 40          	mov    0x40(%rcx),%rsi
1800a12a4:	45 33 ff             	xor    %r15d,%r15d
1800a12a7:	8b 69 58             	mov    0x58(%rcx),%ebp
1800a12aa:	45 33 e4             	xor    %r12d,%r12d
1800a12ad:	44 21 64 24 58       	and    %r12d,0x58(%rsp)
1800a12b2:	45 33 ed             	xor    %r13d,%r13d
1800a12b5:	8b 59 5c             	mov    0x5c(%rcx),%ebx
1800a12b8:	48 8b f9             	mov    %rcx,%rdi
1800a12bb:	44 8b 71 54          	mov    0x54(%rcx),%r14d
1800a12bf:	41 8d 4f 01          	lea    0x1(%r15),%ecx
1800a12c3:	0f b7 c2             	movzwl %dx,%eax
1800a12c6:	3d 00 48 00 00       	cmp    $0x4800,%eax
1800a12cb:	0f 84 52 01 00 00    	je     0x1800a1423
1800a12d1:	3d 00 50 00 00       	cmp    $0x5000,%eax
1800a12d6:	74 07                	je     0x1800a12df
1800a12d8:	33 c0                	xor    %eax,%eax
1800a12da:	e9 a8 02 00 00       	jmp    0x1800a1587
1800a12df:	48 85 f6             	test   %rsi,%rsi
1800a12e2:	75 35                	jne    0x1800a1319
1800a12e4:	41 3b de             	cmp    %r14d,%ebx
1800a12e7:	0f 8f 95 02 00 00    	jg     0x1800a1582
1800a12ed:	48 8b 5f 40          	mov    0x40(%rdi),%rbx
1800a12f1:	8b 77 58             	mov    0x58(%rdi),%esi
1800a12f4:	48 85 db             	test   %rbx,%rbx
1800a12f7:	0f 84 85 02 00 00    	je     0x1800a1582
1800a12fd:	85 f6                	test   %esi,%esi
1800a12ff:	0f 84 ff 00 00 00    	je     0x1800a1404
1800a1305:	48 8b 47 38          	mov    0x38(%rdi),%rax
1800a1309:	33 d2                	xor    %edx,%edx
1800a130b:	48 8b 48 10          	mov    0x10(%rax),%rcx
1800a130f:	e9 a8 00 00 00       	jmp    0x1800a13bc
1800a1314:	b9 01 00 00 00       	mov    $0x1,%ecx
1800a1319:	8b 47 5c             	mov    0x5c(%rdi),%eax
1800a131c:	2b c1                	sub    %ecx,%eax
1800a131e:	3b e8                	cmp    %eax,%ebp
1800a1320:	73 c2                	jae    0x1800a12e4
1800a1322:	48 8b 47 38          	mov    0x38(%rdi),%rax
1800a1326:	33 d2                	xor    %edx,%edx
1800a1328:	48 8b 48 10          	mov    0x10(%rax),%rcx
1800a132c:	48 85 c9             	test   %rcx,%rcx
1800a132f:	74 06                	je     0x1800a1337
1800a1331:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800a1335:	eb 02                	jmp    0x1800a1339
1800a1337:	33 c0                	xor    %eax,%eax
1800a1339:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1800a133f:	eb 20                	jmp    0x1800a1361
1800a1341:	85 d2                	test   %edx,%edx
1800a1343:	75 62                	jne    0x1800a13a7
1800a1345:	48 3b c6             	cmp    %rsi,%rax
1800a1348:	41 0f 44 d0          	cmove  %r8d,%edx
1800a134c:	48 85 c9             	test   %rcx,%rcx
1800a134f:	74 0e                	je     0x1800a135f
1800a1351:	48 8b 09             	mov    (%rcx),%rcx
1800a1354:	48 85 c9             	test   %rcx,%rcx
1800a1357:	74 06                	je     0x1800a135f
1800a1359:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800a135d:	eb 02                	jmp    0x1800a1361
1800a135f:	33 c0                	xor    %eax,%eax
1800a1361:	48 85 c0             	test   %rax,%rax
1800a1364:	75 db                	jne    0x1800a1341
1800a1366:	33 f6                	xor    %esi,%esi
1800a1368:	41 03 e8             	add    %r8d,%ebp
1800a136b:	48 85 f6             	test   %rsi,%rsi
1800a136e:	0f 84 70 ff ff ff    	je     0x1800a12e4
1800a1374:	48 8b 06             	mov    (%rsi),%rax
1800a1377:	48 8b ce             	mov    %rsi,%rcx
1800a137a:	48 8b 40 18          	mov    0x18(%rax),%rax
1800a137e:	ff d0                	call   *%rax
1800a1380:	0f 1f 00             	nopl   (%rax)
1800a1383:	85 c0                	test   %eax,%eax
1800a1385:	74 8d                	je     0x1800a1314
1800a1387:	8b 57 54             	mov    0x54(%rdi),%edx
1800a138a:	8d 4a ff             	lea    -0x1(%rdx),%ecx
1800a138d:	03 4f 60             	add    0x60(%rdi),%ecx
1800a1390:	3b e9                	cmp    %ecx,%ebp
1800a1392:	76 7f                	jbe    0x1800a1413
1800a1394:	b9 01 00 00 00       	mov    $0x1,%ecx
1800a1399:	8b c5                	mov    %ebp,%eax
1800a139b:	2b c2                	sub    %edx,%eax
1800a139d:	44 8b f1             	mov    %ecx,%r14d
1800a13a0:	03 c1                	add    %ecx,%eax
1800a13a2:	89 47 60             	mov    %eax,0x60(%rdi)
1800a13a5:	eb 71                	jmp    0x1800a1418
1800a13a7:	48 8b f0             	mov    %rax,%rsi
1800a13aa:	eb bc                	jmp    0x1800a1368
1800a13ac:	48 3b c3             	cmp    %rbx,%rax
1800a13af:	74 4e                	je     0x1800a13ff
1800a13b1:	48 8b d0             	mov    %rax,%rdx
1800a13b4:	48 85 c9             	test   %rcx,%rcx
1800a13b7:	74 0e                	je     0x1800a13c7
1800a13b9:	48 8b 09             	mov    (%rcx),%rcx
1800a13bc:	48 85 c9             	test   %rcx,%rcx
1800a13bf:	74 06                	je     0x1800a13c7
1800a13c1:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800a13c5:	eb 02                	jmp    0x1800a13c9
1800a13c7:	33 c0                	xor    %eax,%eax
1800a13c9:	48 85 c0             	test   %rax,%rax
1800a13cc:	75 de                	jne    0x1800a13ac
1800a13ce:	33 db                	xor    %ebx,%ebx
1800a13d0:	ff ce                	dec    %esi
1800a13d2:	48 85 db             	test   %rbx,%rbx
1800a13d5:	74 2d                	je     0x1800a1404
1800a13d7:	48 8b 03             	mov    (%rbx),%rax
1800a13da:	48 8b cb             	mov    %rbx,%rcx
1800a13dd:	48 8b 40 18          	mov    0x18(%rax),%rax
1800a13e1:	ff d0                	call   *%rax
1800a13e3:	0f 1f 00             	nopl   (%rax)
1800a13e6:	85 c0                	test   %eax,%eax
1800a13e8:	0f 84 0f ff ff ff    	je     0x1800a12fd
1800a13ee:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1800a13f4:	4c 8b e3             	mov    %rbx,%r12
1800a13f7:	44 8b ee             	mov    %esi,%r13d
1800a13fa:	e9 fe fe ff ff       	jmp    0x1800a12fd
1800a13ff:	48 8b da             	mov    %rdx,%rbx
1800a1402:	eb cc                	jmp    0x1800a13d0
1800a1404:	45 85 ff             	test   %r15d,%r15d
1800a1407:	0f 84 75 01 00 00    	je     0x1800a1582
1800a140d:	49 8b f4             	mov    %r12,%rsi
1800a1410:	41 8b ed             	mov    %r13d,%ebp
1800a1413:	44 8b 74 24 58       	mov    0x58(%rsp),%r14d
1800a1418:	41 8b de             	mov    %r14d,%ebx
1800a141b:	83 f3 01             	xor    $0x1,%ebx
1800a141e:	e9 25 01 00 00       	jmp    0x1800a1548
1800a1423:	48 85 f6             	test   %rsi,%rsi
1800a1426:	74 71                	je     0x1800a1499
1800a1428:	85 ed                	test   %ebp,%ebp
1800a142a:	74 68                	je     0x1800a1494
1800a142c:	48 8b 47 38          	mov    0x38(%rdi),%rax
1800a1430:	33 d2                	xor    %edx,%edx
1800a1432:	48 8b 48 10          	mov    0x10(%rax),%rcx
1800a1436:	eb 10                	jmp    0x1800a1448
1800a1438:	48 3b c6             	cmp    %rsi,%rax
1800a143b:	74 52                	je     0x1800a148f
1800a143d:	48 8b d0             	mov    %rax,%rdx