14005813c:	44 8b cb             	mov    %ebx,%r9d
14005813f:	48 8b c5             	mov    %rbp,%rax
140058142:	44 8b c7             	mov    %edi,%r8d
140058145:	8b d6                	mov    %esi,%edx
140058147:	ff 15 3b 75 01 00    	call   *0x1753b(%rip)        # 0x14006f688
14005814d:	84 c0                	test   %al,%al
14005814f:	75 05                	jne    0x140058156
140058151:	e8 4e fe ff ff       	call   0x140057fa4
140058156:	49 8b 16             	mov    (%r14),%rdx
140058159:	48 83 ea 18          	sub    $0x18,%rdx
14005815d:	83 c8 ff             	or     $0xffffffff,%eax
140058160:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140058165:	83 e8 01             	sub    $0x1,%eax
140058168:	7f 10                	jg     0x14005817a
14005816a:	48 8b 0a             	mov    (%rdx),%rcx
14005816d:	48 8b 01             	mov    (%rcx),%rax
140058170:	48 8b 40 08          	mov    0x8(%rax),%rax
140058174:	ff 15 0e 75 01 00    	call   *0x1750e(%rip)        # 0x14006f688
14005817a:	49 8b ce             	mov    %r14,%rcx
14005817d:	e8 5e d7 ff ff       	call   0x1400558e0
140058182:	c6 05 3f 09 07 00 00 	movb   $0x0,0x7093f(%rip)        # 0x1400c8ac8
140058189:	33 c0                	xor    %eax,%eax
14005818b:	eb 2e                	jmp    0x1400581bb
14005818d:	81 fa e2 ac 00 00    	cmp    $0xace2,%edx
140058193:	75 20                	jne    0x1400581b5
140058195:	ba eb ff ff ff       	mov    $0xffffffeb,%edx
14005819a:	ff 15 80 71 08 00    	call   *0x87180(%rip)        # 0x1400df320
1400581a0:	48 85 c0             	test   %rax,%rax
1400581a3:	74 e4                	je     0x140058189
1400581a5:	45 8b c6             	mov    %r14d,%r8d
1400581a8:	48 8b d3             	mov    %rbx,%rdx
1400581ab:	48 8b c8             	mov    %rax,%rcx
1400581ae:	e8 ad fb ff ff       	call   0x140057d60
1400581b3:	eb d4                	jmp    0x140058189
1400581b5:	ff 15 fd 70 08 00    	call   *0x870fd(%rip)        # 0x1400df2b8
1400581bb:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400581c0:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400581c5:	48 83 c4 30          	add    $0x30,%rsp
1400581c9:	41 5e                	pop    %r14
1400581cb:	5f                   	pop    %rdi
1400581cc:	5e                   	pop    %rsi
1400581cd:	c3                   	ret
1400581ce:	90                   	nop
1400581cf:	90                   	nop
1400581d0:	48 8b c4             	mov    %rsp,%rax
1400581d3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400581d7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400581db:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400581df:	41 56                	push   %r14
1400581e1:	48 83 ec 30          	sub    $0x30,%rsp
1400581e5:	48 8b d9             	mov    %rcx,%rbx
1400581e8:	45 33 f6             	xor    %r14d,%r14d
1400581eb:	66 44 89 70 e8       	mov    %r14w,-0x18(%rax)
1400581f0:	4c 89 70 10          	mov    %r14,0x10(%rax)
1400581f4:	44 39 35 0d 11 08 00 	cmp    %r14d,0x8110d(%rip)        # 0x1400d9308
1400581fb:	75 19                	jne    0x140058216
1400581fd:	44 39 35 0c 11 08 00 	cmp    %r14d,0x8110c(%rip)        # 0x1400d9310
140058204:	75 10                	jne    0x140058216
140058206:	48 8d 48 10          	lea    0x10(%rax),%rcx
14005820a:	e8 91 40 fc ff       	call   0x14001c2a0
14005820f:	85 c0                	test   %eax,%eax
140058211:	41 8b c6             	mov    %r14d,%eax
140058214:	74 05                	je     0x14005821b
140058216:	b8 01 00 00 00       	mov    $0x1,%eax
14005821b:	85 c0                	test   %eax,%eax
14005821d:	75 1a                	jne    0x140058239
14005821f:	41 0f b7 c6          	movzwl %r14w,%eax
140058223:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140058228:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14005822d:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140058232:	48 83 c4 30          	add    $0x30,%rsp
140058236:	41 5e                	pop    %r14
140058238:	c3                   	ret
140058239:	48 8b cb             	mov    %rbx,%rcx
14005823c:	ff 15 e6 70 08 00    	call   *0x870e6(%rip)        # 0x1400df328
140058242:	0f b7 d8             	movzwl %ax,%ebx
140058245:	66 89 44 24 20       	mov    %ax,0x20(%rsp)
14005824a:	44 39 35 b7 10 08 00 	cmp    %r14d,0x810b7(%rip)        # 0x1400d9308
140058251:	74 09                	je     0x14005825c
140058253:	44 39 35 b6 10 08 00 	cmp    %r14d,0x810b6(%rip)        # 0x1400d9310
14005825a:	75 34                	jne    0x140058290
14005825c:	41 8b fe             	mov    %r14d,%edi
14005825f:	66 85 db             	test   %bx,%bx
140058262:	40 0f 94 c7          	sete   %dil
140058266:	85 ff                	test   %edi,%edi
140058268:	74 0a                	je     0x140058274
14005826a:	ff 15 a0 6d 01 00    	call   *0x16da0(%rip)        # 0x14006f010
140058270:	8b f0                	mov    %eax,%esi
140058272:	eb 03                	jmp    0x140058277
140058274:	41 8b f6             	mov    %r14d,%esi
140058277:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
14005827c:	33 c9                	xor    %ecx,%ecx
14005827e:	ff 15 54 6e 01 00    	call   *0x16e54(%rip)        # 0x14006f0d8
140058284:	85 ff                	test   %edi,%edi
140058286:	74 08                	je     0x140058290
140058288:	8b ce                	mov    %esi,%ecx
14005828a:	ff 15 88 6d 01 00    	call   *0x16d88(%rip)        # 0x14006f018
140058290:	0f b7 c3             	movzwl %bx,%eax
140058293:	eb 8e                	jmp    0x140058223
140058295:	cc                   	int3
140058296:	90                   	nop
140058297:	90                   	nop
140058298:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14005829d:	57                   	push   %rdi
14005829e:	48 83 ec 20          	sub    $0x20,%rsp
1400582a2:	33 c0                	xor    %eax,%eax
1400582a4:	48 8b fa             	mov    %rdx,%rdi
1400582a7:	48 89 01             	mov    %rax,(%rcx)
1400582aa:	48 8b d9             	mov    %rcx,%rbx
1400582ad:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400582b1:	48 89 41 10          	mov    %rax,0x10(%rcx)
1400582b5:	48 89 41 18          	mov    %rax,0x18(%rcx)
1400582b9:	48 89 41 28          	mov    %rax,0x28(%rcx)
1400582bd:	48 89 41 20          	mov    %rax,0x20(%rcx)
1400582c1:	48 85 d2             	test   %rdx,%rdx
1400582c4:	75 09                	jne    0x1400582cf
1400582c6:	c7 41 2c 57 00 00 00 	movl   $0x57,0x2c(%rcx)
1400582cd:	eb 09                	jmp    0x1400582d8
1400582cf:	e8 74 00 00 00       	call   0x140058348
1400582d4:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
1400582d8:	48 8b c3             	mov    %rbx,%rax
1400582db:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400582e0:	48 83 c4 20          	add    $0x20,%rsp
1400582e4:	5f                   	pop    %rdi
1400582e5:	c3                   	ret
1400582e6:	90                   	nop
1400582e7:	90                   	nop
1400582e8:	40 53                	rex push %rbx
1400582ea:	48 83 ec 20          	sub    $0x20,%rsp
1400582ee:	48 8b d9             	mov    %rcx,%rbx
1400582f1:	e8 52 00 00 00       	call   0x140058348
1400582f6:	48 8b 0b             	mov    (%rbx),%rcx
1400582f9:	48 85 c9             	test   %rcx,%rcx
1400582fc:	74 3b                	je     0x140058339
1400582fe:	48 8b 43 10          	mov    0x10(%rbx),%rax
140058302:	48 2b c1             	sub    %rcx,%rax
140058305:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140058309:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14005830f:	72 14                	jb     0x140058325
140058311:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140058315:	48 2b ca             	sub    %rdx,%rcx
140058318:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14005831c:	48 83 f8 1f          	cmp    $0x1f,%rax
140058320:	77 1d                	ja     0x14005833f
140058322:	48 8b ca             	mov    %rdx,%rcx
140058325:	ff 15 7d 72 01 00    	call   *0x1727d(%rip)        # 0x14006f5a8
14005832b:	48 83 23 00          	andq   $0x0,(%rbx)
14005832f:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140058334:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
140058339:	48 83 c4 20          	add    $0x20,%rsp
14005833d:	5b                   	pop    %rbx
14005833e:	c3                   	ret
14005833f:	ff 15 33 71 01 00    	call   *0x17133(%rip)        # 0x14006f478
140058345:	cc                   	int3
140058346:	90                   	nop
140058347:	90                   	nop
140058348:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14005834d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140058352:	57                   	push   %rdi
140058353:	48 83 ec 20          	sub    $0x20,%rsp
140058357:	48 8b 19             	mov    (%rcx),%rbx
14005835a:	48 8b f9             	mov    %rcx,%rdi
14005835d:	48 8b 41 08          	mov    0x8(%rcx),%rax
140058361:	eb 20                	jmp    0x140058383
140058363:	48 8b 33             	mov    (%rbx),%rsi
140058366:	48 85 f6             	test   %rsi,%rsi
140058369:	74 10                	je     0x14005837b
14005836b:	48 8b ce             	mov    %rsi,%rcx
14005836e:	e8 51 27 fc ff       	call   0x14001aac4
140058373:	48 8b ce             	mov    %rsi,%rcx
140058376:	e8 65 d5 ff ff       	call   0x1400558e0
14005837b:	48 8b 47 08          	mov    0x8(%rdi),%rax
14005837f:	48 83 c3 08          	add    $0x8,%rbx
140058383:	48 3b d8             	cmp    %rax,%rbx
140058386:	75 db                	jne    0x140058363
140058388:	48 8b 0f             	mov    (%rdi),%rcx
14005838b:	48 3b c8             	cmp    %rax,%rcx
14005838e:	74 04                	je     0x140058394
140058390:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140058394:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140058398:	e8 43 d5 ff ff       	call   0x1400558e0
14005839d:	48 83 67 18 00       	andq   $0x0,0x18(%rdi)
1400583a2:	83 67 2c 00          	andl   $0x0,0x2c(%rdi)
1400583a6:	48 83 67 20 00       	andq   $0x0,0x20(%rdi)
1400583ab:	83 67 28 00          	andl   $0x0,0x28(%rdi)
1400583af:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400583b4:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400583b9:	48 83 c4 20          	add    $0x20,%rsp
1400583bd:	5f                   	pop    %rdi
1400583be:	c3                   	ret
1400583bf:	90                   	nop
1400583c0:	8b 41 2c             	mov    0x2c(%rcx),%eax
1400583c3:	c3                   	ret
1400583c4:	40 53                	rex push %rbx
1400583c6:	48 83 ec 20          	sub    $0x20,%rsp
1400583ca:	8b 41 2c             	mov    0x2c(%rcx),%eax
1400583cd:	48 8b d9             	mov    %rcx,%rbx
1400583d0:	85 c0                	test   %eax,%eax
1400583d2:	75 11                	jne    0x1400583e5
1400583d4:	e8 4b 01 00 00       	call   0x140058524
1400583d9:	84 c0                	test   %al,%al
1400583db:	b8 02 00 00 00       	mov    $0x2,%eax
1400583e0:	74 03                	je     0x1400583e5
1400583e2:	8b 43 2c             	mov    0x2c(%rbx),%eax
1400583e5:	48 83 c4 20          	add    $0x20,%rsp
1400583e9:	5b                   	pop    %rbx
1400583ea:	c3                   	ret
1400583eb:	90                   	nop
1400583ec:	40 53                	rex push %rbx
1400583ee:	48 83 ec 20          	sub    $0x20,%rsp
1400583f2:	48 8b d9             	mov    %rcx,%rbx
1400583f5:	89 54 24 38          	mov    %edx,0x38(%rsp)
1400583f9:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1400583fd:	48 85 c9             	test   %rcx,%rcx
140058400:	74 29                	je     0x14005842b
140058402:	e8 b9 23 fc ff       	call   0x14001a7c0
140058407:	3c 01                	cmp    $0x1,%al
140058409:	75 19                	jne    0x140058424
14005840b:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14005840f:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140058414:	e8 2f 2a fc ff       	call   0x14001ae48
140058419:	83 f8 01             	cmp    $0x1,%eax
14005841c:	75 06                	jne    0x140058424
14005841e:	83 63 2c 00          	andl   $0x0,0x2c(%rbx)
140058422:	eb 07                	jmp    0x14005842b
140058424:	c7 43 2c 02 00 00 00 	movl   $0x2,0x2c(%rbx)
14005842b:	8b 44 24 38          	mov    0x38(%rsp),%eax
14005842f:	48 83 c4 20          	add    $0x20,%rsp
140058433:	5b                   	pop    %rbx
140058434:	c3                   	ret
140058435:	90                   	nop
140058436:	90                   	nop
140058437:	90                   	nop
140058438:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14005843d:	57                   	push   %rdi
14005843e:	48 83 ec 20          	sub    $0x20,%rsp
140058442:	48 8b d9             	mov    %rcx,%rbx
140058445:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140058449:	48 85 c9             	test   %rcx,%rcx
14005844c:	74 57                	je     0x1400584a5
14005844e:	e8 6d 23 fc ff       	call   0x14001a7c0
140058453:	3c 01                	cmp    $0x1,%al
140058455:	75 47                	jne    0x14005849e
140058457:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14005845b:	e8 50 23 fc ff       	call   0x14001a7b0
140058460:	8b f8                	mov    %eax,%edi
140058462:	03 ff                	add    %edi,%edi
140058464:	74 38                	je     0x14005849e
140058466:	8b d7                	mov    %edi,%edx
140058468:	48 8b cb             	mov    %rbx,%rcx
14005846b:	e8 5c 00 00 00       	call   0x1400584cc
140058470:	83 7b 2c 00          	cmpl   $0x0,0x2c(%rbx)
140058474:	75 2f                	jne    0x1400584a5
140058476:	48 8b 53 20          	mov    0x20(%rbx),%rdx
14005847a:	83 ff 02             	cmp    $0x2,%edi
14005847d:	75 0d                	jne    0x14005848c
14005847f:	c6 42 01 00          	movb   $0x0,0x1(%rdx)
140058483:	48 8b 43 20          	mov    0x20(%rbx),%rax
140058487:	c6 00 00             	movb   $0x0,(%rax)
14005848a:	eb 19                	jmp    0x1400584a5
14005848c:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140058490:	d1 ef                	shr    $1,%edi
140058492:	44 8b c7             	mov    %edi,%r8d
140058495:	e8 da 29 fc ff       	call   0x14001ae74
14005849a:	85 c0                	test   %eax,%eax
14005849c:	75 07                	jne    0x1400584a5
14005849e:	c7 43 2c 02 00 00 00 	movl   $0x2,0x2c(%rbx)
1400584a5:	48 83 7b 18 00       	cmpq   $0x0,0x18(%rbx)
1400584aa:	74 0c                	je     0x1400584b8
1400584ac:	83 7b 2c 00          	cmpl   $0x0,0x2c(%rbx)
1400584b0:	75 06                	jne    0x1400584b8
1400584b2:	48 8b 43 20          	mov    0x20(%rbx),%rax
1400584b6:	eb 07                	jmp    0x1400584bf
1400584b8:	48 8d 05 f5 33 02 00 	lea    0x233f5(%rip),%rax        # 0x14007b8b4
1400584bf:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400584c4:	48 83 c4 20          	add    $0x20,%rsp
1400584c8:	5f                   	pop    %rdi
1400584c9:	c3                   	ret
1400584ca:	90                   	nop
1400584cb:	90                   	nop
1400584cc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400584d1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400584d6:	57                   	push   %rdi
1400584d7:	48 83 ec 20          	sub    $0x20,%rsp
1400584db:	48 8b d9             	mov    %rcx,%rbx
1400584de:	8b fa                	mov    %edx,%edi
1400584e0:	3b 51 28             	cmp    0x28(%rcx),%edx
1400584e3:	76 2f                	jbe    0x140058514
1400584e5:	8b cf                	mov    %edi,%ecx
1400584e7:	48 8d 15 c2 48 02 00 	lea    0x248c2(%rip),%rdx        # 0x14007cdb0
1400584ee:	e8 e9 d3 ff ff       	call   0x1400558dc
1400584f3:	48 8b f0             	mov    %rax,%rsi
1400584f6:	48 85 c0             	test   %rax,%rax
1400584f9:	74 12                	je     0x14005850d
1400584fb:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1400584ff:	e8 dc d3 ff ff       	call   0x1400558e0
140058504:	48 89 73 20          	mov    %rsi,0x20(%rbx)
140058508:	89 7b 28             	mov    %edi,0x28(%rbx)
14005850b:	eb 07                	jmp    0x140058514
14005850d:	c7 43 2c 08 00 00 00 	movl   $0x8,0x2c(%rbx)
140058514:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140058519:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14005851e:	48 83 c4 20          	add    $0x20,%rsp
140058522:	5f                   	pop    %rdi
140058523:	c3                   	ret
140058524:	48 83 ec 28          	sub    $0x28,%rsp
140058528:	48 8b 49 18          	mov    0x18(%rcx),%rcx
14005852c:	48 85 c9             	test   %rcx,%rcx
14005852f:	74 0b                	je     0x14005853c
140058531:	e8 8a 22 fc ff       	call   0x14001a7c0
140058536:	b1 01                	mov    $0x1,%cl
140058538:	3a c1                	cmp    %cl,%al
14005853a:	74 02                	je     0x14005853e
14005853c:	32 c9                	xor    %cl,%cl
14005853e:	8a c1                	mov    %cl,%al
140058540:	48 83 c4 28          	add    $0x28,%rsp
140058544:	c3                   	ret
140058545:	90                   	nop
140058546:	90                   	nop
140058547:	90                   	nop
140058548:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14005854d:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140058552:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140058557:	57                   	push   %rdi
140058558:	48 83 ec 20          	sub    $0x20,%rsp
14005855c:	49 8b f0             	mov    %r8,%rsi
14005855f:	48 8b d9             	mov    %rcx,%rbx
140058562:	48 89 11             	mov    %rdx,(%rcx)
140058565:	48 83 61 08 00       	andq   $0x0,0x8(%rcx)
14005856a:	48 83 61 08 00       	andq   $0x0,0x8(%rcx)
14005856f:	b9 50 00 00 00       	mov    $0x50,%ecx
140058574:	ff 15 1e 70 01 00    	call   *0x1701e(%rip)        # 0x14006f598
14005857a:	48 8b f8             	mov    %rax,%rdi
14005857d:	48 85 c0             	test   %rax,%rax
140058580:	0f 84 9b 00 00 00    	je     0x140058621
140058586:	48 89 43 08          	mov    %rax,0x8(%rbx)
14005858a:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
14005858f:	48 8b 00             	mov    (%rax),%rax
140058592:	8b 08                	mov    (%rax),%ecx
140058594:	89 4f 20             	mov    %ecx,0x20(%rdi)
140058597:	48 83 c7 28          	add    $0x28,%rdi
14005859b:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1400585a0:	48 83 27 00          	andq   $0x0,(%rdi)
1400585a4:	48 83 67 08 00       	andq   $0x0,0x8(%rdi)
1400585a9:	c6 47 10 00          	movb   $0x0,0x10(%rdi)
1400585ad:	e8 1e 66 fc ff       	call   0x14001ebd0
1400585b2:	48 8b c8             	mov    %rax,%rcx
1400585b5:	48 85 c0             	test   %rax,%rax
1400585b8:	74 58                	je     0x140058612
1400585ba:	48 8b 00             	mov    (%rax),%rax