1401590ce:	48 8b 41 58          	mov    0x58(%rcx),%rax
1401590d2:	48 85 c0             	test   %rax,%rax
1401590d5:	74 0c                	je     0x1401590e3
1401590d7:	ff d0                	call   *%rax
1401590d9:	85 c0                	test   %eax,%eax
1401590db:	0f 95 c0             	setne  %al
1401590de:	48 83 c4 28          	add    $0x28,%rsp
1401590e2:	c3                   	ret
1401590e3:	32 c0                	xor    %al,%al
1401590e5:	48 83 c4 28          	add    $0x28,%rsp
1401590e9:	c3                   	ret
1401590ea:	cc                   	int3
1401590eb:	cc                   	int3
1401590ec:	cc                   	int3
1401590ed:	cc                   	int3
1401590ee:	cc                   	int3
1401590ef:	cc                   	int3
1401590f0:	48 83 ec 28          	sub    $0x28,%rsp
1401590f4:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401590f8:	48 83 39 50          	cmpq   $0x50,(%rcx)
1401590fc:	72 15                	jb     0x140159113
1401590fe:	48 8b 41 48          	mov    0x48(%rcx),%rax
140159102:	48 85 c0             	test   %rax,%rax
140159105:	74 0c                	je     0x140159113
140159107:	ff d0                	call   *%rax
140159109:	85 c0                	test   %eax,%eax
14015910b:	0f 95 c0             	setne  %al
14015910e:	48 83 c4 28          	add    $0x28,%rsp
140159112:	c3                   	ret
140159113:	32 c0                	xor    %al,%al
140159115:	48 83 c4 28          	add    $0x28,%rsp
140159119:	c3                   	ret
14015911a:	cc                   	int3
14015911b:	cc                   	int3
14015911c:	cc                   	int3
14015911d:	cc                   	int3
14015911e:	cc                   	int3
14015911f:	cc                   	int3
140159120:	48 83 ec 28          	sub    $0x28,%rsp
140159124:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140159128:	48 83 39 40          	cmpq   $0x40,(%rcx)
14015912c:	72 15                	jb     0x140159143
14015912e:	48 8b 41 38          	mov    0x38(%rcx),%rax
140159132:	48 85 c0             	test   %rax,%rax
140159135:	74 0c                	je     0x140159143
140159137:	ff d0                	call   *%rax
140159139:	85 c0                	test   %eax,%eax
14015913b:	0f 95 c0             	setne  %al
14015913e:	48 83 c4 28          	add    $0x28,%rsp
140159142:	c3                   	ret
140159143:	32 c0                	xor    %al,%al
140159145:	48 83 c4 28          	add    $0x28,%rsp
140159149:	c3                   	ret
14015914a:	cc                   	int3
14015914b:	cc                   	int3
14015914c:	cc                   	int3
14015914d:	cc                   	int3
14015914e:	cc                   	int3
14015914f:	cc                   	int3
140159150:	48 83 ec 28          	sub    $0x28,%rsp
140159154:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140159158:	48 83 39 78          	cmpq   $0x78,(%rcx)
14015915c:	72 15                	jb     0x140159173
14015915e:	48 8b 41 70          	mov    0x70(%rcx),%rax
140159162:	48 85 c0             	test   %rax,%rax
140159165:	74 0c                	je     0x140159173
140159167:	ff d0                	call   *%rax
140159169:	85 c0                	test   %eax,%eax
14015916b:	0f 95 c0             	setne  %al
14015916e:	48 83 c4 28          	add    $0x28,%rsp
140159172:	c3                   	ret
140159173:	32 c0                	xor    %al,%al
140159175:	48 83 c4 28          	add    $0x28,%rsp
140159179:	c3                   	ret
14015917a:	cc                   	int3
14015917b:	cc                   	int3
14015917c:	cc                   	int3
14015917d:	cc                   	int3
14015917e:	cc                   	int3
14015917f:	cc                   	int3
140159180:	48 83 ec 28          	sub    $0x28,%rsp
140159184:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140159188:	48 81 39 98 00 00 00 	cmpq   $0x98,(%rcx)
14015918f:	72 18                	jb     0x1401591a9
140159191:	48 8b 81 90 00 00 00 	mov    0x90(%rcx),%rax
140159198:	48 85 c0             	test   %rax,%rax
14015919b:	74 0c                	je     0x1401591a9
14015919d:	ff d0                	call   *%rax
14015919f:	85 c0                	test   %eax,%eax
1401591a1:	0f 95 c0             	setne  %al
1401591a4:	48 83 c4 28          	add    $0x28,%rsp
1401591a8:	c3                   	ret
1401591a9:	32 c0                	xor    %al,%al
1401591ab:	48 83 c4 28          	add    $0x28,%rsp
1401591af:	c3                   	ret
1401591b0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401591b5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401591ba:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401591bf:	57                   	push   %rdi
1401591c0:	48 83 ec 20          	sub    $0x20,%rsp
1401591c4:	48 8b da             	mov    %rdx,%rbx
1401591c7:	48 8b 79 f8          	mov    -0x8(%rcx),%rdi
1401591cb:	48 81 3f a0 00 00 00 	cmpq   $0xa0,(%rdi)
1401591d2:	0f 82 89 00 00 00    	jb     0x140159261
1401591d8:	48 8b b7 98 00 00 00 	mov    0x98(%rdi),%rsi
1401591df:	48 85 f6             	test   %rsi,%rsi
1401591e2:	74 7d                	je     0x140159261
1401591e4:	48 8b 0a             	mov    (%rdx),%rcx
1401591e7:	48 85 c9             	test   %rcx,%rcx
1401591ea:	75 12                	jne    0x1401591fe
1401591ec:	32 c0                	xor    %al,%al
1401591ee:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401591f3:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1401591f8:	48 83 c4 20          	add    $0x20,%rsp
1401591fc:	5f                   	pop    %rdi
1401591fd:	c3                   	ret
1401591fe:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140159203:	48 8b 41 08          	mov    0x8(%rcx),%rax
140159207:	48 63 50 04          	movslq 0x4(%rax),%rdx
14015920b:	48 83 c1 08          	add    $0x8,%rcx
14015920f:	48 03 ca             	add    %rdx,%rcx
140159212:	48 8b 01             	mov    (%rcx),%rax
140159215:	ff 10                	call   *(%rax)
140159217:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14015921c:	e8 5f e5 fe ff       	call   0x140147780
140159221:	48 8b d0             	mov    %rax,%rdx
140159224:	48 8b cf             	mov    %rdi,%rcx
140159227:	ff d6                	call   *%rsi
140159229:	85 c0                	test   %eax,%eax
14015922b:	40 0f 95 c7          	setne  %dil
14015922f:	4c 8b 03             	mov    (%rbx),%r8
140159232:	4d 85 c0             	test   %r8,%r8
140159235:	74 16                	je     0x14015924d
140159237:	49 8b 48 08          	mov    0x8(%r8),%rcx
14015923b:	48 63 49 04          	movslq 0x4(%rcx),%rcx
14015923f:	49 83 c0 08          	add    $0x8,%r8
140159243:	49 03 c8             	add    %r8,%rcx
140159246:	48 8b 11             	mov    (%rcx),%rdx
140159249:	ff 52 08             	call   *0x8(%rdx)
14015924c:	90                   	nop
14015924d:	40 0f b6 c7          	movzbl %dil,%eax
140159251:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140159256:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14015925b:	48 83 c4 20          	add    $0x20,%rsp
14015925f:	5f                   	pop    %rdi
140159260:	c3                   	ret
140159261:	48 8b 12             	mov    (%rdx),%rdx
140159264:	48 85 d2             	test   %rdx,%rdx
140159267:	74 16                	je     0x14015927f
140159269:	48 8b 42 08          	mov    0x8(%rdx),%rax
14015926d:	48 63 48 04          	movslq 0x4(%rax),%rcx
140159271:	48 83 c2 08          	add    $0x8,%rdx
140159275:	48 03 ca             	add    %rdx,%rcx
140159278:	48 8b 01             	mov    (%rcx),%rax
14015927b:	ff 50 08             	call   *0x8(%rax)
14015927e:	90                   	nop
14015927f:	32 c0                	xor    %al,%al
140159281:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140159286:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14015928b:	48 83 c4 20          	add    $0x20,%rsp
14015928f:	5f                   	pop    %rdi
140159290:	c3                   	ret
140159291:	cc                   	int3
140159292:	cc                   	int3
140159293:	cc                   	int3
140159294:	cc                   	int3
140159295:	cc                   	int3
140159296:	cc                   	int3
140159297:	cc                   	int3
140159298:	cc                   	int3
140159299:	cc                   	int3
14015929a:	cc                   	int3
14015929b:	cc                   	int3
14015929c:	cc                   	int3
14015929d:	cc                   	int3
14015929e:	cc                   	int3
14015929f:	cc                   	int3
1401592a0:	48 83 ec 28          	sub    $0x28,%rsp
1401592a4:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401592a8:	48 83 39 70          	cmpq   $0x70,(%rcx)
1401592ac:	72 15                	jb     0x1401592c3
1401592ae:	48 8b 41 68          	mov    0x68(%rcx),%rax
1401592b2:	48 85 c0             	test   %rax,%rax
1401592b5:	74 0c                	je     0x1401592c3
1401592b7:	ff d0                	call   *%rax
1401592b9:	85 c0                	test   %eax,%eax
1401592bb:	0f 95 c0             	setne  %al
1401592be:	48 83 c4 28          	add    $0x28,%rsp
1401592c2:	c3                   	ret
1401592c3:	32 c0                	xor    %al,%al
1401592c5:	48 83 c4 28          	add    $0x28,%rsp
1401592c9:	c3                   	ret
1401592ca:	cc                   	int3
1401592cb:	cc                   	int3
1401592cc:	cc                   	int3
1401592cd:	cc                   	int3
1401592ce:	cc                   	int3
1401592cf:	cc                   	int3
1401592d0:	48 83 ec 28          	sub    $0x28,%rsp
1401592d4:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401592d8:	48 83 39 58          	cmpq   $0x58,(%rcx)
1401592dc:	72 15                	jb     0x1401592f3
1401592de:	48 8b 41 50          	mov    0x50(%rcx),%rax
1401592e2:	48 85 c0             	test   %rax,%rax
1401592e5:	74 0c                	je     0x1401592f3
1401592e7:	ff d0                	call   *%rax
1401592e9:	85 c0                	test   %eax,%eax
1401592eb:	0f 95 c0             	setne  %al
1401592ee:	48 83 c4 28          	add    $0x28,%rsp
1401592f2:	c3                   	ret
1401592f3:	32 c0                	xor    %al,%al
1401592f5:	48 83 c4 28          	add    $0x28,%rsp
1401592f9:	c3                   	ret
1401592fa:	cc                   	int3
1401592fb:	cc                   	int3
1401592fc:	cc                   	int3
1401592fd:	cc                   	int3
1401592fe:	cc                   	int3
1401592ff:	cc                   	int3
140159300:	48 83 ec 28          	sub    $0x28,%rsp
140159304:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140159308:	48 81 39 d8 00 00 00 	cmpq   $0xd8,(%rcx)
14015930f:	72 18                	jb     0x140159329
140159311:	48 8b 81 d0 00 00 00 	mov    0xd0(%rcx),%rax
140159318:	48 85 c0             	test   %rax,%rax
14015931b:	74 0c                	je     0x140159329
14015931d:	ff d0                	call   *%rax
14015931f:	85 c0                	test   %eax,%eax
140159321:	0f 95 c0             	setne  %al
140159324:	48 83 c4 28          	add    $0x28,%rsp
140159328:	c3                   	ret
140159329:	32 c0                	xor    %al,%al
14015932b:	48 83 c4 28          	add    $0x28,%rsp
14015932f:	c3                   	ret
140159330:	48 83 ec 28          	sub    $0x28,%rsp
140159334:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140159338:	48 81 39 88 01 00 00 	cmpq   $0x188,(%rcx)
14015933f:	72 18                	jb     0x140159359
140159341:	48 8b 81 80 01 00 00 	mov    0x180(%rcx),%rax
140159348:	48 85 c0             	test   %rax,%rax
14015934b:	74 0c                	je     0x140159359
14015934d:	ff d0                	call   *%rax
14015934f:	85 c0                	test   %eax,%eax
140159351:	0f 95 c0             	setne  %al
140159354:	48 83 c4 28          	add    $0x28,%rsp
140159358:	c3                   	ret
140159359:	32 c0                	xor    %al,%al
14015935b:	48 83 c4 28          	add    $0x28,%rsp
14015935f:	c3                   	ret
140159360:	48 83 ec 28          	sub    $0x28,%rsp
140159364:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140159368:	48 81 39 b8 01 00 00 	cmpq   $0x1b8,(%rcx)
14015936f:	72 28                	jb     0x140159399
140159371:	48 8b 81 b0 01 00 00 	mov    0x1b0(%rcx),%rax
140159378:	48 85 c0             	test   %rax,%rax
14015937b:	74 1c                	je     0x140159399
14015937d:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140159381:	48 85 d2             	test   %rdx,%rdx
140159384:	74 13                	je     0x140159399
140159386:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
14015938b:	74 0c                	je     0x140159399
14015938d:	ff d0                	call   *%rax
14015938f:	85 c0                	test   %eax,%eax
140159391:	0f 95 c0             	setne  %al
140159394:	48 83 c4 28          	add    $0x28,%rsp
140159398:	c3                   	ret
140159399:	32 c0                	xor    %al,%al
14015939b:	48 83 c4 28          	add    $0x28,%rsp
14015939f:	c3                   	ret
1401593a0:	40 53                	rex push %rbx
1401593a2:	48 83 ec 20          	sub    $0x20,%rsp
1401593a6:	48 8b d9             	mov    %rcx,%rbx
1401593a9:	48 8b 49 e0          	mov    -0x20(%rcx),%rcx
1401593ad:	48 8b 41 10          	mov    0x10(%rcx),%rax
1401593b1:	48 85 c0             	test   %rax,%rax
1401593b4:	74 02                	je     0x1401593b8
1401593b6:	ff d0                	call   *%rax
1401593b8:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401593bd:	f0 0f c1 43 f8       	lock xadd %eax,-0x8(%rbx)
1401593c2:	83 f8 01             	cmp    $0x1,%eax
1401593c5:	75 44                	jne    0x14015940b
1401593c7:	48 8d 4b d8          	lea    -0x28(%rbx),%rcx
1401593cb:	48 85 c9             	test   %rcx,%rcx
1401593ce:	74 33                	je     0x140159403
1401593d0:	48 8d 05 b9 2c 0c 00 	lea    0xc2cb9(%rip),%rax        # 0x14021c090
1401593d7:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
1401593db:	48 8b 43 f0          	mov    -0x10(%rbx),%rax
1401593df:	48 63 50 04          	movslq 0x4(%rax),%rdx
1401593e3:	48 8d 05 36 2e 0c 00 	lea    0xc2e36(%rip),%rax        # 0x14021c220
1401593ea:	48 89 44 1a f0       	mov    %rax,-0x10(%rdx,%rbx,1)
1401593ef:	48 8d 05 f2 2a 0e 00 	lea    0xe2af2(%rip),%rax        # 0x14023bee8
1401593f6:	ba 30 00 00 00       	mov    $0x30,%edx
1401593fb:	48 89 03             	mov    %rax,(%rbx)
1401593fe:	e8 49 d2 02 00       	call   0x14018664c
140159403:	b0 01                	mov    $0x1,%al
140159405:	48 83 c4 20          	add    $0x20,%rsp
140159409:	5b                   	pop    %rbx
14015940a:	c3                   	ret
14015940b:	32 c0                	xor    %al,%al
14015940d:	48 83 c4 20          	add    $0x20,%rsp
140159411:	5b                   	pop    %rbx
140159412:	c3                   	ret
140159413:	cc                   	int3
140159414:	cc                   	int3
140159415:	cc                   	int3
140159416:	cc                   	int3
140159417:	cc                   	int3
140159418:	cc                   	int3
140159419:	cc                   	int3
14015941a:	cc                   	int3
14015941b:	cc                   	int3
14015941c:	cc                   	int3
14015941d:	cc                   	int3
14015941e:	cc                   	int3
14015941f:	cc                   	int3
140159420:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140159425:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14015942a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14015942f:	57                   	push   %rdi
140159430:	48 83 ec 20          	sub    $0x20,%rsp
140159434:	48 8b da             	mov    %rdx,%rbx
140159437:	48 8b 79 f8          	mov    -0x8(%rcx),%rdi
14015943b:	48 81 3f b0 01 00 00 	cmpq   $0x1b0,(%rdi)
140159442:	72 77                	jb     0x1401594bb
140159444:	48 8b b7 a8 01 00 00 	mov    0x1a8(%rdi),%rsi
14015944b:	48 85 f6             	test   %rsi,%rsi
14015944e:	74 6b                	je     0x1401594bb
140159450:	4c 8b 02             	mov    (%rdx),%r8
140159453:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140159458:	4d 85 c0             	test   %r8,%r8
14015945b:	74 14                	je     0x140159471
14015945d:	49 8b 40 08          	mov    0x8(%r8),%rax
140159461:	48 63 48 04          	movslq 0x4(%rax),%rcx
140159465:	49 83 c0 08          	add    $0x8,%r8
140159469:	49 03 c8             	add    %r8,%rcx
14015946c:	48 8b 01             	mov    (%rcx),%rax
14015946f:	ff 10                	call   *(%rax)
140159471:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140159476:	e8 05 e3 fe ff       	call   0x140147780
14015947b:	48 8b d0             	mov    %rax,%rdx
14015947e:	48 8b cf             	mov    %rdi,%rcx
140159481:	ff d6                	call   *%rsi
140159483:	85 c0                	test   %eax,%eax
140159485:	40 0f 95 c7          	setne  %dil
140159489:	4c 8b 03             	mov    (%rbx),%r8
14015948c:	4d 85 c0             	test   %r8,%r8
14015948f:	74 16                	je     0x1401594a7
140159491:	49 8b 48 08          	mov    0x8(%r8),%rcx
140159495:	48 63 49 04          	movslq 0x4(%rcx),%rcx
140159499:	49 83 c0 08          	add    $0x8,%r8