1800480c3:	45 33 c0             	xor    %r8d,%r8d
1800480c6:	e8 55 b8 ff ff       	call   0x180043920
1800480cb:	48 8b cf             	mov    %rdi,%rcx
1800480ce:	e8 89 e8 ff ff       	call   0x18004695c
1800480d3:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1800480d8:	48 8b cb             	mov    %rbx,%rcx
1800480db:	e8 2c bb ff ff       	call   0x180043c0c
1800480e0:	48 8b f8             	mov    %rax,%rdi
1800480e3:	48 8b cb             	mov    %rbx,%rcx
1800480e6:	48 85 c0             	test   %rax,%rax
1800480e9:	75 d3                	jne    0x1800480be
1800480eb:	e8 2c b7 ff ff       	call   0x18004381c
1800480f0:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1800480f5:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800480fa:	48 83 c4 20          	add    $0x20,%rsp
1800480fe:	5f                   	pop    %rdi
1800480ff:	c3                   	ret
180048100:	cc                   	int3
180048101:	cc                   	int3
180048102:	cc                   	int3
180048103:	cc                   	int3
180048104:	8b 41 1c             	mov    0x1c(%rcx),%eax
180048107:	0f af 41 18          	imul   0x18(%rcx),%eax
18004810b:	c3                   	ret
18004810c:	cc                   	int3
18004810d:	cc                   	int3
18004810e:	cc                   	int3
18004810f:	cc                   	int3
180048110:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180048115:	57                   	push   %rdi
180048116:	48 83 ec 20          	sub    $0x20,%rsp
18004811a:	8b c2                	mov    %edx,%eax
18004811c:	33 db                	xor    %ebx,%ebx
18004811e:	33 d2                	xor    %edx,%edx
180048120:	f7 b1 90 00 00 00    	divl   0x90(%rcx)
180048126:	48 83 c1 50          	add    $0x50,%rcx
18004812a:	8b fa                	mov    %edx,%edi
18004812c:	8b d0                	mov    %eax,%edx
18004812e:	e8 a9 b7 ff ff       	call   0x1800438dc
180048133:	48 85 c0             	test   %rax,%rax
180048136:	74 0e                	je     0x180048146
180048138:	48 8d 14 f8          	lea    (%rax,%rdi,8),%rdx
18004813c:	83 3a ff             	cmpl   $0xffffffff,(%rdx)
18004813f:	48 0f 44 d3          	cmove  %rbx,%rdx
180048143:	48 8b da             	mov    %rdx,%rbx
180048146:	48 8b c3             	mov    %rbx,%rax
180048149:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004814e:	48 83 c4 20          	add    $0x20,%rsp
180048152:	5f                   	pop    %rdi
180048153:	c3                   	ret
180048154:	cc                   	int3
180048155:	cc                   	int3
180048156:	cc                   	int3
180048157:	cc                   	int3
180048158:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004815d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180048162:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180048167:	57                   	push   %rdi
180048168:	41 56                	push   %r14
18004816a:	41 57                	push   %r15
18004816c:	48 83 ec 20          	sub    $0x20,%rsp
180048170:	8b b1 90 00 00 00    	mov    0x90(%rcx),%esi
180048176:	4c 8b f2             	mov    %rdx,%r14
180048179:	33 d2                	xor    %edx,%edx
18004817b:	49 8b c6             	mov    %r14,%rax
18004817e:	48 f7 f6             	div    %rsi
180048181:	48 8b e9             	mov    %rcx,%rbp
180048184:	33 db                	xor    %ebx,%ebx
180048186:	48 8b d0             	mov    %rax,%rdx
180048189:	48 83 c1 50          	add    $0x50,%rcx
18004818d:	e8 4a b7 ff ff       	call   0x1800438dc
180048192:	48 8b f8             	mov    %rax,%rdi
180048195:	48 85 c0             	test   %rax,%rax
180048198:	75 61                	jne    0x1800481fb
18004819a:	48 8d 4b ff          	lea    -0x1(%rbx),%rcx
18004819e:	8d 43 08             	lea    0x8(%rbx),%eax
1800481a1:	48 f7 e6             	mul    %rsi
1800481a4:	48 0f 40 c1          	cmovo  %rcx,%rax
1800481a8:	48 8b c8             	mov    %rax,%rcx
1800481ab:	e8 64 e7 ff ff       	call   0x180046914
1800481b0:	48 8b f8             	mov    %rax,%rdi
1800481b3:	48 85 c0             	test   %rax,%rax
1800481b6:	74 19                	je     0x1800481d1
1800481b8:	48 85 f6             	test   %rsi,%rsi
1800481bb:	74 17                	je     0x1800481d4
1800481bd:	83 c9 ff             	or     $0xffffffff,%ecx
1800481c0:	89 08                	mov    %ecx,(%rax)
1800481c2:	89 48 04             	mov    %ecx,0x4(%rax)
1800481c5:	48 8d 40 08          	lea    0x8(%rax),%rax
1800481c9:	48 83 ee 01          	sub    $0x1,%rsi
1800481cd:	75 f1                	jne    0x1800481c0
1800481cf:	eb 03                	jmp    0x1800481d4
1800481d1:	48 8b fb             	mov    %rbx,%rdi
1800481d4:	48 85 ff             	test   %rdi,%rdi
1800481d7:	74 34                	je     0x18004820d
1800481d9:	44 8b 85 90 00 00 00 	mov    0x90(%rbp),%r8d
1800481e0:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
1800481e4:	33 d2                	xor    %edx,%edx
1800481e6:	49 8b c6             	mov    %r14,%rax
1800481e9:	49 f7 f0             	div    %r8
1800481ec:	4c 8b c7             	mov    %rdi,%r8
1800481ef:	48 8b d0             	mov    %rax,%rdx
1800481f2:	e8 29 b7 ff ff       	call   0x180043920
1800481f7:	85 c0                	test   %eax,%eax
1800481f9:	78 12                	js     0x18004820d
1800481fb:	8b 8d 90 00 00 00    	mov    0x90(%rbp),%ecx
180048201:	33 d2                	xor    %edx,%edx
180048203:	49 8b c6             	mov    %r14,%rax
180048206:	48 f7 f1             	div    %rcx
180048209:	48 8d 1c d7          	lea    (%rdi,%rdx,8),%rbx
18004820d:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180048212:	48 8b c3             	mov    %rbx,%rax
180048215:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18004821a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18004821f:	48 83 c4 20          	add    $0x20,%rsp
180048223:	41 5f                	pop    %r15
180048225:	41 5e                	pop    %r14
180048227:	5f                   	pop    %rdi
180048228:	c3                   	ret
180048229:	cc                   	int3
18004822a:	cc                   	int3
18004822b:	cc                   	int3
18004822c:	48 8b c4             	mov    %rsp,%rax
18004822f:	48 89 58 08          	mov    %rbx,0x8(%rax)
180048233:	48 89 68 10          	mov    %rbp,0x10(%rax)
180048237:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004823b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18004823f:	41 56                	push   %r14
180048241:	48 83 ec 20          	sub    $0x20,%rsp
180048245:	44 8b 81 90 00 00 00 	mov    0x90(%rcx),%r8d
18004824c:	48 8b ea             	mov    %rdx,%rbp
18004824f:	33 d2                	xor    %edx,%edx
180048251:	48 8b c5             	mov    %rbp,%rax
180048254:	49 f7 f0             	div    %r8
180048257:	48 8b f9             	mov    %rcx,%rdi
18004825a:	48 83 c1 50          	add    $0x50,%rcx
18004825e:	48 8b da             	mov    %rdx,%rbx
180048261:	48 8b d0             	mov    %rax,%rdx
180048264:	e8 73 b6 ff ff       	call   0x1800438dc
180048269:	83 c9 ff             	or     $0xffffffff,%ecx
18004826c:	48 8b f0             	mov    %rax,%rsi
18004826f:	45 33 c0             	xor    %r8d,%r8d
180048272:	89 0c d8             	mov    %ecx,(%rax,%rbx,8)
180048275:	89 4c d8 04          	mov    %ecx,0x4(%rax,%rbx,8)
180048279:	8b 87 90 00 00 00    	mov    0x90(%rdi),%eax
18004827f:	85 c0                	test   %eax,%eax
180048281:	74 13                	je     0x180048296
180048283:	48 8b d6             	mov    %rsi,%rdx
180048286:	39 0a                	cmp    %ecx,(%rdx)
180048288:	75 2e                	jne    0x1800482b8
18004828a:	41 ff c0             	inc    %r8d
18004828d:	48 83 c2 08          	add    $0x8,%rdx
180048291:	44 3b c0             	cmp    %eax,%r8d
180048294:	72 f0                	jb     0x180048286
180048296:	4c 8b c0             	mov    %rax,%r8
180048299:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
18004829d:	33 d2                	xor    %edx,%edx
18004829f:	48 8b c5             	mov    %rbp,%rax
1800482a2:	49 f7 f0             	div    %r8
1800482a5:	45 33 c0             	xor    %r8d,%r8d
1800482a8:	48 8b d0             	mov    %rax,%rdx
1800482ab:	e8 70 b6 ff ff       	call   0x180043920
1800482b0:	48 8b ce             	mov    %rsi,%rcx
1800482b3:	e8 a4 e6 ff ff       	call   0x18004695c
1800482b8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800482bd:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800482c2:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800482c7:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800482cc:	48 83 c4 20          	add    $0x20,%rsp
1800482d0:	41 5e                	pop    %r14
1800482d2:	c3                   	ret
1800482d3:	cc                   	int3
1800482d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800482d9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800482de:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800482e3:	57                   	push   %rdi
1800482e4:	48 83 ec 20          	sub    $0x20,%rsp
1800482e8:	48 8b f9             	mov    %rcx,%rdi
1800482eb:	33 db                	xor    %ebx,%ebx
1800482ed:	49 8b f0             	mov    %r8,%rsi
1800482f0:	48 8b ea             	mov    %rdx,%rbp
1800482f3:	8d 4b 28             	lea    0x28(%rbx),%ecx
1800482f6:	e8 19 e6 ff ff       	call   0x180046914
1800482fb:	48 85 c0             	test   %rax,%rax
1800482fe:	74 09                	je     0x180048309
180048300:	48 89 40 08          	mov    %rax,0x8(%rax)
180048304:	48 89 00             	mov    %rax,(%rax)
180048307:	eb 03                	jmp    0x18004830c
180048309:	48 8b c3             	mov    %rbx,%rax
18004830c:	48 85 c0             	test   %rax,%rax
18004830f:	75 07                	jne    0x180048318
180048311:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180048316:	eb 33                	jmp    0x18004834b
180048318:	48 8d 8f 18 01 00 00 	lea    0x118(%rdi),%rcx
18004831f:	48 89 68 10          	mov    %rbp,0x10(%rax)
180048323:	48 89 70 18          	mov    %rsi,0x18(%rax)
180048327:	48 8b 51 08          	mov    0x8(%rcx),%rdx
18004832b:	48 39 0a             	cmp    %rcx,(%rdx)
18004832e:	74 07                	je     0x180048337
180048330:	b9 03 00 00 00       	mov    $0x3,%ecx
180048335:	cd 29                	int    $0x29
180048337:	48 89 08             	mov    %rcx,(%rax)
18004833a:	48 89 50 08          	mov    %rdx,0x8(%rax)
18004833e:	48 89 02             	mov    %rax,(%rdx)
180048341:	48 89 41 08          	mov    %rax,0x8(%rcx)
180048345:	ff 87 08 01 00 00    	incl   0x108(%rdi)
18004834b:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180048350:	8b c3                	mov    %ebx,%eax
180048352:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180048357:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18004835c:	48 83 c4 20          	add    $0x20,%rsp
180048360:	5f                   	pop    %rdi
180048361:	c3                   	ret
180048362:	cc                   	int3
180048363:	cc                   	int3
180048364:	48 83 ec 28          	sub    $0x28,%rsp
180048368:	48 8d 81 18 01 00 00 	lea    0x118(%rcx),%rax
18004836f:	4c 8b c1             	mov    %rcx,%r8
180048372:	48 8b 08             	mov    (%rax),%rcx
180048375:	eb 09                	jmp    0x180048380
180048377:	48 39 51 10          	cmp    %rdx,0x10(%rcx)
18004837b:	74 0a                	je     0x180048387
18004837d:	48 8b 09             	mov    (%rcx),%rcx
180048380:	48 3b c8             	cmp    %rax,%rcx
180048383:	75 f2                	jne    0x180048377
180048385:	33 c9                	xor    %ecx,%ecx
180048387:	48 85 c9             	test   %rcx,%rcx
18004838a:	74 25                	je     0x1800483b1
18004838c:	41 ff 88 08 01 00 00 	decl   0x108(%r8)
180048393:	48 8b 11             	mov    (%rcx),%rdx
180048396:	48 39 4a 08          	cmp    %rcx,0x8(%rdx)
18004839a:	75 1b                	jne    0x1800483b7
18004839c:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800483a0:	48 39 08             	cmp    %rcx,(%rax)
1800483a3:	75 12                	jne    0x1800483b7
1800483a5:	48 89 10             	mov    %rdx,(%rax)
1800483a8:	48 89 42 08          	mov    %rax,0x8(%rdx)
1800483ac:	e8 ab e5 ff ff       	call   0x18004695c
1800483b1:	48 83 c4 28          	add    $0x28,%rsp
1800483b5:	c3                   	ret
1800483b6:	cc                   	int3
1800483b7:	b9 03 00 00 00       	mov    $0x3,%ecx
1800483bc:	cd 29                	int    $0x29
1800483be:	cc                   	int3
1800483bf:	cc                   	int3
1800483c0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1800483c5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1800483ca:	55                   	push   %rbp
1800483cb:	56                   	push   %rsi
1800483cc:	57                   	push   %rdi
1800483cd:	41 54                	push   %r12
1800483cf:	41 55                	push   %r13
1800483d1:	41 56                	push   %r14
1800483d3:	41 57                	push   %r15
1800483d5:	48 83 ec 30          	sub    $0x30,%rsp
1800483d9:	48 83 64 24 70 00    	andq   $0x0,0x70(%rsp)
1800483df:	49 8b f0             	mov    %r8,%rsi
1800483e2:	48 8b d9             	mov    %rcx,%rbx
1800483e5:	4d 89 40 08          	mov    %r8,0x8(%r8)
1800483e9:	4d 89 00             	mov    %r8,(%r8)
1800483ec:	e8 e7 fb ff ff       	call   0x180047fd8
1800483f1:	45 33 c0             	xor    %r8d,%r8d
1800483f4:	4c 8d bb b8 00 00 00 	lea    0xb8(%rbx),%r15
1800483fb:	41 b9 00 00 01 00    	mov    $0x10000,%r9d
180048401:	49 8b cf             	mov    %r15,%rcx
180048404:	41 8d 50 03          	lea    0x3(%r8),%edx
180048408:	e8 8f e7 ff ff       	call   0x180046b9c
18004840d:	8b e8                	mov    %eax,%ebp
18004840f:	85 c0                	test   %eax,%eax
180048411:	0f 88 0b 02 00 00    	js     0x180048622
180048417:	44 8b 43 1c          	mov    0x1c(%rbx),%r8d
18004841b:	33 ff                	xor    %edi,%edi
18004841d:	44 8b 4b 48          	mov    0x48(%rbx),%r9d
180048421:	41 8b c8             	mov    %r8d,%ecx
180048424:	41 0f af c9          	imul   %r9d,%ecx
180048428:	44 8b e1             	mov    %ecx,%r12d
18004842b:	85 c9                	test   %ecx,%ecx
18004842d:	0f 84 c2 00 00 00    	je     0x1800484f5
180048433:	4c 8b ab c0 00 00 00 	mov    0xc0(%rbx),%r13
18004843a:	41 8b c4             	mov    %r12d,%eax
18004843d:	2b c7                	sub    %edi,%eax
18004843f:	41 be 00 00 01 00    	mov    $0x10000,%r14d
180048445:	49 8b cc             	mov    %r12,%rcx
180048448:	48 2b cf             	sub    %rdi,%rcx
18004844b:	49 3b ce             	cmp    %r14,%rcx
18004844e:	44 0f 42 f0          	cmovb  %eax,%r14d
180048452:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
180048457:	48 8b 48 10          	mov    0x10(%rax),%rcx
18004845b:	48 8b 50 18          	mov    0x18(%rax),%rdx
18004845f:	48 03 d7             	add    %rdi,%rdx
180048462:	44 8b 89 e4 00 00 00 	mov    0xe4(%rcx),%r9d
180048469:	48 8b 01             	mov    (%rcx),%rax
18004846c:	45 8d 41 ff          	lea    -0x1(%r9),%r8d
180048470:	41 f7 d9             	neg    %r9d
180048473:	48 8b 40 38          	mov    0x38(%rax),%rax
180048477:	45 03 c6             	add    %r14d,%r8d
18004847a:	45 23 c1             	and    %r9d,%r8d
18004847d:	4d 8b cd             	mov    %r13,%r9
180048480:	ff d0                	call   *%rax
180048482:	0f 1f 00             	nopl   (%rax)
180048485:	8b e8                	mov    %eax,%ebp
180048487:	85 c0                	test   %eax,%eax
180048489:	79 09                	jns    0x180048494
18004848b:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
180048490:	83 60 20 fe          	andl   $0xfffffffe,0x20(%rax)
180048494:	85 ed                	test   %ebp,%ebp
180048496:	0f 88 86 01 00 00    	js     0x180048622
18004849c:	48 85 ff             	test   %rdi,%rdi
18004849f:	75 1d                	jne    0x1800484be
1800484a1:	b8 00 02 00 00       	mov    $0x200,%eax
1800484a6:	44 3b f0             	cmp    %eax,%r14d
1800484a9:	0f 82 a3 00 00 00    	jb     0x180048552
1800484af:	4c 03 e8             	add    %rax,%r13
1800484b2:	45 8d 86 00 fe ff ff 	lea    -0x200(%r14),%r8d
1800484b9:	44 8b c8             	mov    %eax,%r9d
1800484bc:	eb 06                	jmp    0x1800484c4
1800484be:	45 8b c6             	mov    %r14d,%r8d
1800484c1:	4c 8b cf             	mov    %rdi,%r9
1800484c4:	49 8b d5             	mov    %r13,%rdx
1800484c7:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1800484cc:	48 8b cb             	mov    %rbx,%rcx
1800484cf:	e8 ec 07 00 00       	call   0x180048cc0
1800484d4:	8b e8                	mov    %eax,%ebp
1800484d6:	85 c0                	test   %eax,%eax
1800484d8:	0f 88 44 01 00 00    	js     0x180048622
1800484de:	41 8b c6             	mov    %r14d,%eax
1800484e1:	48 03 f8             	add    %rax,%rdi
1800484e4:	49 3b fc             	cmp    %r12,%rdi
1800484e7:	0f 82 46 ff ff ff    	jb     0x180048433
1800484ed:	44 8b 43 1c          	mov    0x1c(%rbx),%r8d
1800484f1:	44 8b 4b 48          	mov    0x48(%rbx),%r9d
1800484f5:	8b 4b 18             	mov    0x18(%rbx),%ecx
1800484f8:	33 d2                	xor    %edx,%edx
1800484fa:	b8 00 02 00 00       	mov    $0x200,%eax
1800484ff:	41 bd 01 00 00 00    	mov    $0x1,%r13d
180048505:	41 f7 f0             	div    %r8d
180048508:	2b c8                	sub    %eax,%ecx
18004850a:	44 8b f0             	mov    %eax,%r14d
18004850d:	89 8b 98 00 00 00    	mov    %ecx,0x98(%rbx)
180048513:	41 3b c1             	cmp    %r9d,%eax
180048516:	8b f0                	mov    %eax,%esi
180048518:	0f 83 95 00 00 00    	jae    0x1800485b3
18004851e:	8b d6                	mov    %esi,%edx
180048520:	48 8b cb             	mov    %rbx,%rcx
180048523:	e8 e8 fb ff ff       	call   0x180048110
180048528:	48 85 c0             	test   %rax,%rax
18004852b:	74 74                	je     0x1800485a1
18004852d:	8b 10                	mov    (%rax),%edx
18004852f:	4c 8d a3 c8 00 00 00 	lea    0xc8(%rbx),%r12
180048536:	49 8b cc             	mov    %r12,%rcx