1800351b9:	49 8b ca             	mov    %r10,%rcx
1800351bc:	e8 db 01 00 00       	call   0x18003539c
1800351c1:	44 8b e0             	mov    %eax,%r12d
1800351c4:	85 c0                	test   %eax,%eax
1800351c6:	78 27                	js     0x1800351ef
1800351c8:	41 8b c6             	mov    %r14d,%eax
1800351cb:	41 2b ee             	sub    %r14d,%ebp
1800351ce:	0f af 47 30          	imul   0x30(%rdi),%eax
1800351d2:	4c 03 e8             	add    %rax,%r13
1800351d5:	48 01 5f 40          	add    %rbx,0x40(%rdi)
1800351d9:	85 ed                	test   %ebp,%ebp
1800351db:	74 12                	je     0x1800351ef
1800351dd:	4c 8b 54 24 50       	mov    0x50(%rsp),%r10
1800351e2:	e9 0a ff ff ff       	jmp    0x1800350f1
1800351e7:	48 83 25 d1 fa 16 00 	andq   $0x0,0x16fad1(%rip)        # 0x1801a4cc0
1800351ee:	00
1800351ef:	41 8b c4             	mov    %r12d,%eax
1800351f2:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1800351f7:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1800351fc:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180035201:	48 83 c4 20          	add    $0x20,%rsp
180035205:	41 5f                	pop    %r15
180035207:	41 5e                	pop    %r14
180035209:	41 5d                	pop    %r13
18003520b:	41 5c                	pop    %r12
18003520d:	5f                   	pop    %rdi
18003520e:	c3                   	ret
18003520f:	cc                   	int3
180035210:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180035215:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18003521a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18003521f:	57                   	push   %rdi
180035220:	41 54                	push   %r12
180035222:	41 55                	push   %r13
180035224:	41 56                	push   %r14
180035226:	41 57                	push   %r15
180035228:	48 83 ec 20          	sub    $0x20,%rsp
18003522c:	48 8b b1 80 00 00 00 	mov    0x80(%rcx),%rsi
180035233:	33 ff                	xor    %edi,%edi
180035235:	4c 8b fa             	mov    %rdx,%r15
180035238:	4d 8b e1             	mov    %r9,%r12
18003523b:	41 8b d8             	mov    %r8d,%ebx
18003523e:	4c 8b e9             	mov    %rcx,%r13
180035241:	8b 56 48             	mov    0x48(%rsi),%edx
180035244:	41 81 f8 00 00 00 02 	cmp    $0x2000000,%r8d
18003524b:	73 6b                	jae    0x1800352b8
18003524d:	44 03 c2             	add    %edx,%r8d
180035250:	44 3b c3             	cmp    %ebx,%r8d
180035253:	72 59                	jb     0x1800352ae
180035255:	8b 4e 30             	mov    0x30(%rsi),%ecx
180035258:	8b c1                	mov    %ecx,%eax
18003525a:	f7 d8                	neg    %eax
18003525c:	44 8d 71 ff          	lea    -0x1(%rcx),%r14d
180035260:	45 03 f0             	add    %r8d,%r14d
180035263:	44 23 f0             	and    %eax,%r14d
180035266:	45 3b f0             	cmp    %r8d,%r14d
180035269:	72 43                	jb     0x1800352ae
18003526b:	85 d2                	test   %edx,%edx
18003526d:	75 0a                	jne    0x180035279
18003526f:	41 3b de             	cmp    %r14d,%ebx
180035272:	75 05                	jne    0x180035279
180035274:	49 8b ef             	mov    %r15,%rbp
180035277:	eb 2c                	jmp    0x1800352a5
180035279:	44 8b 4e 34          	mov    0x34(%rsi),%r9d
18003527d:	48 8d 15 2c fa 16 00 	lea    0x16fa2c(%rip),%rdx        # 0x1801a4cb0
180035284:	45 8b c6             	mov    %r14d,%r8d
180035287:	48 8d 0d 2a fa 16 00 	lea    0x16fa2a(%rip),%rcx        # 0x1801a4cb8
18003528e:	e8 69 05 00 00       	call   0x1800357fc
180035293:	85 c0                	test   %eax,%eax
180035295:	0f 88 e3 00 00 00    	js     0x18003537e
18003529b:	48 8b 2d 16 fa 16 00 	mov    0x16fa16(%rip),%rbp        # 0x1801a4cb8
1800352a2:	8b 4e 30             	mov    0x30(%rsi),%ecx
1800352a5:	33 d2                	xor    %edx,%edx
1800352a7:	41 8b c6             	mov    %r14d,%eax
1800352aa:	f7 f1                	div    %ecx
1800352ac:	eb 41                	jmp    0x1800352ef
1800352ae:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
1800352b3:	e9 c6 00 00 00       	jmp    0x18003537e
1800352b8:	85 d2                	test   %edx,%edx
1800352ba:	74 29                	je     0x1800352e5
1800352bc:	8b 46 30             	mov    0x30(%rsi),%eax
1800352bf:	8b fb                	mov    %ebx,%edi
1800352c1:	2b c2                	sub    %edx,%eax
1800352c3:	49 8b d7             	mov    %r15,%rdx
1800352c6:	3b c3                	cmp    %ebx,%eax
1800352c8:	0f 42 f8             	cmovb  %eax,%edi
1800352cb:	45 33 c9             	xor    %r9d,%r9d
1800352ce:	44 8b c7             	mov    %edi,%r8d
1800352d1:	e8 82 fc ff ff       	call   0x180034f58
1800352d6:	85 c0                	test   %eax,%eax
1800352d8:	0f 88 a0 00 00 00    	js     0x18003537e
1800352de:	2b df                	sub    %edi,%ebx
1800352e0:	8b c7                	mov    %edi,%eax
1800352e2:	4c 03 f8             	add    %rax,%r15
1800352e5:	33 d2                	xor    %edx,%edx
1800352e7:	8b c3                	mov    %ebx,%eax
1800352e9:	f7 76 30             	divl   0x30(%rsi)
1800352ec:	49 8b ef             	mov    %r15,%rbp
1800352ef:	44 8b f0             	mov    %eax,%r14d
1800352f2:	85 c0                	test   %eax,%eax
1800352f4:	74 62                	je     0x180035358
1800352f6:	f6 46 28 02          	testb  $0x2,0x28(%rsi)
1800352fa:	74 18                	je     0x180035314
1800352fc:	44 8b c0             	mov    %eax,%r8d
1800352ff:	48 8b d5             	mov    %rbp,%rdx
180035302:	49 8b cd             	mov    %r13,%rcx
180035305:	e8 7e fd ff ff       	call   0x180035088
18003530a:	85 c0                	test   %eax,%eax
18003530c:	78 06                	js     0x180035314
18003530e:	f6 46 28 02          	testb  $0x2,0x28(%rsi)
180035312:	75 1c                	jne    0x180035330
180035314:	45 33 c9             	xor    %r9d,%r9d
180035317:	45 8b c6             	mov    %r14d,%r8d
18003531a:	48 8b d5             	mov    %rbp,%rdx
18003531d:	49 8b cd             	mov    %r13,%rcx
180035320:	e8 77 00 00 00       	call   0x18003539c
180035325:	85 c0                	test   %eax,%eax
180035327:	78 55                	js     0x18003537e
180035329:	41 8b c6             	mov    %r14d,%eax
18003532c:	48 01 46 40          	add    %rax,0x40(%rsi)
180035330:	49 3b ef             	cmp    %r15,%rbp
180035333:	74 15                	je     0x18003534a
180035335:	8b 56 48             	mov    0x48(%rsi),%edx
180035338:	49 8b cf             	mov    %r15,%rcx
18003533b:	48 03 d5             	add    %rbp,%rdx
18003533e:	44 8b c3             	mov    %ebx,%r8d
180035341:	e8 7a 06 10 00       	call   0x1801359c0
180035346:	8b fb                	mov    %ebx,%edi
180035348:	eb 29                	jmp    0x180035373
18003534a:	8b 46 30             	mov    0x30(%rsi),%eax
18003534d:	41 0f af c6          	imul   %r14d,%eax
180035351:	03 f8                	add    %eax,%edi
180035353:	2b d8                	sub    %eax,%ebx
180035355:	48 03 e8             	add    %rax,%rbp
180035358:	85 db                	test   %ebx,%ebx
18003535a:	74 17                	je     0x180035373
18003535c:	45 33 c9             	xor    %r9d,%r9d
18003535f:	44 8b c3             	mov    %ebx,%r8d
180035362:	48 8b d5             	mov    %rbp,%rdx
180035365:	49 8b cd             	mov    %r13,%rcx
180035368:	e8 eb fb ff ff       	call   0x180034f58
18003536d:	85 c0                	test   %eax,%eax
18003536f:	78 0d                	js     0x18003537e
180035371:	03 fb                	add    %ebx,%edi
180035373:	33 c0                	xor    %eax,%eax
180035375:	4d 85 e4             	test   %r12,%r12
180035378:	74 04                	je     0x18003537e
18003537a:	41 89 3c 24          	mov    %edi,(%r12)
18003537e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180035383:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180035388:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18003538d:	48 83 c4 20          	add    $0x20,%rsp
180035391:	41 5f                	pop    %r15
180035393:	41 5e                	pop    %r14
180035395:	41 5d                	pop    %r13
180035397:	41 5c                	pop    %r12
180035399:	5f                   	pop    %rdi
18003539a:	c3                   	ret
18003539b:	cc                   	int3
18003539c:	40 53                	rex push %rbx
18003539e:	48 83 ec 30          	sub    $0x30,%rsp
1800353a2:	45 8b d8             	mov    %r8d,%r11d
1800353a5:	4c 8b 81 80 00 00 00 	mov    0x80(%rcx),%r8
1800353ac:	49 8b 58 40          	mov    0x40(%r8),%rbx
1800353b0:	49 8b 40 38          	mov    0x38(%r8),%rax
1800353b4:	48 ff c0             	inc    %rax
1800353b7:	4e 8d 14 1b          	lea    (%rbx,%r11,1),%r10
1800353bb:	49 3b c2             	cmp    %r10,%rax
1800353be:	73 07                	jae    0x1800353c7
1800353c0:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
1800353c5:	eb 28                	jmp    0x1800353ef
1800353c7:	41 8b 40 30          	mov    0x30(%r8),%eax
1800353cb:	4d 8b 00             	mov    (%r8),%r8
1800353ce:	4c 03 c3             	add    %rbx,%r8
1800353d1:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
1800353d6:	4c 0f af c0          	imul   %rax,%r8
1800353da:	41 0f af c3          	imul   %r11d,%eax
1800353de:	44 8b c8             	mov    %eax,%r9d
1800353e1:	e8 22 03 00 00       	call   0x180035708
1800353e6:	33 c9                	xor    %ecx,%ecx
1800353e8:	85 c0                	test   %eax,%eax
1800353ea:	0f 48 c8             	cmovs  %eax,%ecx
1800353ed:	8b c1                	mov    %ecx,%eax
1800353ef:	48 83 c4 30          	add    $0x30,%rsp
1800353f3:	5b                   	pop    %rbx
1800353f4:	c3                   	ret
1800353f5:	cc                   	int3
1800353f6:	cc                   	int3
1800353f7:	cc                   	int3
1800353f8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800353fd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180035402:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180035407:	57                   	push   %rdi
180035408:	41 54                	push   %r12
18003540a:	41 55                	push   %r13
18003540c:	41 56                	push   %r14
18003540e:	41 57                	push   %r15
180035410:	48 83 ec 20          	sub    $0x20,%rsp
180035414:	4c 8b b1 80 00 00 00 	mov    0x80(%rcx),%r14
18003541b:	48 8b f2             	mov    %rdx,%rsi
18003541e:	4d 8b e1             	mov    %r9,%r12
180035421:	41 8b d8             	mov    %r8d,%ebx
180035424:	4c 8b e9             	mov    %rcx,%r13
180035427:	33 ff                	xor    %edi,%edi
180035429:	41 8b 56 30          	mov    0x30(%r14),%edx
18003542d:	49 0f af 56 40       	imul   0x40(%r14),%rdx
180035432:	41 8b 46 48          	mov    0x48(%r14),%eax
180035436:	48 03 d0             	add    %rax,%rdx
180035439:	e8 d2 11 00 00       	call   0x180036610
18003543e:	41 39 7e 48          	cmp    %edi,0x48(%r14)
180035442:	74 2e                	je     0x180035472
180035444:	41 8b 46 30          	mov    0x30(%r14),%eax
180035448:	44 8d 4f 01          	lea    0x1(%rdi),%r9d
18003544c:	41 2b 46 48          	sub    0x48(%r14),%eax
180035450:	8b eb                	mov    %ebx,%ebp
180035452:	3b c3                	cmp    %ebx,%eax
180035454:	48 8b d6             	mov    %rsi,%rdx
180035457:	49 8b cd             	mov    %r13,%rcx
18003545a:	0f 42 e8             	cmovb  %eax,%ebp
18003545d:	44 8b c5             	mov    %ebp,%r8d
180035460:	e8 f3 fa ff ff       	call   0x180034f58
180035465:	85 c0                	test   %eax,%eax
180035467:	78 63                	js     0x1800354cc
180035469:	2b dd                	sub    %ebp,%ebx
18003546b:	8b c5                	mov    %ebp,%eax
18003546d:	48 03 f0             	add    %rax,%rsi
180035470:	8b fd                	mov    %ebp,%edi
180035472:	41 8b 6e 30          	mov    0x30(%r14),%ebp
180035476:	33 d2                	xor    %edx,%edx
180035478:	8b c3                	mov    %ebx,%eax
18003547a:	f7 f5                	div    %ebp
18003547c:	44 8b f8             	mov    %eax,%r15d
18003547f:	85 c0                	test   %eax,%eax
180035481:	74 29                	je     0x1800354ac
180035483:	41 b9 01 00 00 00    	mov    $0x1,%r9d
180035489:	41 0f af ef          	imul   %r15d,%ebp
18003548d:	45 8b c7             	mov    %r15d,%r8d
180035490:	48 8b d6             	mov    %rsi,%rdx
180035493:	49 8b cd             	mov    %r13,%rcx
180035496:	e8 01 ff ff ff       	call   0x18003539c
18003549b:	85 c0                	test   %eax,%eax
18003549d:	78 36                	js     0x1800354d5
18003549f:	4d 01 7e 40          	add    %r15,0x40(%r14)
1800354a3:	03 fd                	add    %ebp,%edi
1800354a5:	2b dd                	sub    %ebp,%ebx
1800354a7:	8b c5                	mov    %ebp,%eax
1800354a9:	48 03 f0             	add    %rax,%rsi
1800354ac:	85 db                	test   %ebx,%ebx
1800354ae:	74 1a                	je     0x1800354ca
1800354b0:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1800354b6:	44 8b c3             	mov    %ebx,%r8d
1800354b9:	48 8b d6             	mov    %rsi,%rdx
1800354bc:	49 8b cd             	mov    %r13,%rcx
1800354bf:	e8 94 fa ff ff       	call   0x180034f58
1800354c4:	85 c0                	test   %eax,%eax
1800354c6:	78 04                	js     0x1800354cc
1800354c8:	03 fb                	add    %ebx,%edi
1800354ca:	33 c0                	xor    %eax,%eax
1800354cc:	4d 85 e4             	test   %r12,%r12
1800354cf:	74 04                	je     0x1800354d5
1800354d1:	41 89 3c 24          	mov    %edi,(%r12)
1800354d5:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1800354da:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1800354df:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1800354e4:	48 83 c4 20          	add    $0x20,%rsp
1800354e8:	41 5f                	pop    %r15
1800354ea:	41 5e                	pop    %r14
1800354ec:	41 5d                	pop    %r13
1800354ee:	41 5c                	pop    %r12
1800354f0:	5f                   	pop    %rdi
1800354f1:	c3                   	ret
1800354f2:	cc                   	int3
1800354f3:	cc                   	int3
1800354f4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800354f9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800354fe:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180035503:	57                   	push   %rdi
180035504:	41 56                	push   %r14
180035506:	41 57                	push   %r15
180035508:	48 81 ec 40 01 00 00 	sub    $0x140,%rsp
18003550f:	48 8b 99 80 00 00 00 	mov    0x80(%rcx),%rbx
180035516:	45 8b f9             	mov    %r9d,%r15d
180035519:	41 8b e8             	mov    %r8d,%ebp
18003551c:	4c 8b f2             	mov    %rdx,%r14
18003551f:	8b 43 30             	mov    0x30(%rbx),%eax
180035522:	48 8b 33             	mov    (%rbx),%rsi
180035525:	48 03 73 40          	add    0x40(%rbx),%rsi
180035529:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
18003552d:	48 0f af f0          	imul   %rax,%rsi
180035531:	8b 43 48             	mov    0x48(%rbx),%eax
180035534:	48 03 f0             	add    %rax,%rsi
180035537:	48 85 ff             	test   %rdi,%rdi
18003553a:	75 0b                	jne    0x180035547
18003553c:	41 b8 10 00 00 c0    	mov    $0xc0000010,%r8d
180035542:	e9 a0 00 00 00       	jmp    0x1800355e7
180035547:	48 8b 47 58          	mov    0x58(%rdi),%rax
18003554b:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180035550:	48 8b cf             	mov    %rdi,%rcx
180035553:	ff d0                	call   *%rax
180035555:	0f 1f 00             	nopl   (%rax)
180035558:	44 8b c0             	mov    %eax,%r8d
18003555b:	85 c0                	test   %eax,%eax
18003555d:	0f 88 84 00 00 00    	js     0x1800355e7
180035563:	8b 4c 24 38          	mov    0x38(%rsp),%ecx
180035567:	33 d2                	xor    %edx,%edx
180035569:	48 8b c6             	mov    %rsi,%rax
18003556c:	48 f7 f1             	div    %rcx
18003556f:	48 8b cf             	mov    %rdi,%rcx
180035572:	89 54 24 50          	mov    %edx,0x50(%rsp)
180035576:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
18003557b:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
180035580:	48 8b 47 60          	mov    0x60(%rdi),%rax
180035584:	ff d0                	call   *%rax
180035586:	0f 1f 00             	nopl   (%rax)
180035589:	44 8b c0             	mov    %eax,%r8d
18003558c:	85 c0                	test   %eax,%eax
18003558e:	78 57                	js     0x1800355e7
180035590:	4c 8b 8c 24 80 01 00 	mov    0x180(%rsp),%r9
180035597:	00
180035598:	44 8b c5             	mov    %ebp,%r8d
18003559b:	49 8b d6             	mov    %r14,%rdx
18003559e:	48 8b cf             	mov    %rdi,%rcx
1800355a1:	45 85 ff             	test   %r15d,%r15d
1800355a4:	75 06                	jne    0x1800355ac
1800355a6:	48 8b 47 48          	mov    0x48(%rdi),%rax
1800355aa:	eb 04                	jmp    0x1800355b0
1800355ac:	48 8b 47 50          	mov    0x50(%rdi),%rax
1800355b0:	ff d0                	call   *%rax
1800355b2:	0f 1f 00             	nopl   (%rax)
1800355b5:	44 8b c0             	mov    %eax,%r8d
1800355b8:	85 c0                	test   %eax,%eax
1800355ba:	78 2b                	js     0x1800355e7
1800355bc:	33 d2                	xor    %edx,%edx
1800355be:	8b c5                	mov    %ebp,%eax
1800355c0:	f7 73 30             	divl   0x30(%rbx)
1800355c3:	01 53 48             	add    %edx,0x48(%rbx)
1800355c6:	8b c8                	mov    %eax,%ecx
1800355c8:	48 03 4b 40          	add    0x40(%rbx),%rcx
1800355cc:	8b 43 48             	mov    0x48(%rbx),%eax
1800355cf:	48 89 4b 40          	mov    %rcx,0x40(%rbx)
1800355d3:	3b 43 30             	cmp    0x30(%rbx),%eax
1800355d6:	72 0f                	jb     0x1800355e7
1800355d8:	48 ff c1             	inc    %rcx
1800355db:	33 d2                	xor    %edx,%edx
1800355dd:	f7 73 30             	divl   0x30(%rbx)
1800355e0:	48 89 4b 40          	mov    %rcx,0x40(%rbx)
1800355e4:	89 53 48             	mov    %edx,0x48(%rbx)
1800355e7:	4c 8d 9c 24 40 01 00 	lea    0x140(%rsp),%r11
1800355ee:	00
1800355ef:	41 8b c0             	mov    %r8d,%eax