1800490b4:	48 83 63 40 00       	andq   $0x0,0x40(%rbx)
1800490b9:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1800490be:	83 64 24 2c 00       	andl   $0x0,0x2c(%rsp)
1800490c3:	48 8d 0d 26 5a 10 00 	lea    0x105a26(%rip),%rcx        # 0x18014eaf0
1800490ca:	48 b8 20 20 20 20 43 	movabs $0x5344424320202020,%rax
1800490d1:	42 44 53
1800490d4:	66 89 6b 28          	mov    %bp,0x28(%rbx)
1800490d8:	4c 8b cf             	mov    %rdi,%r9
1800490db:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800490e0:	ba 04 00 00 00       	mov    $0x4,%edx
1800490e5:	c7 44 24 28 01 00 00 	movl   $0x2000001,0x28(%rsp)
1800490ec:	02
1800490ed:	bd 00 02 00 00       	mov    $0x200,%ebp
1800490f2:	e8 05 6d 00 00       	call   0x18004fdfc
1800490f7:	4c 8d 43 08          	lea    0x8(%rbx),%r8
1800490fb:	4c 8b c8             	mov    %rax,%r9
1800490fe:	ba 0a 00 00 00       	mov    $0xa,%edx
180049103:	48 8d 0d 16 5a 10 00 	lea    0x105a16(%rip),%rcx        # 0x18014eb20
18004910a:	e8 ed 6c 00 00       	call   0x18004fdfc
18004910f:	44 8b c5             	mov    %ebp,%r8d
180049112:	48 8b d7             	mov    %rdi,%rdx
180049115:	e8 6a ad fe ff       	call   0x180033e84
18004911a:	4c 8b cf             	mov    %rdi,%r9
18004911d:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
180049121:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180049126:	ba 04 00 00 00       	mov    $0x4,%edx
18004912b:	48 8d 0d be 59 10 00 	lea    0x1059be(%rip),%rcx        # 0x18014eaf0
180049132:	e8 c5 6c 00 00       	call   0x18004fdfc
180049137:	44 8b 83 90 00 00 00 	mov    0x90(%rbx),%r8d
18004913e:	4c 8b ce             	mov    %rsi,%r9
180049141:	44 0f af 43 1c       	imul   0x1c(%rbx),%r8d
180049146:	33 d2                	xor    %edx,%edx
180049148:	48 8b cb             	mov    %rbx,%rcx
18004914b:	e8 b8 04 00 00       	call   0x180049608
180049150:	8b f8                	mov    %eax,%edi
180049152:	85 c0                	test   %eax,%eax
180049154:	78 0b                	js     0x180049161
180049156:	48 8b d6             	mov    %rsi,%rdx
180049159:	48 8b cb             	mov    %rbx,%rcx
18004915c:	e8 a3 05 00 00       	call   0x180049704
180049161:	8b c7                	mov    %edi,%eax
180049163:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
180049168:	48 33 cc             	xor    %rsp,%rcx
18004916b:	e8 bc c9 fc ff       	call   0x180015b2c
180049170:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
180049175:	48 83 c4 40          	add    $0x40,%rsp
180049179:	5f                   	pop    %rdi
18004917a:	5e                   	pop    %rsi
18004917b:	5d                   	pop    %rbp
18004917c:	c3                   	ret
18004917d:	cc                   	int3
18004917e:	cc                   	int3
18004917f:	cc                   	int3
180049180:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180049185:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18004918a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18004918f:	57                   	push   %rdi
180049190:	41 54                	push   %r12
180049192:	41 55                	push   %r13
180049194:	41 56                	push   %r14
180049196:	41 57                	push   %r15
180049198:	48 83 ec 20          	sub    $0x20,%rsp
18004919c:	44 8b 89 90 00 00 00 	mov    0x90(%rcx),%r9d
1800491a3:	4c 8b f2             	mov    %rdx,%r14
1800491a6:	44 8b 41 4c          	mov    0x4c(%rcx),%r8d
1800491aa:	33 d2                	xor    %edx,%edx
1800491ac:	48 8b a9 c0 00 00 00 	mov    0xc0(%rcx),%rbp
1800491b3:	41 ff c8             	dec    %r8d
1800491b6:	45 03 c1             	add    %r9d,%r8d
1800491b9:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
1800491be:	41 8b c0             	mov    %r8d,%eax
1800491c1:	33 f6                	xor    %esi,%esi
1800491c3:	41 f7 f1             	div    %r9d
1800491c6:	45 33 e4             	xor    %r12d,%r12d
1800491c9:	45 33 ff             	xor    %r15d,%r15d
1800491cc:	44 2b c2             	sub    %edx,%r8d
1800491cf:	48 8b d9             	mov    %rcx,%rbx
1800491d2:	33 d2                	xor    %edx,%edx
1800491d4:	41 8b c0             	mov    %r8d,%eax
1800491d7:	41 f7 f1             	div    %r9d
1800491da:	44 8b e8             	mov    %eax,%r13d
1800491dd:	8b f8                	mov    %eax,%edi
1800491df:	4d 85 f6             	test   %r14,%r14
1800491e2:	75 13                	jne    0x1800491f7
1800491e4:	48 8b 81 b0 00 00 00 	mov    0xb0(%rcx),%rax
1800491eb:	8b b9 a4 00 00 00    	mov    0xa4(%rcx),%edi
1800491f1:	0f ba 20 00          	btl    $0x0,(%rax)
1800491f5:	73 19                	jae    0x180049210
1800491f7:	0f b7 51 28          	movzwl 0x28(%rcx),%edx
1800491fb:	4d 8b c6             	mov    %r14,%r8
1800491fe:	e8 4d fe ff ff       	call   0x180049050
180049203:	44 8b f8             	mov    %eax,%r15d
180049206:	85 c0                	test   %eax,%eax
180049208:	0f 88 d9 00 00 00    	js     0x1800492e7
18004920e:	ff cf                	dec    %edi
180049210:	33 d2                	xor    %edx,%edx
180049212:	41 b8 00 00 01 00    	mov    $0x10000,%r8d
180049218:	48 8b cd             	mov    %rbp,%rcx
18004921b:	e8 60 ca 0e 00       	call   0x180135c80
180049220:	bd 01 00 00 00       	mov    $0x1,%ebp
180049225:	44 3b ed             	cmp    %ebp,%r13d
180049228:	0f 86 ae 00 00 00    	jbe    0x1800492dc
18004922e:	4d 85 f6             	test   %r14,%r14
180049231:	75 10                	jne    0x180049243
180049233:	48 8b 83 b0 00 00 00 	mov    0xb0(%rbx),%rax
18004923a:	0f a3 28             	bt     %ebp,(%rax)
18004923d:	72 04                	jb     0x180049243
18004923f:	32 c0                	xor    %al,%al
180049241:	eb 37                	jmp    0x18004927a
180049243:	44 8b 43 1c          	mov    0x1c(%rbx),%r8d
180049247:	48 8b cb             	mov    %rbx,%rcx
18004924a:	8b 93 90 00 00 00    	mov    0x90(%rbx),%edx
180049250:	44 0f af c6          	imul   %esi,%r8d
180049254:	0f af d5             	imul   %ebp,%edx
180049257:	4c 03 44 24 50       	add    0x50(%rsp),%r8
18004925c:	e8 a7 00 00 00       	call   0x180049308
180049261:	84 c0                	test   %al,%al
180049263:	74 13                	je     0x180049278
180049265:	8b 8b 90 00 00 00    	mov    0x90(%rbx),%ecx
18004926b:	85 f6                	test   %esi,%esi
18004926d:	75 07                	jne    0x180049276
18004926f:	44 8b e1             	mov    %ecx,%r12d
180049272:	44 0f af e5          	imul   %ebp,%r12d
180049276:	03 f1                	add    %ecx,%esi
180049278:	ff cf                	dec    %edi
18004927a:	85 f6                	test   %esi,%esi
18004927c:	74 4f                	je     0x1800492cd
18004927e:	84 c0                	test   %al,%al
180049280:	74 12                	je     0x180049294
180049282:	33 d2                	xor    %edx,%edx
180049284:	b8 00 00 01 00       	mov    $0x10000,%eax
180049289:	f7 73 1c             	divl   0x1c(%rbx)
18004928c:	3b f0                	cmp    %eax,%esi
18004928e:	74 04                	je     0x180049294
180049290:	85 ff                	test   %edi,%edi
180049292:	75 3d                	jne    0x1800492d1
180049294:	8b 43 1c             	mov    0x1c(%rbx),%eax
180049297:	4d 8b ce             	mov    %r14,%r9
18004929a:	44 8b c0             	mov    %eax,%r8d
18004929d:	48 8b cb             	mov    %rbx,%rcx
1800492a0:	41 0f af c4          	imul   %r12d,%eax
1800492a4:	44 0f af c6          	imul   %esi,%r8d
1800492a8:	8b d0                	mov    %eax,%edx
1800492aa:	e8 59 03 00 00       	call   0x180049608
1800492af:	44 8b f8             	mov    %eax,%r15d
1800492b2:	85 c0                	test   %eax,%eax
1800492b4:	78 31                	js     0x1800492e7
1800492b6:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1800492bb:	45 33 e4             	xor    %r12d,%r12d
1800492be:	33 f6                	xor    %esi,%esi
1800492c0:	33 d2                	xor    %edx,%edx
1800492c2:	41 b8 00 00 01 00    	mov    $0x10000,%r8d
1800492c8:	e8 b3 c9 0e 00       	call   0x180135c80
1800492cd:	85 ff                	test   %edi,%edi
1800492cf:	74 0b                	je     0x1800492dc
1800492d1:	ff c5                	inc    %ebp
1800492d3:	41 3b ed             	cmp    %r13d,%ebp
1800492d6:	0f 82 52 ff ff ff    	jb     0x18004922e
1800492dc:	49 8b d6             	mov    %r14,%rdx
1800492df:	48 8b cb             	mov    %rbx,%rcx
1800492e2:	e8 1d 04 00 00       	call   0x180049704
1800492e7:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1800492ec:	41 8b c7             	mov    %r15d,%eax
1800492ef:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1800492f4:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1800492f9:	48 83 c4 20          	add    $0x20,%rsp
1800492fd:	41 5f                	pop    %r15
1800492ff:	41 5e                	pop    %r14
180049301:	41 5d                	pop    %r13
180049303:	41 5c                	pop    %r12
180049305:	5f                   	pop    %rdi
180049306:	c3                   	ret
180049307:	cc                   	int3
180049308:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18004930d:	55                   	push   %rbp
18004930e:	53                   	push   %rbx
18004930f:	56                   	push   %rsi
180049310:	57                   	push   %rdi
180049311:	41 54                	push   %r12
180049313:	41 55                	push   %r13
180049315:	41 56                	push   %r14
180049317:	41 57                	push   %r15
180049319:	48 8b ec             	mov    %rsp,%rbp
18004931c:	48 83 ec 58          	sub    $0x58,%rsp
180049320:	44 0f b7 61 1c       	movzwl 0x1c(%rcx),%r12d
180049325:	33 f6                	xor    %esi,%esi
180049327:	66 41 83 ec 10       	sub    $0x10,%r12w
18004932c:	66 89 75 60          	mov    %si,0x60(%rbp)
180049330:	66 44 89 65 48       	mov    %r12w,0x48(%rbp)
180049335:	44 8b fa             	mov    %edx,%r15d
180049338:	48 8b d9             	mov    %rcx,%rbx
18004933b:	85 d2                	test   %edx,%edx
18004933d:	75 0e                	jne    0x18004934d
18004933f:	33 d2                	xor    %edx,%edx
180049341:	b8 00 02 00 00       	mov    $0x200,%eax
180049346:	f7 71 1c             	divl   0x1c(%rcx)
180049349:	8b c8                	mov    %eax,%ecx
18004934b:	eb 02                	jmp    0x18004934f
18004934d:	8b ce                	mov    %esi,%ecx
18004934f:	45 85 ff             	test   %r15d,%r15d
180049352:	0f 94 c0             	sete   %al
180049355:	44 0f b6 f0          	movzbl %al,%r14d
180049359:	b8 01 00 00 00       	mov    $0x1,%eax
18004935e:	44 8d 60 04          	lea    0x4(%rax),%r12d
180049362:	66 44 39 63 28       	cmp    %r12w,0x28(%rbx)
180049367:	44 0f 44 f0          	cmove  %eax,%r14d
18004936b:	3b 8b 90 00 00 00    	cmp    0x90(%rbx),%ecx
180049371:	0f 83 7a 02 00 00    	jae    0x1800495f1
180049377:	42 8d 3c 39          	lea    (%rcx,%r15,1),%edi
18004937b:	41 f7 df             	neg    %r15d
18004937e:	44 89 7d 50          	mov    %r15d,0x50(%rbp)
180049382:	45 8d 2c 3f          	lea    (%r15,%rdi,1),%r13d
180049386:	8b d7                	mov    %edi,%edx
180049388:	44 0f af 6b 1c       	imul   0x1c(%rbx),%r13d
18004938d:	48 8b cb             	mov    %rbx,%rcx
180049390:	4d 03 e8             	add    %r8,%r13
180049393:	4c 89 6d d8          	mov    %r13,-0x28(%rbp)
180049397:	e8 74 ed ff ff       	call   0x180048110
18004939c:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
1800493a0:	48 85 c0             	test   %rax,%rax
1800493a3:	75 29                	jne    0x1800493ce
1800493a5:	48 21 45 e8          	and    %rax,-0x18(%rbp)
1800493a9:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1800493ad:	c7 45 e0 42 42 44 53 	movl   $0x53444242,-0x20(%rbp)
1800493b4:	4d 8b cd             	mov    %r13,%r9
1800493b7:	89 7d e4             	mov    %edi,-0x1c(%rbp)
1800493ba:	41 8b d4             	mov    %r12d,%edx
1800493bd:	48 8d 0d ac 56 10 00 	lea    0x1056ac(%rip),%rcx        # 0x18014ea70
1800493c4:	e8 33 6a 00 00       	call   0x18004fdfc
1800493c9:	e9 0d 02 00 00       	jmp    0x1800495db
1800493ce:	44 8b 20             	mov    (%rax),%r12d
1800493d1:	48 8d 8b c8 00 00 00 	lea    0xc8(%rbx),%rcx
1800493d8:	41 8b d4             	mov    %r12d,%edx
1800493db:	e8 fc a4 ff ff       	call   0x1800438dc
1800493e0:	48 8b f0             	mov    %rax,%rsi
1800493e3:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1800493e7:	0f b7 43 28          	movzwl 0x28(%rbx),%eax
1800493eb:	83 e8 02             	sub    $0x2,%eax
1800493ee:	74 59                	je     0x180049449
1800493f0:	83 e8 01             	sub    $0x1,%eax
1800493f3:	74 2a                	je     0x18004941f
1800493f5:	83 f8 01             	cmp    $0x1,%eax
1800493f8:	75 75                	jne    0x18004946f
1800493fa:	0f b7 46 12          	movzwl 0x12(%rsi),%eax
1800493fe:	a8 02                	test   $0x2,%al
180049400:	74 08                	je     0x18004940a
180049402:	41 be 01 00 00 00    	mov    $0x1,%r14d
180049408:	eb 30                	jmp    0x18004943a
18004940a:	41 b9 01 00 00 00    	mov    $0x1,%r9d
180049410:	41 84 c1             	test   %al,%r9b
180049413:	74 5a                	je     0x18004946f
180049415:	41 3b fc             	cmp    %r12d,%edi
180049418:	75 55                	jne    0x18004946f
18004941a:	45 8a f1             	mov    %r9b,%r14b
18004941d:	eb 50                	jmp    0x18004946f
18004941f:	0f b7 46 12          	movzwl 0x12(%rsi),%eax
180049423:	a8 02                	test   $0x2,%al
180049425:	74 05                	je     0x18004942c
180049427:	41 3b fc             	cmp    %r12d,%edi
18004942a:	74 25                	je     0x180049451
18004942c:	41 b9 01 00 00 00    	mov    $0x1,%r9d
180049432:	41 84 c1             	test   %al,%r9b
180049435:	74 38                	je     0x18004946f
180049437:	45 8a f1             	mov    %r9b,%r14b
18004943a:	33 f6                	xor    %esi,%esi
18004943c:	48 89 75 e8          	mov    %rsi,-0x18(%rbp)
180049440:	44 8d 66 05          	lea    0x5(%rsi),%r12d
180049444:	e9 60 ff ff ff       	jmp    0x1800493a9
180049449:	0f b7 46 12          	movzwl 0x12(%rsi),%eax
18004944d:	a8 02                	test   $0x2,%al
18004944f:	74 08                	je     0x180049459
180049451:	41 be 01 00 00 00    	mov    $0x1,%r14d
180049457:	eb 16                	jmp    0x18004946f
180049459:	41 b9 01 00 00 00    	mov    $0x1,%r9d
18004945f:	41 84 c1             	test   %al,%r9b
180049462:	74 0b                	je     0x18004946f
180049464:	41 3b fc             	cmp    %r12d,%edi
180049467:	45 0f b6 f6          	movzbl %r14b,%r14d
18004946b:	45 0f 44 f1          	cmove  %r9d,%r14d
18004946f:	33 c0                	xor    %eax,%eax
180049471:	89 7d e4             	mov    %edi,-0x1c(%rbp)
180049474:	66 89 45 ec          	mov    %ax,-0x14(%rbp)
180049478:	0f b7 43 1c          	movzwl 0x1c(%rbx),%eax
18004947c:	66 83 e8 10          	sub    $0x10,%ax
180049480:	44 89 65 e8          	mov    %r12d,-0x18(%rbp)
180049484:	44 0f b7 c0          	movzwl %ax,%r8d
180049488:	0f b7 46 14          	movzwl 0x14(%rsi),%eax
18004948c:	66 83 c0 08          	add    $0x8,%ax
180049490:	0f b7 c0             	movzwl %ax,%eax
180049493:	41 8d 48 ff          	lea    -0x1(%r8),%ecx
180049497:	03 c8                	add    %eax,%ecx
180049499:	8b c1                	mov    %ecx,%eax
18004949b:	99                   	cltd
18004949c:	41 f7 f8             	idiv   %r8d
18004949f:	2b ca                	sub    %edx,%ecx
1800494a1:	8b c1                	mov    %ecx,%eax
1800494a3:	99                   	cltd
1800494a4:	41 f7 f8             	idiv   %r8d
1800494a7:	66 89 45 ee          	mov    %ax,-0x12(%rbp)
1800494ab:	41 3b fc             	cmp    %r12d,%edi
1800494ae:	74 44                	je     0x1800494f4
1800494b0:	41 8b d4             	mov    %r12d,%edx
1800494b3:	48 8b cb             	mov    %rbx,%rcx
1800494b6:	e8 55 ec ff ff       	call   0x180048110
1800494bb:	48 3b 45 c8          	cmp    -0x38(%rbp),%rax
1800494bf:	74 33                	je     0x1800494f4
1800494c1:	44 0f b7 7d ec       	movzwl -0x14(%rbp),%r15d
1800494c6:	be 01 00 00 00       	mov    $0x1,%esi
1800494cb:	4c 8b 6d c8          	mov    -0x38(%rbp),%r13
1800494cf:	8b 50 04             	mov    0x4(%rax),%edx
1800494d2:	48 8b cb             	mov    %rbx,%rcx
1800494d5:	66 44 03 fe          	add    %si,%r15w
1800494d9:	e8 32 ec ff ff       	call   0x180048110
1800494de:	49 3b c5             	cmp    %r13,%rax
1800494e1:	75 ec                	jne    0x1800494cf
1800494e3:	48 8b 75 d0          	mov    -0x30(%rbp),%rsi
1800494e7:	4c 8b 6d d8          	mov    -0x28(%rbp),%r13
1800494eb:	66 44 89 7d ec       	mov    %r15w,-0x14(%rbp)
1800494f0:	44 8b 7d 50          	mov    0x50(%rbp),%r15d
1800494f4:	4d 8b cd             	mov    %r13,%r9
1800494f7:	c7 45 e0 42 42 44 53 	movl   $0x53444242,-0x20(%rbp)
1800494fe:	41 bd 05 00 00 00    	mov    $0x5,%r13d
180049504:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
180049508:	41 8b d5             	mov    %r13d,%edx
18004950b:	48 8d 0d 5e 55 10 00 	lea    0x10555e(%rip),%rcx        # 0x18014ea70
180049512:	e8 e5 68 00 00       	call   0x18004fdfc
180049517:	4c 8b d0             	mov    %rax,%r10
18004951a:	41 3b fc             	cmp    %r12d,%edi
18004951d:	75 7a                	jne    0x180049599
18004951f:	0f b7 4b 28          	movzwl 0x28(%rbx),%ecx
180049523:	41 8d 45 fc          	lea    -0x4(%r13),%eax
180049527:	66 83 e9 03          	sub    $0x3,%cx
18004952b:	66 3b c8             	cmp    %ax,%cx
18004952e:	77 1f                	ja     0x18004954f
180049530:	0f b7 4e 12          	movzwl 0x12(%rsi),%ecx
180049534:	b8 fc ff 00 00       	mov    $0xfffc,%eax
180049539:	44 0f b7 e1          	movzwl %cx,%r12d
18004953d:	66 41 83 e4 03       	and    $0x3,%r12w
180049542:	66 23 c8             	and    %ax,%cx
180049545:	44 89 65 60          	mov    %r12d,0x60(%rbp)
180049549:	66 89 4e 12          	mov    %cx,0x12(%rsi)
18004954d:	eb 04                	jmp    0x180049553
18004954f:	44 8b 65 60          	mov    0x60(%rbp),%r12d
180049553:	4c 8d 46 10          	lea    0x10(%rsi),%r8
180049557:	4d 8b ca             	mov    %r10,%r9
18004955a:	41 8b d5             	mov    %r13d,%edx
18004955d:	48 8d 0d 4c 55 10 00 	lea    0x10554c(%rip),%rcx        # 0x18014eab0
180049564:	e8 93 68 00 00       	call   0x18004fdfc
180049569:	33 c9                	xor    %ecx,%ecx
18004956b:	66 45 85 e4          	test   %r12w,%r12w