1400400d0:	48 8b 46 20          	mov    0x20(%rsi),%rax
1400400d4:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400400d9:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400400de:	48 83 c4 30          	add    $0x30,%rsp
1400400e2:	41 5e                	pop    %r14
1400400e4:	5f                   	pop    %rdi
1400400e5:	5e                   	pop    %rsi
1400400e6:	c3                   	ret
1400400e7:	cc                   	int3
1400400e8:	cc                   	int3
1400400e9:	cc                   	int3
1400400ea:	cc                   	int3
1400400eb:	cc                   	int3
1400400ec:	cc                   	int3
1400400ed:	cc                   	int3
1400400ee:	cc                   	int3
1400400ef:	cc                   	int3
1400400f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400400f5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400400fa:	56                   	push   %rsi
1400400fb:	57                   	push   %rdi
1400400fc:	41 56                	push   %r14
1400400fe:	48 83 ec 30          	sub    $0x30,%rsp
140040102:	48 8b f1             	mov    %rcx,%rsi
140040105:	48 8b 41 10          	mov    0x10(%rcx),%rax
140040109:	48 39 41 08          	cmp    %rax,0x8(%rcx)
14004010d:	75 49                	jne    0x140040158
14004010f:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
140040114:	33 c0                	xor    %eax,%eax
140040116:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14004011b:	48 8b 1a             	mov    (%rdx),%rbx
14004011e:	33 d2                	xor    %edx,%edx
140040120:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140040125:	e8 96 62 ff ff       	call   0x1400363c0
14004012a:	90                   	nop
14004012b:	48 8b 0e             	mov    (%rsi),%rcx
14004012e:	0f b6 11             	movzbl (%rcx),%edx
140040131:	c6 01 05             	movb   $0x5,(%rcx)
140040134:	88 54 24 20          	mov    %dl,0x20(%rsp)
140040138:	48 8b 41 08          	mov    0x8(%rcx),%rax
14004013c:	48 89 59 08          	mov    %rbx,0x8(%rcx)
140040140:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140040145:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14004014a:	e8 71 62 ff ff       	call   0x1400363c0
14004014f:	90                   	nop
140040150:	48 8b 06             	mov    (%rsi),%rax
140040153:	e9 ac 00 00 00       	jmp    0x140040204
140040158:	48 8b 68 f8          	mov    -0x8(%rax),%rbp
14004015c:	80 7d 00 02          	cmpb   $0x2,0x0(%rbp)
140040160:	75 5c                	jne    0x1400401be
140040162:	48 8b 6d 08          	mov    0x8(%rbp),%rbp
140040166:	4c 8b 75 08          	mov    0x8(%rbp),%r14
14004016a:	4c 3b 75 10          	cmp    0x10(%rbp),%r14
14004016e:	74 2a                	je     0x14004019a
140040170:	41 c6 06 00          	movb   $0x0,(%r14)
140040174:	33 c0                	xor    %eax,%eax
140040176:	49 89 46 08          	mov    %rax,0x8(%r14)
14004017a:	48 8b 1a             	mov    (%rdx),%rbx
14004017d:	41 0f b6 16          	movzbl (%r14),%edx
140040181:	49 8d 4e 08          	lea    0x8(%r14),%rcx
140040185:	e8 36 62 ff ff       	call   0x1400363c0
14004018a:	90                   	nop
14004018b:	41 c6 06 05          	movb   $0x5,(%r14)
14004018f:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140040193:	48 83 45 08 10       	addq   $0x10,0x8(%rbp)
140040198:	eb 0e                	jmp    0x1400401a8
14004019a:	4c 8b c2             	mov    %rdx,%r8
14004019d:	49 8b d6             	mov    %r14,%rdx
1400401a0:	48 8b cd             	mov    %rbp,%rcx
1400401a3:	e8 68 33 00 00       	call   0x140043510
1400401a8:	48 8b 46 10          	mov    0x10(%rsi),%rax
1400401ac:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1400401b0:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400401b4:	48 8b 40 08          	mov    0x8(%rax),%rax
1400401b8:	48 83 e8 10          	sub    $0x10,%rax
1400401bc:	eb 46                	jmp    0x140040204
1400401be:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
1400401c3:	33 c0                	xor    %eax,%eax
1400401c5:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400401ca:	48 8b 1a             	mov    (%rdx),%rbx
1400401cd:	33 d2                	xor    %edx,%edx
1400401cf:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1400401d4:	e8 e7 61 ff ff       	call   0x1400363c0
1400401d9:	90                   	nop
1400401da:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
1400401de:	0f b6 11             	movzbl (%rcx),%edx
1400401e1:	c6 01 05             	movb   $0x5,(%rcx)
1400401e4:	88 54 24 20          	mov    %dl,0x20(%rsp)
1400401e8:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400401ec:	48 89 59 08          	mov    %rbx,0x8(%rcx)
1400401f0:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400401f5:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1400401fa:	e8 c1 61 ff ff       	call   0x1400363c0
1400401ff:	90                   	nop
140040200:	48 8b 46 20          	mov    0x20(%rsi),%rax
140040204:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140040209:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14004020e:	48 83 c4 30          	add    $0x30,%rsp
140040212:	41 5e                	pop    %r14
140040214:	5f                   	pop    %rdi
140040215:	5e                   	pop    %rsi
140040216:	c3                   	ret
140040217:	cc                   	int3
140040218:	cc                   	int3
140040219:	cc                   	int3
14004021a:	cc                   	int3
14004021b:	cc                   	int3
14004021c:	cc                   	int3
14004021d:	cc                   	int3
14004021e:	cc                   	int3
14004021f:	cc                   	int3
140040220:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140040225:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14004022a:	56                   	push   %rsi
14004022b:	57                   	push   %rdi
14004022c:	41 56                	push   %r14
14004022e:	48 83 ec 30          	sub    $0x30,%rsp
140040232:	48 8b f1             	mov    %rcx,%rsi
140040235:	48 8b 41 10          	mov    0x10(%rcx),%rax
140040239:	48 39 41 08          	cmp    %rax,0x8(%rcx)
14004023d:	75 53                	jne    0x140040292
14004023f:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
140040244:	33 c0                	xor    %eax,%eax
140040246:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14004024b:	0f b6 1a             	movzbl (%rdx),%ebx
14004024e:	33 d2                	xor    %edx,%edx
140040250:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140040255:	e8 66 61 ff ff       	call   0x1400363c0
14004025a:	88 5c 24 50          	mov    %bl,0x50(%rsp)
14004025e:	4c 8b 06             	mov    (%rsi),%r8
140040261:	41 0f b6 10          	movzbl (%r8),%edx
140040265:	41 c6 00 04          	movb   $0x4,(%r8)
140040269:	88 54 24 20          	mov    %dl,0x20(%rsp)
14004026d:	49 8b 40 08          	mov    0x8(%r8),%rax
140040271:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140040276:	49 89 48 08          	mov    %rcx,0x8(%r8)
14004027a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14004027f:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140040284:	e8 37 61 ff ff       	call   0x1400363c0
140040289:	90                   	nop
14004028a:	48 8b 06             	mov    (%rsi),%rax
14004028d:	e9 be 00 00 00       	jmp    0x140040350
140040292:	48 8b 68 f8          	mov    -0x8(%rax),%rbp
140040296:	80 7d 00 02          	cmpb   $0x2,0x0(%rbp)
14004029a:	75 64                	jne    0x140040300
14004029c:	48 8b 6d 08          	mov    0x8(%rbp),%rbp
1400402a0:	4c 8b 75 08          	mov    0x8(%rbp),%r14
1400402a4:	4c 3b 75 10          	cmp    0x10(%rbp),%r14
1400402a8:	74 32                	je     0x1400402dc
1400402aa:	41 c6 06 00          	movb   $0x0,(%r14)
1400402ae:	33 c0                	xor    %eax,%eax
1400402b0:	49 89 46 08          	mov    %rax,0x8(%r14)
1400402b4:	0f b6 1a             	movzbl (%rdx),%ebx
1400402b7:	41 0f b6 16          	movzbl (%r14),%edx
1400402bb:	49 8d 4e 08          	lea    0x8(%r14),%rcx
1400402bf:	e8 fc 60 ff ff       	call   0x1400363c0
1400402c4:	88 5c 24 50          	mov    %bl,0x50(%rsp)
1400402c8:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1400402cd:	49 89 46 08          	mov    %rax,0x8(%r14)
1400402d1:	41 c6 06 04          	movb   $0x4,(%r14)
1400402d5:	48 83 45 08 10       	addq   $0x10,0x8(%rbp)
1400402da:	eb 0e                	jmp    0x1400402ea
1400402dc:	4c 8b c2             	mov    %rdx,%r8
1400402df:	49 8b d6             	mov    %r14,%rdx
1400402e2:	48 8b cd             	mov    %rbp,%rcx
1400402e5:	e8 16 34 00 00       	call   0x140043700
1400402ea:	48 8b 46 10          	mov    0x10(%rsi),%rax
1400402ee:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1400402f2:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400402f6:	48 8b 40 08          	mov    0x8(%rax),%rax
1400402fa:	48 83 e8 10          	sub    $0x10,%rax
1400402fe:	eb 50                	jmp    0x140040350
140040300:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
140040305:	33 c0                	xor    %eax,%eax
140040307:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14004030c:	0f b6 1a             	movzbl (%rdx),%ebx
14004030f:	33 d2                	xor    %edx,%edx
140040311:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140040316:	e8 a5 60 ff ff       	call   0x1400363c0
14004031b:	88 5c 24 50          	mov    %bl,0x50(%rsp)
14004031f:	4c 8b 46 20          	mov    0x20(%rsi),%r8
140040323:	41 0f b6 10          	movzbl (%r8),%edx
140040327:	41 c6 00 04          	movb   $0x4,(%r8)
14004032b:	88 54 24 20          	mov    %dl,0x20(%rsp)
14004032f:	49 8b 40 08          	mov    0x8(%r8),%rax
140040333:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140040338:	49 89 48 08          	mov    %rcx,0x8(%r8)
14004033c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140040341:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140040346:	e8 75 60 ff ff       	call   0x1400363c0
14004034b:	90                   	nop
14004034c:	48 8b 46 20          	mov    0x20(%rsi),%rax
140040350:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140040355:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14004035a:	48 83 c4 30          	add    $0x30,%rsp
14004035e:	41 5e                	pop    %r14
140040360:	5f                   	pop    %rdi
140040361:	5e                   	pop    %rsi
140040362:	c3                   	ret
140040363:	cc                   	int3
140040364:	cc                   	int3
140040365:	cc                   	int3
140040366:	cc                   	int3
140040367:	cc                   	int3
140040368:	cc                   	int3
140040369:	cc                   	int3
14004036a:	cc                   	int3
14004036b:	cc                   	int3
14004036c:	cc                   	int3
14004036d:	cc                   	int3
14004036e:	cc                   	int3
14004036f:	cc                   	int3
140040370:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140040375:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14004037a:	55                   	push   %rbp
14004037b:	57                   	push   %rdi
14004037c:	41 56                	push   %r14
14004037e:	48 8b ec             	mov    %rsp,%rbp
140040381:	48 83 ec 50          	sub    $0x50,%rsp
140040385:	48 8b 05 b4 7c 03 00 	mov    0x37cb4(%rip),%rax        # 0x140078040
14004038c:	48 33 c4             	xor    %rsp,%rax
14004038f:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140040393:	4d 8b d0             	mov    %r8,%r10
140040396:	48 8b f2             	mov    %rdx,%rsi
140040399:	4c 8b f1             	mov    %rcx,%r14
14004039c:	4c 8b 49 20          	mov    0x20(%rcx),%r9
1400403a0:	48 8b 51 38          	mov    0x38(%rcx),%rdx
1400403a4:	48 85 d2             	test   %rdx,%rdx
1400403a7:	79 1f                	jns    0x1400403c8
1400403a9:	48 8b c2             	mov    %rdx,%rax
1400403ac:	48 f7 d8             	neg    %rax
1400403af:	74 17                	je     0x1400403c8
1400403b1:	48 8b c2             	mov    %rdx,%rax
1400403b4:	48 f7 d0             	not    %rax
1400403b7:	48 c1 e8 05          	shr    $0x5,%rax
1400403bb:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400403c2:	00
1400403c3:	4c 2b c8             	sub    %rax,%r9
1400403c6:	eb 0b                	jmp    0x1400403d3
1400403c8:	48 8b c2             	mov    %rdx,%rax
1400403cb:	48 c1 e8 05          	shr    $0x5,%rax
1400403cf:	4d 8d 0c 81          	lea    (%r9,%rax,4),%r9
1400403d3:	83 e2 1f             	and    $0x1f,%edx
1400403d6:	4c 8d 42 ff          	lea    -0x1(%rdx),%r8
1400403da:	48 83 fa 01          	cmp    $0x1,%rdx
1400403de:	73 17                	jae    0x1400403f7
1400403e0:	49 8b c0             	mov    %r8,%rax
1400403e3:	48 f7 d0             	not    %rax
1400403e6:	48 c1 e8 05          	shr    $0x5,%rax
1400403ea:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400403f1:	00
1400403f2:	4c 2b c8             	sub    %rax,%r9
1400403f5:	eb 0b                	jmp    0x140040402
1400403f7:	49 8b c8             	mov    %r8,%rcx
1400403fa:	48 c1 e9 05          	shr    $0x5,%rcx
1400403fe:	4d 8d 0c 89          	lea    (%r9,%rcx,4),%r9
140040402:	41 0f b6 c8          	movzbl %r8b,%ecx
140040406:	80 e1 1f             	and    $0x1f,%cl
140040409:	0f b6 d1             	movzbl %cl,%edx
14004040c:	41 8b 09             	mov    (%r9),%ecx
14004040f:	0f a3 d1             	bt     %edx,%ecx
140040412:	72 10                	jb     0x140040424
140040414:	c6 06 00             	movb   $0x0,(%rsi)
140040417:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14004041e:	00
14004041f:	e9 df 01 00 00       	jmp    0x140040603
140040424:	41 0f b6 12          	movzbl (%r10),%edx
140040428:	88 55 e0             	mov    %dl,-0x20(%rbp)
14004042b:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
14004042f:	e8 7c 69 ff ff       	call   0x140036db0
140040434:	90                   	nop
140040435:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140040439:	49 39 4e 08          	cmp    %rcx,0x8(%r14)
14004043d:	75 52                	jne    0x140040491
14004043f:	0f b6 45 e0          	movzbl -0x20(%rbp),%eax
140040443:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
140040447:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
14004044b:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
140040452:	00
140040453:	49 8b 0e             	mov    (%r14),%rcx
140040456:	0f b6 11             	movzbl (%rcx),%edx
140040459:	88 01                	mov    %al,(%rcx)
14004045b:	88 55 d0             	mov    %dl,-0x30(%rbp)
14004045e:	48 8b 41 08          	mov    0x8(%rcx),%rax
140040462:	4c 89 41 08          	mov    %r8,0x8(%rcx)
140040466:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14004046a:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
14004046e:	e8 4d 5f ff ff       	call   0x1400363c0
140040473:	90                   	nop
140040474:	49 8b 06             	mov    (%r14),%rax
140040477:	c6 06 01             	movb   $0x1,(%rsi)
14004047a:	48 89 46 08          	mov    %rax,0x8(%rsi)
14004047e:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
140040482:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140040486:	e8 35 5f ff ff       	call   0x1400363c0
14004048b:	90                   	nop
14004048c:	e9 72 01 00 00       	jmp    0x140040603
140040491:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140040495:	48 85 c9             	test   %rcx,%rcx
140040498:	75 19                	jne    0x1400404b3
14004049a:	88 0e                	mov    %cl,(%rsi)
14004049c:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400404a0:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
1400404a4:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
1400404a8:	e8 13 5f ff ff       	call   0x1400363c0
1400404ad:	90                   	nop
1400404ae:	e9 50 01 00 00       	jmp    0x140040603
1400404b3:	80 39 02             	cmpb   $0x2,(%rcx)
1400404b6:	75 66                	jne    0x14004051e
1400404b8:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400404bc:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400404c0:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
1400404c4:	74 21                	je     0x1400404e7
1400404c6:	0f b6 45 e0          	movzbl -0x20(%rbp),%eax
1400404ca:	88 02                	mov    %al,(%rdx)
1400404cc:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
1400404d0:	48 89 42 08          	mov    %rax,0x8(%rdx)
1400404d4:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
1400404d8:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
1400404df:	00
1400404e0:	48 83 41 08 10       	addq   $0x10,0x8(%rcx)
1400404e5:	eb 09                	jmp    0x1400404f0
1400404e7:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1400404eb:	e8 70 b9 ff ff       	call   0x14003be60
1400404f0:	49 8b 46 10          	mov    0x10(%r14),%rax
1400404f4:	48 8b 40 f8          	mov    -0x8(%rax),%rax
1400404f8:	48 8b 48 08          	mov    0x8(%rax),%rcx
1400404fc:	48 8b 41 08          	mov    0x8(%rcx),%rax
140040500:	48 83 e8 10          	sub    $0x10,%rax
140040504:	c6 06 01             	movb   $0x1,(%rsi)
140040507:	48 89 46 08          	mov    %rax,0x8(%rsi)
14004050b:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
14004050f:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140040513:	e8 a8 5e ff ff       	call   0x1400363c0
140040518:	90                   	nop
140040519:	e9 e5 00 00 00       	jmp    0x140040603
14004051e:	49 8b 5e 40          	mov    0x40(%r14),%rbx
140040522:	49 8b 4e 58          	mov    0x58(%r14),%rcx
140040526:	48 85 c9             	test   %rcx,%rcx
140040529:	79 1f                	jns    0x14004054a
14004052b:	48 8b c1             	mov    %rcx,%rax
14004052e:	48 f7 d8             	neg    %rax
140040531:	74 17                	je     0x14004054a
140040533:	48 8b c1             	mov    %rcx,%rax
140040536:	48 f7 d0             	not    %rax
140040539:	48 c1 e8 05          	shr    $0x5,%rax
14004053d:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140040544:	00
140040545:	48 2b d8             	sub    %rax,%rbx
140040548:	eb 0b                	jmp    0x140040555