41438c:	e8 7a ed ff ff       	call   0x41310b
414391:	59                   	pop    %ecx
414392:	eb c0                	jmp    0x414354
414394:	57                   	push   %edi
414395:	ff 35 c8 31 43 00    	push   0x4331c8
41439b:	e8 35 f2 ff ff       	call   0x4135d5
4143a0:	85 c0                	test   %eax,%eax
4143a2:	75 11                	jne    0x4143b5
4143a4:	33 db                	xor    %ebx,%ebx
4143a6:	53                   	push   %ebx
4143a7:	ff 35 c8 31 43 00    	push   0x4331c8
4143ad:	e8 23 f2 ff ff       	call   0x4135d5
4143b2:	57                   	push   %edi
4143b3:	eb d7                	jmp    0x41438c
4143b5:	68 d8 4c 43 00       	push   $0x434cd8
4143ba:	57                   	push   %edi
4143bb:	e8 41 fc ff ff       	call   0x414001
4143c0:	6a 00                	push   $0x0
4143c2:	e8 44 ed ff ff       	call   0x41310b
4143c7:	83 c4 0c             	add    $0xc,%esp
4143ca:	8b df                	mov    %edi,%ebx
4143cc:	56                   	push   %esi
4143cd:	ff 15 9c 40 42 00    	call   *0x42409c
4143d3:	f7 df                	neg    %edi
4143d5:	1b ff                	sbb    %edi,%edi
4143d7:	23 fb                	and    %ebx,%edi
4143d9:	8b c7                	mov    %edi,%eax
4143db:	5f                   	pop    %edi
4143dc:	5e                   	pop    %esi
4143dd:	5b                   	pop    %ebx
4143de:	c3                   	ret
4143df:	68 9a 40 41 00       	push   $0x41409a
4143e4:	e8 2f f1 ff ff       	call   0x413518
4143e9:	a3 c8 31 43 00       	mov    %eax,0x4331c8
4143ee:	83 f8 ff             	cmp    $0xffffffff,%eax
4143f1:	75 03                	jne    0x4143f6
4143f3:	32 c0                	xor    %al,%al
4143f5:	c3                   	ret
4143f6:	e8 2f ff ff ff       	call   0x41432a
4143fb:	85 c0                	test   %eax,%eax
4143fd:	75 09                	jne    0x414408
4143ff:	50                   	push   %eax
414400:	e8 06 00 00 00       	call   0x41440b
414405:	59                   	pop    %ecx
414406:	eb eb                	jmp    0x4143f3
414408:	b0 01                	mov    $0x1,%al
41440a:	c3                   	ret
41440b:	a1 c8 31 43 00       	mov    0x4331c8,%eax
414410:	83 f8 ff             	cmp    $0xffffffff,%eax
414413:	74 0d                	je     0x414422
414415:	50                   	push   %eax
414416:	e8 3c f1 ff ff       	call   0x413557
41441b:	83 0d c8 31 43 00 ff 	orl    $0xffffffff,0x4331c8
414422:	b0 01                	mov    $0x1,%al
414424:	c3                   	ret
414425:	8b ff                	mov    %edi,%edi
414427:	55                   	push   %ebp
414428:	8b ec                	mov    %esp,%ebp
41442a:	56                   	push   %esi
41442b:	8b 75 0c             	mov    0xc(%ebp),%esi
41442e:	8b 06                	mov    (%esi),%eax
414430:	3b 05 d8 4c 43 00    	cmp    0x434cd8,%eax
414436:	74 17                	je     0x41444f
414438:	8b 4d 08             	mov    0x8(%ebp),%ecx
41443b:	a1 a0 33 43 00       	mov    0x4333a0,%eax
414440:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
414446:	75 07                	jne    0x41444f
414448:	e8 c9 83 00 00       	call   0x41c816
41444d:	89 06                	mov    %eax,(%esi)
41444f:	5e                   	pop    %esi
414450:	5d                   	pop    %ebp
414451:	c3                   	ret
414452:	8b ff                	mov    %edi,%edi
414454:	55                   	push   %ebp
414455:	8b ec                	mov    %esp,%ebp
414457:	56                   	push   %esi
414458:	8b 75 0c             	mov    0xc(%ebp),%esi
41445b:	8b 06                	mov    (%esi),%eax
41445d:	3b 05 c4 4d 43 00    	cmp    0x434dc4,%eax
414463:	74 17                	je     0x41447c
414465:	8b 4d 08             	mov    0x8(%ebp),%ecx
414468:	a1 a0 33 43 00       	mov    0x4333a0,%eax
41446d:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
414473:	75 07                	jne    0x41447c
414475:	e8 db 6c 00 00       	call   0x41b155
41447a:	89 06                	mov    %eax,(%esi)
41447c:	5e                   	pop    %esi
41447d:	5d                   	pop    %ebp
41447e:	c3                   	ret
41447f:	8b ff                	mov    %edi,%edi
414481:	55                   	push   %ebp
414482:	8b ec                	mov    %esp,%ebp
414484:	8b 45 08             	mov    0x8(%ebp),%eax
414487:	33 c9                	xor    %ecx,%ecx
414489:	56                   	push   %esi
41448a:	57                   	push   %edi
41448b:	be ff 07 00 00       	mov    $0x7ff,%esi
414490:	8b 38                	mov    (%eax),%edi
414492:	8b 50 04             	mov    0x4(%eax),%edx
414495:	8b c2                	mov    %edx,%eax
414497:	c1 e8 14             	shr    $0x14,%eax
41449a:	23 c6                	and    %esi,%eax
41449c:	3b c6                	cmp    %esi,%eax
41449e:	75 3b                	jne    0x4144db
4144a0:	8b f2                	mov    %edx,%esi
4144a2:	8b c7                	mov    %edi,%eax
4144a4:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
4144aa:	0b c6                	or     %esi,%eax
4144ac:	75 03                	jne    0x4144b1
4144ae:	40                   	inc    %eax
4144af:	eb 2c                	jmp    0x4144dd
4144b1:	b8 00 00 08 00       	mov    $0x80000,%eax
4144b6:	3b d1                	cmp    %ecx,%edx
4144b8:	7f 13                	jg     0x4144cd
4144ba:	7c 04                	jl     0x4144c0
4144bc:	3b f9                	cmp    %ecx,%edi
4144be:	73 0d                	jae    0x4144cd
4144c0:	3b f9                	cmp    %ecx,%edi
4144c2:	75 09                	jne    0x4144cd
4144c4:	3b f0                	cmp    %eax,%esi
4144c6:	75 05                	jne    0x4144cd
4144c8:	6a 04                	push   $0x4
4144ca:	58                   	pop    %eax
4144cb:	eb 10                	jmp    0x4144dd
4144cd:	23 d0                	and    %eax,%edx
4144cf:	0b ca                	or     %edx,%ecx
4144d1:	74 04                	je     0x4144d7
4144d3:	6a 02                	push   $0x2
4144d5:	eb f3                	jmp    0x4144ca
4144d7:	6a 03                	push   $0x3
4144d9:	eb ef                	jmp    0x4144ca
4144db:	33 c0                	xor    %eax,%eax
4144dd:	5f                   	pop    %edi
4144de:	5e                   	pop    %esi
4144df:	5d                   	pop    %ebp
4144e0:	c3                   	ret
4144e1:	8b ff                	mov    %edi,%edi
4144e3:	55                   	push   %ebp
4144e4:	8b ec                	mov    %esp,%ebp
4144e6:	8b 45 08             	mov    0x8(%ebp),%eax
4144e9:	53                   	push   %ebx
4144ea:	0f bf 5d 14          	movswl 0x14(%ebp),%ebx
4144ee:	56                   	push   %esi
4144ef:	8b 70 04             	mov    0x4(%eax),%esi
4144f2:	8b cb                	mov    %ebx,%ecx
4144f4:	57                   	push   %edi
4144f5:	8b 38                	mov    (%eax),%edi
4144f7:	8b d6                	mov    %esi,%edx
4144f9:	23 55 10             	and    0x10(%ebp),%edx
4144fc:	8b c7                	mov    %edi,%eax
4144fe:	23 45 0c             	and    0xc(%ebp),%eax
414501:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
414507:	e8 a4 e0 00 00       	call   0x4225b0
41450c:	6a 08                	push   $0x8
41450e:	0f b7 c0             	movzwl %ax,%eax
414511:	59                   	pop    %ecx
414512:	66 3b c1             	cmp    %cx,%ax
414515:	77 66                	ja     0x41457d
414517:	73 04                	jae    0x41451d
414519:	32 c0                	xor    %al,%al
41451b:	eb 62                	jmp    0x41457f
41451d:	33 c0                	xor    %eax,%eax
41451f:	33 d2                	xor    %edx,%edx
414521:	40                   	inc    %eax
414522:	8b cb                	mov    %ebx,%ecx
414524:	e8 67 e0 00 00       	call   0x422590
414529:	83 c0 ff             	add    $0xffffffff,%eax
41452c:	83 d2 ff             	adc    $0xffffffff,%edx
41452f:	23 c7                	and    %edi,%eax
414531:	23 d6                	and    %esi,%edx
414533:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
414539:	0b c2                	or     %edx,%eax
41453b:	75 40                	jne    0x41457d
41453d:	66 83 7d 14 30       	cmpw   $0x30,0x14(%ebp)
414542:	74 22                	je     0x414566
414544:	0f ac f7 04          	shrd   $0x4,%esi,%edi
414548:	8b cb                	mov    %ebx,%ecx
41454a:	23 7d 0c             	and    0xc(%ebp),%edi
41454d:	c1 ee 04             	shr    $0x4,%esi
414550:	8b c7                	mov    %edi,%eax
414552:	23 75 10             	and    0x10(%ebp),%esi
414555:	81 e6 ff ff 00 00    	and    $0xffff,%esi
41455b:	8b d6                	mov    %esi,%edx
41455d:	e8 4e e0 00 00       	call   0x4225b0
414562:	8a c8                	mov    %al,%cl
414564:	eb 10                	jmp    0x414576
414566:	33 c9                	xor    %ecx,%ecx
414568:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
41456e:	8b c1                	mov    %ecx,%eax
414570:	0b c6                	or     %esi,%eax
414572:	74 02                	je     0x414576
414574:	b1 01                	mov    $0x1,%cl
414576:	80 e1 01             	and    $0x1,%cl
414579:	8a c1                	mov    %cl,%al
41457b:	eb 02                	jmp    0x41457f
41457d:	b0 01                	mov    $0x1,%al
41457f:	5f                   	pop    %edi
414580:	5e                   	pop    %esi
414581:	5b                   	pop    %ebx
414582:	5d                   	pop    %ebp
414583:	c3                   	ret
414584:	8b ff                	mov    %edi,%edi
414586:	55                   	push   %ebp
414587:	8b ec                	mov    %esp,%ebp
414589:	83 ec 38             	sub    $0x38,%esp
41458c:	33 c0                	xor    %eax,%eax
41458e:	57                   	push   %edi
41458f:	8b 7d 1c             	mov    0x1c(%ebp),%edi
414592:	85 ff                	test   %edi,%edi
414594:	79 02                	jns    0x414598
414596:	8b f8                	mov    %eax,%edi
414598:	53                   	push   %ebx
414599:	56                   	push   %esi
41459a:	8b 75 0c             	mov    0xc(%ebp),%esi
41459d:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4145a0:	ff 75 28             	push   0x28(%ebp)
4145a3:	88 06                	mov    %al,(%esi)
4145a5:	e8 d4 76 ff ff       	call   0x40bc7e
4145aa:	8d 47 0b             	lea    0xb(%edi),%eax
4145ad:	39 45 10             	cmp    %eax,0x10(%ebp)
4145b0:	77 14                	ja     0x4145c6
4145b2:	e8 44 a8 ff ff       	call   0x40edfb
4145b7:	6a 22                	push   $0x22
4145b9:	5f                   	pop    %edi
4145ba:	89 38                	mov    %edi,(%eax)
4145bc:	e8 c0 8a ff ff       	call   0x40d081
4145c1:	e9 b6 02 00 00       	jmp    0x41487c
4145c6:	8b 5d 08             	mov    0x8(%ebp),%ebx
4145c9:	8b 4b 04             	mov    0x4(%ebx),%ecx
4145cc:	8b c1                	mov    %ecx,%eax
4145ce:	8b 13                	mov    (%ebx),%edx
4145d0:	c1 e8 14             	shr    $0x14,%eax
4145d3:	25 ff 07 00 00       	and    $0x7ff,%eax
4145d8:	3d ff 07 00 00       	cmp    $0x7ff,%eax
4145dd:	75 53                	jne    0x414632
4145df:	ff 75 2c             	push   0x2c(%ebp)
4145e2:	33 c0                	xor    %eax,%eax
4145e4:	50                   	push   %eax
4145e5:	ff 75 24             	push   0x24(%ebp)
4145e8:	50                   	push   %eax
4145e9:	57                   	push   %edi
4145ea:	ff 75 18             	push   0x18(%ebp)
4145ed:	ff 75 14             	push   0x14(%ebp)
4145f0:	ff 75 10             	push   0x10(%ebp)
4145f3:	56                   	push   %esi
4145f4:	53                   	push   %ebx
4145f5:	e8 99 02 00 00       	call   0x414893
4145fa:	8b f8                	mov    %eax,%edi
4145fc:	83 c4 28             	add    $0x28,%esp
4145ff:	85 ff                	test   %edi,%edi
414601:	74 08                	je     0x41460b
414603:	c6 06 00             	movb   $0x0,(%esi)
414606:	e9 71 02 00 00       	jmp    0x41487c
41460b:	6a 65                	push   $0x65
41460d:	56                   	push   %esi
41460e:	e8 dd e1 00 00       	call   0x4227f0
414613:	59                   	pop    %ecx
414614:	59                   	pop    %ecx
414615:	85 c0                	test   %eax,%eax
414617:	74 12                	je     0x41462b
414619:	8a 4d 20             	mov    0x20(%ebp),%cl
41461c:	80 f1 01             	xor    $0x1,%cl
41461f:	c0 e1 05             	shl    $0x5,%cl
414622:	80 c1 50             	add    $0x50,%cl
414625:	88 08                	mov    %cl,(%eax)
414627:	c6 40 03 00          	movb   $0x0,0x3(%eax)
41462b:	33 ff                	xor    %edi,%edi
41462d:	e9 4a 02 00 00       	jmp    0x41487c
414632:	33 c0                	xor    %eax,%eax
414634:	3b c8                	cmp    %eax,%ecx
414636:	7f 0d                	jg     0x414645
414638:	7c 04                	jl     0x41463e
41463a:	3b d0                	cmp    %eax,%edx
41463c:	73 07                	jae    0x414645
41463e:	c6 06 2d             	movb   $0x2d,(%esi)
414641:	46                   	inc    %esi
414642:	8b 4b 04             	mov    0x4(%ebx),%ecx
414645:	8a 45 20             	mov    0x20(%ebp),%al
414648:	8d 56 01             	lea    0x1(%esi),%edx
41464b:	34 01                	xor    $0x1,%al
41464d:	c7 45 f4 ff 03 00 00 	movl   $0x3ff,-0xc(%ebp)
414654:	88 45 ff             	mov    %al,-0x1(%ebp)
414657:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
41465d:	0f b6 c0             	movzbl %al,%eax
414660:	c1 e0 05             	shl    $0x5,%eax
414663:	83 c0 07             	add    $0x7,%eax
414666:	89 55 dc             	mov    %edx,-0x24(%ebp)
414669:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41466c:	33 c0                	xor    %eax,%eax
41466e:	0b c1                	or     %ecx,%eax
414670:	6a 30                	push   $0x30
414672:	58                   	pop    %eax
414673:	75 1e                	jne    0x414693
414675:	88 06                	mov    %al,(%esi)
414677:	8b 43 04             	mov    0x4(%ebx),%eax
41467a:	8b 0b                	mov    (%ebx),%ecx
41467c:	25 ff ff 0f 00       	and    $0xfffff,%eax
414681:	0b c8                	or     %eax,%ecx
414683:	75 05                	jne    0x41468a
414685:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414688:	eb 0e                	jmp    0x414698
41468a:	c7 45 f4 fe 03 00 00 	movl   $0x3fe,-0xc(%ebp)
414691:	eb 03                	jmp    0x414696
414693:	c6 06 31             	movb   $0x31,(%esi)
414696:	33 c9                	xor    %ecx,%ecx
414698:	8d 72 01             	lea    0x1(%edx),%esi
41469b:	89 75 f8             	mov    %esi,-0x8(%ebp)
41469e:	85 ff                	test   %edi,%edi
4146a0:	75 04                	jne    0x4146a6
4146a2:	8a c1                	mov    %cl,%al
4146a4:	eb 0d                	jmp    0x4146b3
4146a6:	8b 45 cc             	mov    -0x34(%ebp),%eax
4146a9:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
4146af:	8b 00                	mov    (%eax),%eax
4146b1:	8a 00                	mov    (%eax),%al
4146b3:	88 02                	mov    %al,(%edx)
4146b5:	8b 43 04             	mov    0x4(%ebx),%eax
4146b8:	25 ff ff 0f 00       	and    $0xfffff,%eax
4146bd:	89 45 ec             	mov    %eax,-0x14(%ebp)
4146c0:	77 08                	ja     0x4146ca
4146c2:	39 0b                	cmp    %ecx,(%ebx)
4146c4:	0f 86 b7 00 00 00    	jbe    0x414781
4146ca:	6a 30                	push   $0x30
4146cc:	8b d1                	mov    %ecx,%edx
4146ce:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
4146d3:	58                   	pop    %eax
4146d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4146d7:	89 55 f0             	mov    %edx,-0x10(%ebp)
4146da:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4146dd:	85 ff                	test   %edi,%edi
4146df:	7e 50                	jle    0x414731
4146e1:	8b 03                	mov    (%ebx),%eax
4146e3:	23 c2                	and    %edx,%eax
4146e5:	8b 53 04             	mov    0x4(%ebx),%edx
4146e8:	23 d1                	and    %ecx,%edx
4146ea:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4146ed:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4146f3:	0f bf c9             	movswl %cx,%ecx
4146f6:	e8 b5 de 00 00       	call   0x4225b0
4146fb:	6a 30                	push   $0x30
4146fd:	59                   	pop    %ecx
4146fe:	66 03 c1             	add    %cx,%ax
414701:	0f b7 c0             	movzwl %ax,%eax
414704:	83 f8 39             	cmp    $0x39,%eax
414707:	76 03                	jbe    0x41470c
414709:	03 45 e4             	add    -0x1c(%ebp),%eax
41470c:	8b 55 f0             	mov    -0x10(%ebp),%edx
41470f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
414712:	0f ac ca 04          	shrd   $0x4,%ecx,%edx
414716:	88 06                	mov    %al,(%esi)