140027fe8:	48 83 66 40 00       	andq   $0x0,0x40(%rsi)
140027fed:	48 83 66 28 00       	andq   $0x0,0x28(%rsi)
140027ff2:	83 4e 38 ff          	orl    $0xffffffff,0x38(%rsi)
140027ff6:	41 8b 3c 24          	mov    (%r12),%edi
140027ffa:	48 89 06             	mov    %rax,(%rsi)
140027ffd:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%rsi)
140028004:	66 c7 46 50 00 10    	movw   $0x1000,0x50(%rsi)
14002800a:	c6 46 3c 00          	movb   $0x0,0x3c(%rsi)
14002800e:	85 ff                	test   %edi,%edi
140028010:	0f 88 ba 00 00 00    	js     0x1400280d0
140028016:	4d 85 ff             	test   %r15,%r15
140028019:	0f 84 e5 10 01 00    	je     0x140039104
14002801f:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
140028024:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
140028029:	49 8b cf             	mov    %r15,%rcx
14002802c:	e8 2f 02 00 00       	call   0x140028260
140028031:	85 c0                	test   %eax,%eax
140028033:	0f 88 cb 10 01 00    	js     0x140039104
140028039:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14002803e:	b8 02 00 00 00       	mov    $0x2,%eax
140028043:	48 ff c5             	inc    %rbp
140028046:	48 f7 e5             	mul    %rbp
140028049:	48 8b d8             	mov    %rax,%rbx
14002804c:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140028053:	48 0f 40 d8          	cmovo  %rax,%rbx
140028057:	48 ff 15 b2 ca 05 00 	rex.W call *0x5cab2(%rip)        # 0x140084b10
14002805e:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028063:	4c 8b c3             	mov    %rbx,%r8
140028066:	33 d2                	xor    %edx,%edx
140028068:	48 8b c8             	mov    %rax,%rcx
14002806b:	48 ff 15 96 ca 05 00 	rex.W call *0x5ca96(%rip)        # 0x140084b08
140028072:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028077:	48 89 46 48          	mov    %rax,0x48(%rsi)
14002807b:	48 85 c0             	test   %rax,%rax
14002807e:	74 75                	je     0x1400280f5
140028080:	4d 85 f6             	test   %r14,%r14
140028083:	75 2b                	jne    0x1400280b0
140028085:	48 8b 0d 1c 81 07 00 	mov    0x7811c(%rip),%rcx        # 0x1400a01a8
14002808c:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
140028091:	33 d2                	xor    %edx,%edx
140028093:	48 8b 01             	mov    (%rcx),%rax
140028096:	48 8b 40 30          	mov    0x30(%rax),%rax
14002809a:	ff 15 28 d6 05 00    	call   *0x5d628(%rip)        # 0x1400856c8
1400280a0:	f7 d8                	neg    %eax
1400280a2:	48 1b c9             	sbb    %rcx,%rcx
1400280a5:	48 23 4c 24 50       	and    0x50(%rsp),%rcx
1400280aa:	48 89 4e 40          	mov    %rcx,0x40(%rsi)
1400280ae:	74 45                	je     0x1400280f5
1400280b0:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1400280b4:	4d 8b c7             	mov    %r15,%r8
1400280b7:	48 8b d5             	mov    %rbp,%rdx
1400280ba:	e8 1d 01 00 00       	call   0x1400281dc
1400280bf:	85 c0                	test   %eax,%eax
1400280c1:	78 39                	js     0x1400280fc
1400280c3:	4c 89 76 28          	mov    %r14,0x28(%rsi)
1400280c7:	4d 85 f6             	test   %r14,%r14
1400280ca:	0f 85 3e 10 01 00    	jne    0x14003910e
1400280d0:	8b d7                	mov    %edi,%edx
1400280d2:	49 8b cc             	mov    %r12,%rcx
1400280d5:	e8 32 00 00 00       	call   0x14002810c
1400280da:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400280df:	48 8b c6             	mov    %rsi,%rax
1400280e2:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400280e7:	48 83 c4 20          	add    $0x20,%rsp
1400280eb:	41 5f                	pop    %r15
1400280ed:	41 5e                	pop    %r14
1400280ef:	41 5c                	pop    %r12
1400280f1:	5f                   	pop    %rdi
1400280f2:	5e                   	pop    %rsi
1400280f3:	c3                   	ret
1400280f4:	cc                   	int3
1400280f5:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
1400280fa:	eb d4                	jmp    0x1400280d0
1400280fc:	bf e5 00 00 c0       	mov    $0xc00000e5,%edi
140028101:	eb cd                	jmp    0x1400280d0
140028103:	cc                   	int3
140028104:	cc                   	int3
140028105:	cc                   	int3
140028106:	cc                   	int3
140028107:	cc                   	int3
140028108:	cc                   	int3
140028109:	cc                   	int3
14002810a:	cc                   	int3
14002810b:	cc                   	int3
14002810c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028111:	57                   	push   %rdi
140028112:	48 83 ec 50          	sub    $0x50,%rsp
140028116:	33 c0                	xor    %eax,%eax
140028118:	8b da                	mov    %edx,%ebx
14002811a:	48 8b f9             	mov    %rcx,%rdi
14002811d:	39 01                	cmp    %eax,(%rcx)
14002811f:	7c 3e                	jl     0x14002815f
140028121:	b0 01                	mov    $0x1,%al
140028123:	88 44 24 48          	mov    %al,0x48(%rsp)
140028127:	4c 8d 05 22 de 05 00 	lea    0x5de22(%rip),%r8        # 0x140085f50
14002812e:	48 8d 05 bb de 05 00 	lea    0x5debb(%rip),%rax        # 0x140085ff0
140028135:	41 b9 57 00 00 00    	mov    $0x57,%r9d
14002813b:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140028140:	48 8d 05 89 de 05 00 	lea    0x5de89(%rip),%rax        # 0x140085fd0
140028147:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14002814c:	e8 1b 00 00 00       	call   0x14002816c
140028151:	89 1f                	mov    %ebx,(%rdi)
140028153:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140028158:	48 83 c4 50          	add    $0x50,%rsp
14002815c:	5f                   	pop    %rdi
14002815d:	c3                   	ret
14002815e:	cc                   	int3
14002815f:	39 19                	cmp    %ebx,(%rcx)
140028161:	75 c0                	jne    0x140028123
140028163:	eb bc                	jmp    0x140028121
140028165:	cc                   	int3
140028166:	cc                   	int3
140028167:	cc                   	int3
140028168:	cc                   	int3
140028169:	cc                   	int3
14002816a:	cc                   	int3
14002816b:	cc                   	int3
14002816c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140028171:	55                   	push   %rbp
140028172:	56                   	push   %rsi
140028173:	57                   	push   %rdi
140028174:	48 81 ec 90 08 00 00 	sub    $0x890,%rsp
14002817b:	48 8b 05 3e 70 07 00 	mov    0x7703e(%rip),%rax        # 0x14009f1c0
140028182:	48 33 c4             	xor    %rsp,%rax
140028185:	48 89 84 24 80 08 00 	mov    %rax,0x880(%rsp)
14002818c:	00
14002818d:	80 bc 24 f8 08 00 00 	cmpb   $0x0,0x8f8(%rsp)
140028194:	00
140028195:	41 8b f9             	mov    %r9d,%edi
140028198:	48 8b b4 24 d0 08 00 	mov    0x8d0(%rsp),%rsi
14002819f:	00
1400281a0:	49 8b d8             	mov    %r8,%rbx
1400281a3:	48 8b ac 24 f0 08 00 	mov    0x8f0(%rsp),%rbp
1400281aa:	00
1400281ab:	0f 84 73 0f 01 00    	je     0x140039124
1400281b1:	48 8b 8c 24 80 08 00 	mov    0x880(%rsp),%rcx
1400281b8:	00
1400281b9:	48 33 cc             	xor    %rsp,%rcx
1400281bc:	e8 ef b9 00 00       	call   0x140033bb0
1400281c1:	48 8b 9c 24 b0 08 00 	mov    0x8b0(%rsp),%rbx
1400281c8:	00
1400281c9:	48 81 c4 90 08 00 00 	add    $0x890,%rsp
1400281d0:	5f                   	pop    %rdi
1400281d1:	5e                   	pop    %rsi
1400281d2:	5d                   	pop    %rbp
1400281d3:	c3                   	ret
1400281d4:	cc                   	int3
1400281d5:	cc                   	int3
1400281d6:	cc                   	int3
1400281d7:	cc                   	int3
1400281d8:	cc                   	int3
1400281d9:	cc                   	int3
1400281da:	cc                   	int3
1400281db:	cc                   	int3
1400281dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400281e1:	33 db                	xor    %ebx,%ebx
1400281e3:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1400281e7:	41 ba fe ff ff 7f    	mov    $0x7ffffffe,%r10d
1400281ed:	44 8b cb             	mov    %ebx,%r9d
1400281f0:	49 3b c2             	cmp    %r10,%rax
1400281f3:	41 bb 57 00 07 80    	mov    $0x80070057,%r11d
1400281f9:	45 0f 47 cb          	cmova  %r11d,%r9d
1400281fd:	45 85 c9             	test   %r9d,%r9d
140028200:	0f 88 78 0f 01 00    	js     0x14003917e
140028206:	48 85 d2             	test   %rdx,%rdx
140028209:	74 26                	je     0x140028231
14002820b:	4c 2b d2             	sub    %rdx,%r10
14002820e:	4c 2b c1             	sub    %rcx,%r8
140028211:	49 8d 04 12          	lea    (%r10,%rdx,1),%rax
140028215:	48 85 c0             	test   %rax,%rax
140028218:	74 17                	je     0x140028231
14002821a:	41 0f b7 04 08       	movzwl (%r8,%rcx,1),%eax
14002821f:	66 85 c0             	test   %ax,%ax
140028222:	74 0d                	je     0x140028231
140028224:	66 89 01             	mov    %ax,(%rcx)
140028227:	48 83 c1 02          	add    $0x2,%rcx
14002822b:	48 83 ea 01          	sub    $0x1,%rdx
14002822f:	75 e0                	jne    0x140028211
140028231:	48 85 d2             	test   %rdx,%rdx
140028234:	48 8d 41 fe          	lea    -0x2(%rcx),%rax
140028238:	48 0f 45 c1          	cmovne %rcx,%rax
14002823c:	48 f7 da             	neg    %rdx
14002823f:	45 1b c9             	sbb    %r9d,%r9d
140028242:	41 f7 d1             	not    %r9d
140028245:	41 81 e1 7a 00 07 80 	and    $0x8007007a,%r9d
14002824c:	66 89 18             	mov    %bx,(%rax)
14002824f:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140028254:	41 8b c1             	mov    %r9d,%eax
140028257:	c3                   	ret
140028258:	cc                   	int3
140028259:	cc                   	int3
14002825a:	cc                   	int3
14002825b:	cc                   	int3
14002825c:	cc                   	int3
14002825d:	cc                   	int3
14002825e:	cc                   	int3
14002825f:	cc                   	int3
140028260:	45 33 d2             	xor    %r10d,%r10d
140028263:	48 85 c9             	test   %rcx,%rcx
140028266:	74 4f                	je     0x1400282b7
140028268:	48 81 fa ff ff ff 7f 	cmp    $0x7fffffff,%rdx
14002826f:	77 46                	ja     0x1400282b7
140028271:	4c 8b ca             	mov    %rdx,%r9
140028274:	48 85 d2             	test   %rdx,%rdx
140028277:	74 10                	je     0x140028289
140028279:	66 44 39 11          	cmp    %r10w,(%rcx)
14002827d:	74 0a                	je     0x140028289
14002827f:	48 83 c1 02          	add    $0x2,%rcx
140028283:	49 83 e9 01          	sub    $0x1,%r9
140028287:	75 f0                	jne    0x140028279
140028289:	49 8b c1             	mov    %r9,%rax
14002828c:	48 f7 d8             	neg    %rax
14002828f:	1b c0                	sbb    %eax,%eax
140028291:	f7 d0                	not    %eax
140028293:	25 57 00 07 80       	and    $0x80070057,%eax
140028298:	4d 85 c0             	test   %r8,%r8
14002829b:	74 0b                	je     0x1400282a8
14002829d:	4d 85 c9             	test   %r9,%r9
1400282a0:	74 10                	je     0x1400282b2
1400282a2:	49 2b d1             	sub    %r9,%rdx
1400282a5:	49 89 10             	mov    %rdx,(%r8)
1400282a8:	85 c0                	test   %eax,%eax
1400282aa:	0f 88 e0 0e 01 00    	js     0x140039190
1400282b0:	c3                   	ret
1400282b1:	cc                   	int3
1400282b2:	4d 89 10             	mov    %r10,(%r8)
1400282b5:	eb f1                	jmp    0x1400282a8
1400282b7:	b8 57 00 07 80       	mov    $0x80070057,%eax
1400282bc:	eb ea                	jmp    0x1400282a8
1400282be:	cc                   	int3
1400282bf:	cc                   	int3
1400282c0:	cc                   	int3
1400282c1:	cc                   	int3
1400282c2:	cc                   	int3
1400282c3:	cc                   	int3
1400282c4:	48 8b c4             	mov    %rsp,%rax
1400282c7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400282cb:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400282cf:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400282d3:	57                   	push   %rdi
1400282d4:	41 54                	push   %r12
1400282d6:	41 55                	push   %r13
1400282d8:	41 56                	push   %r14
1400282da:	41 57                	push   %r15
1400282dc:	48 83 ec 40          	sub    $0x40,%rsp
1400282e0:	45 33 ed             	xor    %r13d,%r13d
1400282e3:	c7 40 cc 04 00 00 00 	movl   $0x4,-0x34(%rax)
1400282ea:	41 8b dd             	mov    %r13d,%ebx
1400282ed:	44 89 68 c8          	mov    %r13d,-0x38(%rax)
1400282f1:	41 8b fd             	mov    %r13d,%edi
1400282f4:	4d 8b f9             	mov    %r9,%r15
1400282f7:	4d 8b e0             	mov    %r8,%r12
1400282fa:	48 8b ea             	mov    %rdx,%rbp
1400282fd:	4c 8b f1             	mov    %rcx,%r14
140028300:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140028305:	45 33 c0             	xor    %r8d,%r8d
140028308:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002830d:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
140028312:	48 8b d5             	mov    %rbp,%rdx
140028315:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14002831a:	49 8b ce             	mov    %r14,%rcx
14002831d:	48 ff 15 cc c9 05 00 	rex.W call *0x5c9cc(%rip)        # 0x140084cf0
140028324:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028329:	8b f0                	mov    %eax,%esi
14002832b:	85 c0                	test   %eax,%eax
14002832d:	75 5e                	jne    0x14002838d
14002832f:	8b 4c 24 34          	mov    0x34(%rsp),%ecx
140028333:	8d 41 ff             	lea    -0x1(%rcx),%eax
140028336:	83 f8 01             	cmp    $0x1,%eax
140028339:	0f 87 5f 0e 01 00    	ja     0x14003919e
14002833f:	48 85 db             	test   %rbx,%rbx
140028342:	75 31                	jne    0x140028375
140028344:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140028348:	8d 43 02             	lea    0x2(%rbx),%eax
14002834b:	48 d1 e9             	shr    $1,%rcx
14002834e:	48 ff c1             	inc    %rcx
140028351:	48 f7 e1             	mul    %rcx
140028354:	48 8d 4b ff          	lea    -0x1(%rbx),%rcx
140028358:	48 0f 40 c1          	cmovo  %rcx,%rax
14002835c:	48 8b c8             	mov    %rax,%rcx
14002835f:	e8 70 bb 00 00       	call   0x140033ed4
140028364:	48 8b d8             	mov    %rax,%rbx
140028367:	48 85 c0             	test   %rax,%rax
14002836a:	74 5a                	je     0x1400283c6
14002836c:	ff c7                	inc    %edi
14002836e:	83 ff 02             	cmp    $0x2,%edi
140028371:	72 8d                	jb     0x140028300
140028373:	eb 0d                	jmp    0x140028382
140028375:	8b 44 24 30          	mov    0x30(%rsp),%eax
140028379:	48 d1 e8             	shr    $1,%rax
14002837c:	66 44 89 6c 43 fe    	mov    %r13w,-0x2(%rbx,%rax,2)
140028382:	83 7c 24 34 02       	cmpl   $0x2,0x34(%rsp)
140028387:	0f 84 31 0e 01 00    	je     0x1400391be
14002838d:	85 f6                	test   %esi,%esi
14002838f:	0f 85 12 0e 01 00    	jne    0x1400391a7
140028395:	8b 44 24 30          	mov    0x30(%rsp),%eax
140028399:	41 89 07             	mov    %eax,(%r15)
14002839c:	8b 44 24 34          	mov    0x34(%rsp),%eax
1400283a0:	41 89 04 24          	mov    %eax,(%r12)
1400283a4:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
1400283a9:	48 8b c3             	mov    %rbx,%rax
1400283ac:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1400283b0:	49 8b 6b 38          	mov    0x38(%r11),%rbp
1400283b4:	49 8b 73 40          	mov    0x40(%r11),%rsi
1400283b8:	49 8b e3             	mov    %r11,%rsp
1400283bb:	41 5f                	pop    %r15
1400283bd:	41 5e                	pop    %r14
1400283bf:	41 5d                	pop    %r13
1400283c1:	41 5c                	pop    %r12
1400283c3:	5f                   	pop    %rdi
1400283c4:	c3                   	ret
1400283c5:	cc                   	int3
1400283c6:	49 8b dd             	mov    %r13,%rbx
1400283c9:	eb d9                	jmp    0x1400283a4
1400283cb:	cc                   	int3
1400283cc:	cc                   	int3
1400283cd:	cc                   	int3
1400283ce:	cc                   	int3
1400283cf:	cc                   	int3
1400283d0:	cc                   	int3
1400283d1:	cc                   	int3
1400283d2:	cc                   	int3
1400283d3:	cc                   	int3
1400283d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400283d9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400283de:	57                   	push   %rdi
1400283df:	48 83 ec 30          	sub    $0x30,%rsp
1400283e3:	48 8b 01             	mov    (%rcx),%rax
1400283e6:	48 8b da             	mov    %rdx,%rbx
1400283e9:	48 8b f1             	mov    %rcx,%rsi
1400283ec:	48 8b 00             	mov    (%rax),%rax
1400283ef:	ff 15 d3 d2 05 00    	call   *0x5d2d3(%rip)        # 0x1400856c8
1400283f5:	48 85 db             	test   %rbx,%rbx
1400283f8:	0f 85 7a 0e 01 00    	jne    0x140039278
1400283fe:	4c 8d 86 18 01 00 00 	lea    0x118(%rsi),%r8
140028405:	48 85 db             	test   %rbx,%rbx
140028408:	0f 85 2b 0f 01 00    	jne    0x140039339
14002840e:	33 d2                	xor    %edx,%edx
140028410:	48 8d 0d 29 b4 00 00 	lea    0xb429(%rip),%rcx        # 0x140033840
140028417:	48 ff 15 42 cb 05 00 	rex.W call *0x5cb42(%rip)        # 0x140084f60
14002841e:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028423:	8b f8                	mov    %eax,%edi
140028425:	85 c0                	test   %eax,%eax
140028427:	0f 84 1b 0f 01 00    	je     0x140039348
14002842d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140028432:	8b c7                	mov    %edi,%eax
140028434:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140028439:	48 83 c4 30          	add    $0x30,%rsp
14002843d:	5f                   	pop    %rdi
14002843e:	c3                   	ret