140077fd4:	c1 e1 05             	shl    $0x5,%ecx
140077fd7:	03 c8                	add    %eax,%ecx
140077fd9:	8b c1                	mov    %ecx,%eax
140077fdb:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140077fe1:	2b c2                	sub    %edx,%eax
140077fe3:	41 bc 20 00 00 00    	mov    $0x20,%r12d
140077fe9:	3b d1                	cmp    %ecx,%edx
140077feb:	1b db                	sbb    %ebx,%ebx
140077fed:	23 d8                	and    %eax,%ebx
140077fef:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
140077ff3:	0f 86 50 01 00 00    	jbe    0x140078149
140077ff9:	41 8b c4             	mov    %r12d,%eax
140077ffc:	44 89 5c 24 40       	mov    %r11d,0x40(%rsp)
140078001:	8b f3                	mov    %ebx,%esi
140078003:	41 8d 7c 24 e1       	lea    -0x1f(%r12),%edi
140078008:	83 e6 1f             	and    $0x1f,%esi
14007800b:	44 8b c3             	mov    %ebx,%r8d
14007800e:	2b c6                	sub    %esi,%eax
140078010:	41 c1 e8 05          	shr    $0x5,%r8d
140078014:	8b c8                	mov    %eax,%ecx
140078016:	89 44 24 48          	mov    %eax,0x48(%rsp)
14007801a:	48 d3 e7             	shl    %cl,%rdi
14007801d:	ff cf                	dec    %edi
14007801f:	8b c7                	mov    %edi,%eax
140078021:	f7 d0                	not    %eax
140078023:	89 44 24 38          	mov    %eax,0x38(%rsp)
140078027:	41 8d 47 ff          	lea    -0x1(%r15),%eax
14007802b:	0f bd 8c 85 64 01 00 	bsr    0x164(%rbp,%rax,4),%ecx
140078032:	00
140078033:	74 04                	je     0x140078039
140078035:	ff c1                	inc    %ecx
140078037:	eb 03                	jmp    0x14007803c
140078039:	41 8b cb             	mov    %r11d,%ecx
14007803c:	43 8d 04 38          	lea    (%r8,%r15,1),%eax
140078040:	83 f8 73             	cmp    $0x73,%eax
140078043:	76 32                	jbe    0x140078077
140078045:	45 33 c9             	xor    %r9d,%r9d
140078048:	44 89 5d 90          	mov    %r11d,-0x70(%rbp)
14007804c:	4c 8d 45 94          	lea    -0x6c(%rbp),%r8
140078050:	44 89 9d 60 01 00 00 	mov    %r11d,0x160(%rbp)
140078057:	ba cc 01 00 00       	mov    $0x1cc,%edx
14007805c:	48 8d 8d 64 01 00 00 	lea    0x164(%rbp),%rcx
140078063:	e8 b0 d8 ff ff       	call   0x140075918
140078068:	44 8b bd 60 01 00 00 	mov    0x160(%rbp),%r15d
14007806f:	45 33 db             	xor    %r11d,%r11d
140078072:	e9 cc 00 00 00       	jmp    0x140078143
140078077:	41 8b d3             	mov    %r11d,%edx
14007807a:	41 8b c4             	mov    %r12d,%eax
14007807d:	2b c1                	sub    %ecx,%eax
14007807f:	3b f0                	cmp    %eax,%esi
140078081:	0f 97 c2             	seta   %dl
140078084:	41 03 d0             	add    %r8d,%edx
140078087:	41 03 d7             	add    %r15d,%edx
14007808a:	89 54 24 40          	mov    %edx,0x40(%rsp)
14007808e:	83 fa 73             	cmp    $0x73,%edx
140078091:	77 b2                	ja     0x140078045
140078093:	41 8d 40 ff          	lea    -0x1(%r8),%eax
140078097:	44 8d 5a ff          	lea    -0x1(%rdx),%r11d
14007809b:	44 3b d8             	cmp    %eax,%r11d
14007809e:	74 7e                	je     0x14007811e
1400780a0:	8b 5c 24 48          	mov    0x48(%rsp),%ebx
1400780a4:	45 8d 60 ff          	lea    -0x1(%r8),%r12d
1400780a8:	8b 54 24 38          	mov    0x38(%rsp),%edx
1400780ac:	41 bd ff ff ff ff    	mov    $0xffffffff,%r13d
1400780b2:	41 8b c3             	mov    %r11d,%eax
1400780b5:	41 2b c0             	sub    %r8d,%eax
1400780b8:	8d 48 ff             	lea    -0x1(%rax),%ecx
1400780bb:	41 3b c7             	cmp    %r15d,%eax
1400780be:	73 0a                	jae    0x1400780ca
1400780c0:	44 8b 94 85 64 01 00 	mov    0x164(%rbp,%rax,4),%r10d
1400780c7:	00
1400780c8:	eb 03                	jmp    0x1400780cd
1400780ca:	45 33 d2             	xor    %r10d,%r10d
1400780cd:	41 3b cf             	cmp    %r15d,%ecx
1400780d0:	73 0a                	jae    0x1400780dc
1400780d2:	44 8b 8c 8d 64 01 00 	mov    0x164(%rbp,%rcx,4),%r9d
1400780d9:	00
1400780da:	eb 03                	jmp    0x1400780df
1400780dc:	45 33 c9             	xor    %r9d,%r9d
1400780df:	44 23 ca             	and    %edx,%r9d
1400780e2:	8b cb                	mov    %ebx,%ecx
1400780e4:	41 d3 e9             	shr    %cl,%r9d
1400780e7:	44 23 d7             	and    %edi,%r10d
1400780ea:	8b ce                	mov    %esi,%ecx
1400780ec:	41 d3 e2             	shl    %cl,%r10d
1400780ef:	45 0b ca             	or     %r10d,%r9d
1400780f2:	46 89 8c 9d 64 01 00 	mov    %r9d,0x164(%rbp,%r11,4)
1400780f9:	00
1400780fa:	45 03 dd             	add    %r13d,%r11d
1400780fd:	45 3b dc             	cmp    %r12d,%r11d
140078100:	74 09                	je     0x14007810b
140078102:	44 8b bd 60 01 00 00 	mov    0x160(%rbp),%r15d
140078109:	eb a7                	jmp    0x1400780b2
14007810b:	44 8b 6c 24 30       	mov    0x30(%rsp),%r13d
140078110:	41 bc 20 00 00 00    	mov    $0x20,%r12d
140078116:	8b 5c 24 34          	mov    0x34(%rsp),%ebx
14007811a:	8b 54 24 40          	mov    0x40(%rsp),%edx
14007811e:	45 33 db             	xor    %r11d,%r11d
140078121:	41 8b cb             	mov    %r11d,%ecx
140078124:	45 85 c0             	test   %r8d,%r8d
140078127:	74 11                	je     0x14007813a
140078129:	8b c1                	mov    %ecx,%eax
14007812b:	ff c1                	inc    %ecx
14007812d:	44 89 9c 85 64 01 00 	mov    %r11d,0x164(%rbp,%rax,4)
140078134:	00
140078135:	41 3b c8             	cmp    %r8d,%ecx
140078138:	75 ef                	jne    0x140078129
14007813a:	44 8b fa             	mov    %edx,%r15d
14007813d:	89 95 60 01 00 00    	mov    %edx,0x160(%rbp)
140078143:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140078149:	8b 44 24 50          	mov    0x50(%rsp),%eax
14007814d:	8b 7c 24 3c          	mov    0x3c(%rsp),%edi
140078151:	2b c7                	sub    %edi,%eax
140078153:	89 44 24 50          	mov    %eax,0x50(%rsp)
140078157:	44 8b d0             	mov    %eax,%r10d
14007815a:	85 ff                	test   %edi,%edi
14007815c:	74 1b                	je     0x140078179
14007815e:	3b d8                	cmp    %eax,%ebx
140078160:	76 14                	jbe    0x140078176
140078162:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
140078167:	41 b1 01             	mov    $0x1,%r9b
14007816a:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14007816f:	8b d7                	mov    %edi,%edx
140078171:	e9 46 02 00 00       	jmp    0x1400783bc
140078176:	44 2b d3             	sub    %ebx,%r10d
140078179:	45 3b fd             	cmp    %r13d,%r15d
14007817c:	77 24                	ja     0x1400781a2
14007817e:	73 04                	jae    0x140078184
140078180:	b1 01                	mov    $0x1,%cl
140078182:	eb 21                	jmp    0x1400781a5
140078184:	41 8d 57 ff          	lea    -0x1(%r15),%edx
140078188:	eb 13                	jmp    0x14007819d
14007818a:	8b 84 95 04 05 00 00 	mov    0x504(%rbp,%rdx,4),%eax
140078191:	39 84 95 64 01 00 00 	cmp    %eax,0x164(%rbp,%rdx,4)
140078198:	75 54                	jne    0x1400781ee
14007819a:	41 03 d0             	add    %r8d,%edx
14007819d:	41 3b d0             	cmp    %r8d,%edx
1400781a0:	75 e8                	jne    0x14007818a
1400781a2:	41 8a cb             	mov    %r11b,%cl
1400781a5:	84 c9                	test   %cl,%cl
1400781a7:	44 89 5c 24 38       	mov    %r11d,0x38(%rsp)
1400781ac:	8d 43 01             	lea    0x1(%rbx),%eax
1400781af:	45 8b ca             	mov    %r10d,%r9d
1400781b2:	0f 45 d8             	cmovne %eax,%ebx
1400781b5:	45 8b ec             	mov    %r12d,%r13d
1400781b8:	41 83 e2 1f          	and    $0x1f,%r10d
1400781bc:	41 c1 e9 05          	shr    $0x5,%r9d
1400781c0:	45 2b ea             	sub    %r10d,%r13d
1400781c3:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
1400781c7:	41 8b cd             	mov    %r13d,%ecx
1400781ca:	be 01 00 00 00       	mov    $0x1,%esi
1400781cf:	48 d3 e6             	shl    %cl,%rsi
1400781d2:	ff ce                	dec    %esi
1400781d4:	8b c6                	mov    %esi,%eax
1400781d6:	f7 d0                	not    %eax
1400781d8:	89 44 24 48          	mov    %eax,0x48(%rsp)
1400781dc:	41 8d 47 ff          	lea    -0x1(%r15),%eax
1400781e0:	0f bd 8c 85 64 01 00 	bsr    0x164(%rbp,%rax,4),%ecx
1400781e7:	00
1400781e8:	74 09                	je     0x1400781f3
1400781ea:	ff c1                	inc    %ecx
1400781ec:	eb 08                	jmp    0x1400781f6
1400781ee:	0f 96 c1             	setbe  %cl
1400781f1:	eb b2                	jmp    0x1400781a5
1400781f3:	41 8b cb             	mov    %r11d,%ecx
1400781f6:	43 8d 04 39          	lea    (%r9,%r15,1),%eax
1400781fa:	83 f8 73             	cmp    $0x73,%eax
1400781fd:	76 28                	jbe    0x140078227
1400781ff:	45 33 c9             	xor    %r9d,%r9d
140078202:	44 89 5d 90          	mov    %r11d,-0x70(%rbp)
140078206:	4c 8d 45 94          	lea    -0x6c(%rbp),%r8
14007820a:	44 89 9d 60 01 00 00 	mov    %r11d,0x160(%rbp)
140078211:	ba cc 01 00 00       	mov    $0x1cc,%edx
140078216:	48 8d 8d 64 01 00 00 	lea    0x164(%rbp),%rcx
14007821d:	e8 f6 d6 ff ff       	call   0x140075918
140078222:	e9 b0 00 00 00       	jmp    0x1400782d7
140078227:	44 2b e1             	sub    %ecx,%r12d
14007822a:	41 8b d3             	mov    %r11d,%edx
14007822d:	45 3b d4             	cmp    %r12d,%r10d
140078230:	0f 97 c2             	seta   %dl
140078233:	41 03 d1             	add    %r9d,%edx
140078236:	41 03 d7             	add    %r15d,%edx
140078239:	89 54 24 38          	mov    %edx,0x38(%rsp)
14007823d:	83 fa 73             	cmp    $0x73,%edx
140078240:	77 bd                	ja     0x1400781ff
140078242:	45 8d 61 ff          	lea    -0x1(%r9),%r12d
140078246:	44 8d 5a ff          	lea    -0x1(%rdx),%r11d
14007824a:	45 3b dc             	cmp    %r12d,%r11d
14007824d:	74 6c                	je     0x1400782bb
14007824f:	8b 5c 24 48          	mov    0x48(%rsp),%ebx
140078253:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140078258:	41 8b c3             	mov    %r11d,%eax
14007825b:	41 2b c1             	sub    %r9d,%eax
14007825e:	8d 48 ff             	lea    -0x1(%rax),%ecx
140078261:	41 3b c7             	cmp    %r15d,%eax
140078264:	73 09                	jae    0x14007826f
140078266:	8b bc 85 64 01 00 00 	mov    0x164(%rbp,%rax,4),%edi
14007826d:	eb 02                	jmp    0x140078271
14007826f:	33 ff                	xor    %edi,%edi
140078271:	41 3b cf             	cmp    %r15d,%ecx
140078274:	73 0a                	jae    0x140078280
140078276:	44 8b 84 8d 64 01 00 	mov    0x164(%rbp,%rcx,4),%r8d
14007827d:	00
14007827e:	eb 03                	jmp    0x140078283
140078280:	45 33 c0             	xor    %r8d,%r8d
140078283:	44 23 c3             	and    %ebx,%r8d
140078286:	41 8b cd             	mov    %r13d,%ecx
140078289:	41 d3 e8             	shr    %cl,%r8d
14007828c:	23 fe                	and    %esi,%edi
14007828e:	41 8b ca             	mov    %r10d,%ecx
140078291:	d3 e7                	shl    %cl,%edi
140078293:	44 0b c7             	or     %edi,%r8d
140078296:	46 89 84 9d 64 01 00 	mov    %r8d,0x164(%rbp,%r11,4)
14007829d:	00
14007829e:	44 03 da             	add    %edx,%r11d
1400782a1:	45 3b dc             	cmp    %r12d,%r11d
1400782a4:	74 09                	je     0x1400782af
1400782a6:	44 8b bd 60 01 00 00 	mov    0x160(%rbp),%r15d
1400782ad:	eb a9                	jmp    0x140078258
1400782af:	8b 54 24 38          	mov    0x38(%rsp),%edx
1400782b3:	8b 5c 24 34          	mov    0x34(%rsp),%ebx
1400782b7:	8b 7c 24 3c          	mov    0x3c(%rsp),%edi
1400782bb:	33 c9                	xor    %ecx,%ecx
1400782bd:	45 85 c9             	test   %r9d,%r9d
1400782c0:	74 0f                	je     0x1400782d1
1400782c2:	83 a4 8d 64 01 00 00 	andl   $0x0,0x164(%rbp,%rcx,4)
1400782c9:	00
1400782ca:	ff c1                	inc    %ecx
1400782cc:	41 3b c9             	cmp    %r9d,%ecx
1400782cf:	75 f1                	jne    0x1400782c2
1400782d1:	89 95 60 01 00 00    	mov    %edx,0x160(%rbp)
1400782d7:	48 8d 95 00 05 00 00 	lea    0x500(%rbp),%rdx
1400782de:	48 8d 8d 60 01 00 00 	lea    0x160(%rbp),%rcx
1400782e5:	e8 76 d8 ff ff       	call   0x140075b60
1400782ea:	83 bd 60 01 00 00 00 	cmpl   $0x0,0x160(%rbp)
1400782f1:	48 8b d0             	mov    %rax,%rdx
1400782f4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1400782f9:	41 0f 94 c1          	sete   %r9b
1400782fd:	48 3b d0             	cmp    %rax,%rdx
140078300:	76 17                	jbe    0x140078319
140078302:	48 8b ca             	mov    %rdx,%rcx
140078305:	48 c1 e9 20          	shr    $0x20,%rcx
140078309:	0f bd c9             	bsr    %ecx,%ecx
14007830c:	74 04                	je     0x140078312
14007830e:	ff c1                	inc    %ecx
140078310:	eb 02                	jmp    0x140078314
140078312:	33 c9                	xor    %ecx,%ecx
140078314:	83 c1 20             	add    $0x20,%ecx
140078317:	eb 0b                	jmp    0x140078324
140078319:	0f bd ca             	bsr    %edx,%ecx
14007831c:	74 04                	je     0x140078322
14007831e:	ff c1                	inc    %ecx
140078320:	eb 02                	jmp    0x140078324
140078322:	33 c9                	xor    %ecx,%ecx
140078324:	8b 74 24 50          	mov    0x50(%rsp),%esi
140078328:	3b ce                	cmp    %esi,%ecx
14007832a:	76 22                	jbe    0x14007834e
14007832c:	2b ce                	sub    %esi,%ecx
14007832e:	45 84 c9             	test   %r9b,%r9b
140078331:	74 15                	je     0x140078348
140078333:	b8 01 00 00 00       	mov    $0x1,%eax
140078338:	48 d3 e0             	shl    %cl,%rax
14007833b:	48 ff c8             	dec    %rax
14007833e:	48 85 c2             	test   %rax,%rdx
140078341:	75 05                	jne    0x140078348
140078343:	41 b1 01             	mov    $0x1,%r9b
140078346:	eb 03                	jmp    0x14007834b
140078348:	45 32 c9             	xor    %r9b,%r9b
14007834b:	48 d3 ea             	shr    %cl,%rdx
14007834e:	45 33 db             	xor    %r11d,%r11d
140078351:	8d 47 fe             	lea    -0x2(%rdi),%eax
140078354:	45 85 f6             	test   %r14d,%r14d
140078357:	8b ce                	mov    %esi,%ecx
140078359:	f7 d3                	not    %ebx
14007835b:	44 0f 45 9d 34 03 00 	cmovne 0x334(%rbp),%r11d
140078362:	00
140078363:	45 33 c0             	xor    %r8d,%r8d
140078366:	41 83 fe 01          	cmp    $0x1,%r14d
14007836a:	44 0f 47 85 38 03 00 	cmova  0x338(%rbp),%r8d
140078371:	00
140078372:	85 ff                	test   %edi,%edi
140078374:	45 8b d0             	mov    %r8d,%r10d
140078377:	0f 45 d8             	cmovne %eax,%ebx
14007837a:	49 c1 e2 20          	shl    $0x20,%r10
14007837e:	41 8b c3             	mov    %r11d,%eax
140078381:	4c 03 d0             	add    %rax,%r10
140078384:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140078389:	49 d3 e2             	shl    %cl,%r10
14007838c:	44 8a 80 08 03 00 00 	mov    0x308(%rax),%r8b
140078393:	4a 8d 0c 12          	lea    (%rdx,%r10,1),%rcx
140078397:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
14007839c:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1400783a1:	8b d3                	mov    %ebx,%edx
1400783a3:	e8 cc dc ff ff       	call   0x140076074
1400783a8:	eb 2a                	jmp    0x1400783d4
1400783aa:	85 c0                	test   %eax,%eax
1400783ac:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
1400783b1:	41 0f 95 c1          	setne  %r9b
1400783b5:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1400783ba:	8b d1                	mov    %ecx,%edx
1400783bc:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1400783c1:	48 8d 8d 30 03 00 00 	lea    0x330(%rbp),%rcx
1400783c8:	44 8a 80 08 03 00 00 	mov    0x308(%rax),%r8b
1400783cf:	e8 4c e0 ff ff       	call   0x140076420
1400783d4:	48 8b 8d 70 0a 00 00 	mov    0xa70(%rbp),%rcx
1400783db:	48 33 cc             	xor    %rsp,%rcx
1400783de:	e8 ed 6e ff ff       	call   0x14006f2d0
1400783e3:	48 8b 9c 24 d0 0b 00 	mov    0xbd0(%rsp),%rbx
1400783ea:	00
1400783eb:	48 81 c4 80 0b 00 00 	add    $0xb80,%rsp
1400783f2:	41 5f                	pop    %r15
1400783f4:	41 5e                	pop    %r14
1400783f6:	41 5d                	pop    %r13
1400783f8:	41 5c                	pop    %r12
1400783fa:	5f                   	pop    %rdi
1400783fb:	5e                   	pop    %rsi
1400783fc:	5d                   	pop    %rbp
1400783fd:	c3                   	ret
1400783fe:	cc                   	int3
1400783ff:	cc                   	int3
140078400:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140078405:	57                   	push   %rdi
140078406:	48 83 ec 30          	sub    $0x30,%rsp
14007840a:	44 8a 4a 08          	mov    0x8(%rdx),%r9b
14007840e:	48 8b d9             	mov    %rcx,%rbx
140078411:	41 8a c1             	mov    %r9b,%al
140078414:	33 c9                	xor    %ecx,%ecx
140078416:	f6 d8                	neg    %al
140078418:	48 8b fa             	mov    %rdx,%rdi
14007841b:	8b 43 04             	mov    0x4(%rbx),%eax
14007841e:	4c 8d 5b 08          	lea    0x8(%rbx),%r11
140078422:	45 1b d2             	sbb    %r10d,%r10d
140078425:	4c 8d 43 08          	lea    0x8(%rbx),%r8
140078429:	41 83 e2 1d          	and    $0x1d,%r10d
14007842d:	4c 03 d8             	add    %rax,%r11
140078430:	41 83 c2 17          	add    $0x17,%r10d
140078434:	44 03 13             	add    (%rbx),%r10d
140078437:	4d 3b c3             	cmp    %r11,%r8
14007843a:	74 36                	je     0x140078472
14007843c:	41 f6 d9             	neg    %r9b
14007843f:	48 b8 00 00 00 ff ff 	movabs $0x1fffffff000000,%rax
140078446:	ff 1f 00
140078449:	48 1b d2             	sbb    %rdx,%rdx
14007844c:	48 23 d0             	and    %rax,%rdx
14007844f:	48 81 c2 ff ff ff 00 	add    $0xffffff,%rdx
140078456:	48 3b ca             	cmp    %rdx,%rcx
140078459:	77 17                	ja     0x140078472
14007845b:	41 0f b6 00          	movzbl (%r8),%eax
14007845f:	41 83 ea 04          	sub    $0x4,%r10d
140078463:	48 c1 e1 04          	shl    $0x4,%rcx