1400a4fdf:	4c 89 5c 24 20       	mov    %r11,0x20(%rsp)
1400a4fe4:	4c 8d 44 24 57       	lea    0x57(%rsp),%r8
1400a4fe9:	ff 15 19 1d 05 00    	call   *0x51d19(%rip)        # 0x1400f6d08
1400a4fef:	8d 48 ff             	lea    -0x1(%rax),%ecx
1400a4ff2:	83 f9 02             	cmp    $0x2,%ecx
1400a4ff5:	72 3a                	jb     0x1400a5031
1400a4ff7:	83 f8 03             	cmp    $0x3,%eax
1400a4ffa:	75 10                	jne    0x1400a500c
1400a4ffc:	48 8d 44 24 61       	lea    0x61(%rsp),%rax
1400a5001:	8a 4f 5c             	mov    0x5c(%rdi),%cl
1400a5004:	88 48 ff             	mov    %cl,-0x1(%rax)
1400a5007:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1400a500c:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1400a5011:	48 39 d8             	cmp    %rbx,%rax
1400a5014:	76 4a                	jbe    0x1400a5060
1400a5016:	48 8b 57 40          	mov    0x40(%rdi),%rdx
1400a501a:	48 8d 48 ff          	lea    -0x1(%rax),%rcx
1400a501e:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
1400a5023:	0f be 48 ff          	movsbl -0x1(%rax),%ecx
1400a5027:	e8 18 29 fe ff       	call   0x140087944
1400a502c:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a502f:	75 db                	jne    0x1400a500c
1400a5031:	be ff ff ff ff       	mov    $0xffffffff,%esi
1400a5036:	eb 2f                	jmp    0x1400a5067
1400a5038:	be ff ff ff ff       	mov    $0xffffffff,%esi
1400a503d:	80 7f 60 00          	cmpb   $0x0,0x60(%rdi)
1400a5041:	75 24                	jne    0x1400a5067
1400a5043:	8b 77 5c             	mov    0x5c(%rdi),%esi
1400a5046:	83 fe ff             	cmp    $0xffffffff,%esi
1400a5049:	0f 95 47 60          	setne  0x60(%rdi)
1400a504d:	eb 18                	jmp    0x1400a5067
1400a504f:	8b 4f 5c             	mov    0x5c(%rdi),%ecx
1400a5052:	48 8b 57 40          	mov    0x40(%rdi),%rdx
1400a5056:	e8 e9 28 fe ff       	call   0x140087944
1400a505b:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a505e:	74 d1                	je     0x1400a5031
1400a5060:	89 77 5c             	mov    %esi,0x5c(%rdi)
1400a5063:	c6 47 60 01          	movb   $0x1,0x60(%rdi)
1400a5067:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
1400a506c:	48 31 e1             	xor    %rsp,%rcx
1400a506f:	48 3b 0d ca bf 05 00 	cmp    0x5bfca(%rip),%rcx        # 0x140101040
1400a5076:	74 06                	je     0x1400a507e
1400a5078:	e8 53 a2 fc ff       	call   0x14006f2d0
1400a507d:	cc                   	int3
1400a507e:	89 f0                	mov    %esi,%eax
1400a5080:	48 83 c4 70          	add    $0x70,%rsp
1400a5084:	5b                   	pop    %rbx
1400a5085:	5f                   	pop    %rdi
1400a5086:	5e                   	pop    %rsi
1400a5087:	c3                   	ret
1400a5088:	cc                   	int3
1400a5089:	cc                   	int3
1400a508a:	cc                   	int3
1400a508b:	cc                   	int3
1400a508c:	cc                   	int3
1400a508d:	cc                   	int3
1400a508e:	cc                   	int3
1400a508f:	cc                   	int3
1400a5090:	41 57                	push   %r15
1400a5092:	41 56                	push   %r14
1400a5094:	41 55                	push   %r13
1400a5096:	41 54                	push   %r12
1400a5098:	56                   	push   %rsi
1400a5099:	57                   	push   %rdi
1400a509a:	55                   	push   %rbp
1400a509b:	53                   	push   %rbx
1400a509c:	48 83 ec 68          	sub    $0x68,%rsp
1400a50a0:	89 d3                	mov    %edx,%ebx
1400a50a2:	48 89 ce             	mov    %rcx,%rsi
1400a50a5:	48 8b 05 94 bf 05 00 	mov    0x5bf94(%rip),%rax        # 0x140101040
1400a50ac:	48 31 e0             	xor    %rsp,%rax
1400a50af:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1400a50b4:	80 79 60 01          	cmpb   $0x1,0x60(%rcx)
1400a50b8:	74 3d                	je     0x1400a50f7
1400a50ba:	80 7e 61 01          	cmpb   $0x1,0x61(%rsi)
1400a50be:	75 73                	jne    0x1400a5133
1400a50c0:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1400a50c4:	e8 57 13 fe ff       	call   0x140086420
1400a50c9:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a50cc:	74 22                	je     0x1400a50f0
1400a50ce:	84 db                	test   %bl,%bl
1400a50d0:	75 16                	jne    0x1400a50e8
1400a50d2:	48 8b 56 40          	mov    0x40(%rsi),%rdx
1400a50d6:	0f b6 f8             	movzbl %al,%edi
1400a50d9:	89 f9                	mov    %edi,%ecx
1400a50db:	e8 64 28 fe ff       	call   0x140087944
1400a50e0:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a50e3:	0f 44 f8             	cmove  %eax,%edi
1400a50e6:	eb 21                	jmp    0x1400a5109
1400a50e8:	0f b6 f8             	movzbl %al,%edi
1400a50eb:	89 7e 5c             	mov    %edi,0x5c(%rsi)
1400a50ee:	eb 19                	jmp    0x1400a5109
1400a50f0:	bf ff ff ff ff       	mov    $0xffffffff,%edi
1400a50f5:	eb 12                	jmp    0x1400a5109
1400a50f7:	8b 7e 5c             	mov    0x5c(%rsi),%edi
1400a50fa:	84 db                	test   %bl,%bl
1400a50fc:	74 0b                	je     0x1400a5109
1400a50fe:	c7 46 5c ff ff ff ff 	movl   $0xffffffff,0x5c(%rsi)
1400a5105:	c6 46 60 00          	movb   $0x0,0x60(%rsi)
1400a5109:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400a510e:	48 31 e1             	xor    %rsp,%rcx
1400a5111:	48 3b 0d 28 bf 05 00 	cmp    0x5bf28(%rip),%rcx        # 0x140101040
1400a5118:	74 06                	je     0x1400a5120
1400a511a:	e8 b1 a1 fc ff       	call   0x14006f2d0
1400a511f:	cc                   	int3
1400a5120:	89 f8                	mov    %edi,%eax
1400a5122:	48 83 c4 68          	add    $0x68,%rsp
1400a5126:	5b                   	pop    %rbx
1400a5127:	5d                   	pop    %rbp
1400a5128:	5f                   	pop    %rdi
1400a5129:	5e                   	pop    %rsi
1400a512a:	41 5c                	pop    %r12
1400a512c:	41 5d                	pop    %r13
1400a512e:	41 5e                	pop    %r14
1400a5130:	41 5f                	pop    %r15
1400a5132:	c3                   	ret
1400a5133:	48 bf aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%rdi
1400a513a:	aa aa aa
1400a513d:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
1400a5142:	8b 46 58             	mov    0x58(%rsi),%eax
1400a5145:	83 f8 02             	cmp    $0x2,%eax
1400a5148:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1400a514e:	44 0f 4d f8          	cmovge %eax,%r15d
1400a5152:	45 31 f6             	xor    %r14d,%r14d
1400a5155:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1400a5159:	e8 c2 12 fe ff       	call   0x140086420
1400a515e:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a5161:	74 8d                	je     0x1400a50f0
1400a5163:	42 88 44 34 58       	mov    %al,0x58(%rsp,%r14,1)
1400a5168:	49 ff c6             	inc    %r14
1400a516b:	4d 39 f7             	cmp    %r14,%r15
1400a516e:	75 e5                	jne    0x1400a5155
1400a5170:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
1400a5175:	c6 40 ff aa          	movb   $0xaa,-0x1(%rax)
1400a5179:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
1400a517e:	48 89 38             	mov    %rdi,(%rax)
1400a5181:	48 8d 6c 24 40       	lea    0x40(%rsp),%rbp
1400a5186:	48 89 7d 00          	mov    %rdi,0x0(%rbp)
1400a518a:	bf ff ff ff ff       	mov    $0xffffffff,%edi
1400a518f:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1400a5193:	48 8b 56 50          	mov    0x50(%rsi),%rdx
1400a5197:	44 8b 32             	mov    (%rdx),%r14d
1400a519a:	44 0f b7 62 04       	movzwl 0x4(%rdx),%r12d
1400a519f:	44 0f b7 6a 06       	movzwl 0x6(%rdx),%r13d
1400a51a4:	4e 8d 4c 3c 58       	lea    0x58(%rsp,%r15,1),%r9
1400a51a9:	48 8b 01             	mov    (%rcx),%rax
1400a51ac:	48 8b 40 18          	mov    0x18(%rax),%rax
1400a51b0:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
1400a51b5:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
1400a51ba:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
1400a51bf:	4c 8d 44 24 57       	lea    0x57(%rsp),%r8
1400a51c4:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
1400a51c9:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
1400a51ce:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400a51d3:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
1400a51d8:	ff 15 2a 1b 05 00    	call   *0x51b2a(%rip)        # 0x1400f6d08
1400a51de:	83 f8 01             	cmp    $0x1,%eax
1400a51e1:	75 3a                	jne    0x1400a521d
1400a51e3:	48 8b 46 50          	mov    0x50(%rsi),%rax
1400a51e7:	44 89 30             	mov    %r14d,(%rax)
1400a51ea:	66 44 89 60 04       	mov    %r12w,0x4(%rax)
1400a51ef:	66 44 89 68 06       	mov    %r13w,0x6(%rax)
1400a51f4:	49 83 ff 08          	cmp    $0x8,%r15
1400a51f8:	0f 84 0b ff ff ff    	je     0x1400a5109
1400a51fe:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1400a5202:	e8 19 12 fe ff       	call   0x140086420
1400a5207:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a520a:	0f 84 f9 fe ff ff    	je     0x1400a5109
1400a5210:	42 88 44 3c 58       	mov    %al,0x58(%rsp,%r15,1)
1400a5215:	49 ff c7             	inc    %r15
1400a5218:	e9 72 ff ff ff       	jmp    0x1400a518f
1400a521d:	83 f8 02             	cmp    $0x2,%eax
1400a5220:	0f 84 e3 fe ff ff    	je     0x1400a5109
1400a5226:	83 f8 03             	cmp    $0x3,%eax
1400a5229:	75 08                	jne    0x1400a5233
1400a522b:	8a 44 24 58          	mov    0x58(%rsp),%al
1400a522f:	88 44 24 57          	mov    %al,0x57(%rsp)
1400a5233:	84 db                	test   %bl,%bl
1400a5235:	74 14                	je     0x1400a524b
1400a5237:	0f b6 7c 24 57       	movzbl 0x57(%rsp),%edi
1400a523c:	e9 aa fe ff ff       	jmp    0x1400a50eb
1400a5241:	0f b6 7c 24 57       	movzbl 0x57(%rsp),%edi
1400a5246:	e9 be fe ff ff       	jmp    0x1400a5109
1400a524b:	44 89 fb             	mov    %r15d,%ebx
1400a524e:	48 85 db             	test   %rbx,%rbx
1400a5251:	7e ee                	jle    0x1400a5241
1400a5253:	48 8b 56 40          	mov    0x40(%rsi),%rdx
1400a5257:	0f b6 4c 1c 57       	movzbl 0x57(%rsp,%rbx,1),%ecx
1400a525c:	48 ff cb             	dec    %rbx
1400a525f:	e8 e0 26 fe ff       	call   0x140087944
1400a5264:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a5267:	75 e5                	jne    0x1400a524e
1400a5269:	e9 9b fe ff ff       	jmp    0x1400a5109
1400a526e:	cc                   	int3
1400a526f:	cc                   	int3
1400a5270:	56                   	push   %rsi
1400a5271:	57                   	push   %rdi
1400a5272:	48 83 ec 28          	sub    $0x28,%rsp
1400a5276:	48 89 d6             	mov    %rdx,%rsi
1400a5279:	48 89 cf             	mov    %rcx,%rdi
1400a527c:	48 8b 01             	mov    (%rcx),%rax
1400a527f:	48 8b 40 28          	mov    0x28(%rax),%rax
1400a5283:	ff 15 7f 1a 05 00    	call   *0x51a7f(%rip)        # 0x1400f6d08
1400a5289:	48 8d 15 d8 c7 06 00 	lea    0x6c7d8(%rip),%rdx        # 0x140111a68
1400a5290:	48 89 f1             	mov    %rsi,%rcx
1400a5293:	e8 38 60 fb ff       	call   0x14005b2d0
1400a5298:	48 89 47 48          	mov    %rax,0x48(%rdi)
1400a529c:	48 8b 08             	mov    (%rax),%rcx
1400a529f:	48 8b 51 30          	mov    0x30(%rcx),%rdx
1400a52a3:	48 89 c1             	mov    %rax,%rcx
1400a52a6:	48 89 d0             	mov    %rdx,%rax
1400a52a9:	ff 15 59 1a 05 00    	call   *0x51a59(%rip)        # 0x1400f6d08
1400a52af:	88 47 58             	mov    %al,0x58(%rdi)
1400a52b2:	48 83 c4 28          	add    $0x28,%rsp
1400a52b6:	5f                   	pop    %rdi
1400a52b7:	5e                   	pop    %rsi
1400a52b8:	c3                   	ret
1400a52b9:	cc                   	int3
1400a52ba:	cc                   	int3
1400a52bb:	cc                   	int3
1400a52bc:	cc                   	int3
1400a52bd:	cc                   	int3
1400a52be:	cc                   	int3
1400a52bf:	cc                   	int3
1400a52c0:	41 57                	push   %r15
1400a52c2:	41 56                	push   %r14
1400a52c4:	41 54                	push   %r12
1400a52c6:	56                   	push   %rsi
1400a52c7:	57                   	push   %rdi
1400a52c8:	55                   	push   %rbp
1400a52c9:	53                   	push   %rbx
1400a52ca:	48 83 ec 40          	sub    $0x40,%rsp
1400a52ce:	48 89 ce             	mov    %rcx,%rsi
1400a52d1:	48 8b 05 68 bd 05 00 	mov    0x5bd68(%rip),%rax        # 0x140101040
1400a52d8:	48 31 e0             	xor    %rsp,%rax
1400a52db:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1400a52e0:	49 bf aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%r15
1400a52e7:	aa aa aa
1400a52ea:	48 8d 7c 24 38       	lea    0x38(%rsp),%rdi
1400a52ef:	4c 89 7f f8          	mov    %r15,-0x8(%rdi)
1400a52f3:	4c 8d 64 24 28       	lea    0x28(%rsp),%r12
1400a52f8:	48 8d 5c 24 30       	lea    0x30(%rsp),%rbx
1400a52fd:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
1400a5302:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1400a5306:	48 8b 56 50          	mov    0x50(%rsi),%rdx
1400a530a:	48 8b 01             	mov    (%rcx),%rax
1400a530d:	48 8b 40 20          	mov    0x20(%rax),%rax
1400a5311:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
1400a5316:	49 89 d8             	mov    %rbx,%r8
1400a5319:	49 89 f9             	mov    %rdi,%r9
1400a531c:	ff 15 e6 19 05 00    	call   *0x519e6(%rip)        # 0x1400f6d08
1400a5322:	89 c5                	mov    %eax,%ebp
1400a5324:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
1400a5329:	49 29 de             	sub    %rbx,%r14
1400a532c:	4c 8b 4e 40          	mov    0x40(%rsi),%r9
1400a5330:	ba 01 00 00 00       	mov    $0x1,%edx
1400a5335:	48 89 d9             	mov    %rbx,%rcx
1400a5338:	4d 89 f0             	mov    %r14,%r8
1400a533b:	e8 b8 0b fe ff       	call   0x140085ef8
1400a5340:	48 89 c1             	mov    %rax,%rcx
1400a5343:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1400a5348:	4c 39 f1             	cmp    %r14,%rcx
1400a534b:	75 1b                	jne    0x1400a5368
1400a534d:	83 fd 01             	cmp    $0x1,%ebp
1400a5350:	74 ab                	je     0x1400a52fd
1400a5352:	83 fd 02             	cmp    $0x2,%ebp
1400a5355:	74 11                	je     0x1400a5368
1400a5357:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1400a535b:	e8 44 f9 fd ff       	call   0x140084ca4
1400a5360:	89 c1                	mov    %eax,%ecx
1400a5362:	31 c0                	xor    %eax,%eax
1400a5364:	f7 d9                	neg    %ecx
1400a5366:	19 c0                	sbb    %eax,%eax
1400a5368:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1400a536d:	48 31 e1             	xor    %rsp,%rcx
1400a5370:	48 3b 0d c9 bc 05 00 	cmp    0x5bcc9(%rip),%rcx        # 0x140101040
1400a5377:	74 06                	je     0x1400a537f
1400a5379:	e8 52 9f fc ff       	call   0x14006f2d0
1400a537e:	cc                   	int3
1400a537f:	48 83 c4 40          	add    $0x40,%rsp
1400a5383:	5b                   	pop    %rbx
1400a5384:	5d                   	pop    %rbp
1400a5385:	5f                   	pop    %rdi
1400a5386:	5e                   	pop    %rsi
1400a5387:	41 5c                	pop    %r12
1400a5389:	41 5e                	pop    %r14
1400a538b:	41 5f                	pop    %r15
1400a538d:	c3                   	ret
1400a538e:	cc                   	int3
1400a538f:	cc                   	int3
1400a5390:	41 56                	push   %r14
1400a5392:	56                   	push   %rsi
1400a5393:	57                   	push   %rdi
1400a5394:	53                   	push   %rbx
1400a5395:	48 83 ec 28          	sub    $0x28,%rsp
1400a5399:	4c 89 c6             	mov    %r8,%rsi
1400a539c:	48 89 d7             	mov    %rdx,%rdi
1400a539f:	49 89 ce             	mov    %rcx,%r14
1400a53a2:	80 79 58 00          	cmpb   $0x0,0x58(%rcx)
1400a53a6:	74 1d                	je     0x1400a53c5
1400a53a8:	4d 8b 4e 40          	mov    0x40(%r14),%r9
1400a53ac:	ba 01 00 00 00       	mov    $0x1,%edx
1400a53b1:	48 89 f9             	mov    %rdi,%rcx
1400a53b4:	49 89 f0             	mov    %rsi,%r8
1400a53b7:	48 83 c4 28          	add    $0x28,%rsp
1400a53bb:	5b                   	pop    %rbx
1400a53bc:	5f                   	pop    %rdi
1400a53bd:	5e                   	pop    %rsi
1400a53be:	41 5e                	pop    %r14
1400a53c0:	e9 33 0b fe ff       	jmp    0x140085ef8
1400a53c5:	31 db                	xor    %ebx,%ebx
1400a53c7:	48 85 f6             	test   %rsi,%rsi
1400a53ca:	7e 24                	jle    0x1400a53f0
1400a53cc:	0f b6 14 1f          	movzbl (%rdi,%rbx,1),%edx
1400a53d0:	49 8b 06             	mov    (%r14),%rax
1400a53d3:	48 8b 40 60          	mov    0x60(%rax),%rax
1400a53d7:	4c 89 f1             	mov    %r14,%rcx
1400a53da:	ff 15 28 19 05 00    	call   *0x51928(%rip)        # 0x1400f6d08
1400a53e0:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a53e3:	74 0b                	je     0x1400a53f0
1400a53e5:	48 ff c3             	inc    %rbx
1400a53e8:	48 39 de             	cmp    %rbx,%rsi
1400a53eb:	75 df                	jne    0x1400a53cc
1400a53ed:	48 89 f3             	mov    %rsi,%rbx
1400a53f0:	48 89 d8             	mov    %rbx,%rax
1400a53f3:	48 83 c4 28          	add    $0x28,%rsp
1400a53f7:	5b                   	pop    %rbx
1400a53f8:	5f                   	pop    %rdi
1400a53f9:	5e                   	pop    %rsi
1400a53fa:	41 5e                	pop    %r14
1400a53fc:	c3                   	ret
1400a53fd:	cc                   	int3
1400a53fe:	cc                   	int3
1400a53ff:	cc                   	int3
1400a5400:	41 57                	push   %r15
1400a5402:	41 56                	push   %r14
1400a5404:	41 55                	push   %r13
1400a5406:	41 54                	push   %r12
1400a5408:	56                   	push   %rsi
1400a5409:	57                   	push   %rdi
1400a540a:	55                   	push   %rbp
1400a540b:	53                   	push   %rbx
1400a540c:	48 83 ec 68          	sub    $0x68,%rsp
1400a5410:	48 8b 05 29 bc 05 00 	mov    0x5bc29(%rip),%rax        # 0x140101040
1400a5417:	48 31 e0             	xor    %rsp,%rax
1400a541a:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1400a541f:	49 bc aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%r12
1400a5426:	aa aa aa
1400a5429:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
1400a542e:	83 fa ff             	cmp    $0xffffffff,%edx