42c447:	56                   	push   %esi
42c448:	e8 88 ce ff ff       	call   0x4292d5
42c44d:	59                   	pop    %ecx
42c44e:	85 c0                	test   %eax,%eax
42c450:	74 15                	je     0x42c467
42c452:	56                   	push   %esi
42c453:	6a 08                	push   $0x8
42c455:	ff 35 3c 61 45 00    	push   0x45613c
42c45b:	ff 15 ec f0 43 00    	call   *0x43f0ec
42c461:	85 c0                	test   %eax,%eax
42c463:	74 d9                	je     0x42c43e
42c465:	eb 0d                	jmp    0x42c474
42c467:	e8 d4 a1 ff ff       	call   0x426640
42c46c:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42c472:	33 c0                	xor    %eax,%eax
42c474:	5e                   	pop    %esi
42c475:	5d                   	pop    %ebp
42c476:	c3                   	ret
42c477:	8b ff                	mov    %edi,%edi
42c479:	55                   	push   %ebp
42c47a:	8b ec                	mov    %esp,%ebp
42c47c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42c480:	74 2d                	je     0x42c4af
42c482:	ff 75 08             	push   0x8(%ebp)
42c485:	6a 00                	push   $0x0
42c487:	ff 35 3c 61 45 00    	push   0x45613c
42c48d:	ff 15 dc f0 43 00    	call   *0x43f0dc
42c493:	85 c0                	test   %eax,%eax
42c495:	75 18                	jne    0x42c4af
42c497:	56                   	push   %esi
42c498:	ff 15 60 f0 43 00    	call   *0x43f060
42c49e:	50                   	push   %eax
42c49f:	e8 ff a0 ff ff       	call   0x4265a3
42c4a4:	59                   	pop    %ecx
42c4a5:	8b f0                	mov    %eax,%esi
42c4a7:	e8 94 a1 ff ff       	call   0x426640
42c4ac:	89 30                	mov    %esi,(%eax)
42c4ae:	5e                   	pop    %esi
42c4af:	5d                   	pop    %ebp
42c4b0:	c3                   	ret
42c4b1:	8b ff                	mov    %edi,%edi
42c4b3:	55                   	push   %ebp
42c4b4:	8b ec                	mov    %esp,%ebp
42c4b6:	56                   	push   %esi
42c4b7:	8b 75 08             	mov    0x8(%ebp),%esi
42c4ba:	83 fe e0             	cmp    $0xffffffe0,%esi
42c4bd:	77 30                	ja     0x42c4ef
42c4bf:	85 f6                	test   %esi,%esi
42c4c1:	75 17                	jne    0x42c4da
42c4c3:	46                   	inc    %esi
42c4c4:	eb 14                	jmp    0x42c4da
42c4c6:	e8 b6 f2 ff ff       	call   0x42b781
42c4cb:	85 c0                	test   %eax,%eax
42c4cd:	74 20                	je     0x42c4ef
42c4cf:	56                   	push   %esi
42c4d0:	e8 00 ce ff ff       	call   0x4292d5
42c4d5:	59                   	pop    %ecx
42c4d6:	85 c0                	test   %eax,%eax
42c4d8:	74 15                	je     0x42c4ef
42c4da:	56                   	push   %esi
42c4db:	6a 00                	push   $0x0
42c4dd:	ff 35 3c 61 45 00    	push   0x45613c
42c4e3:	ff 15 ec f0 43 00    	call   *0x43f0ec
42c4e9:	85 c0                	test   %eax,%eax
42c4eb:	74 d9                	je     0x42c4c6
42c4ed:	eb 0d                	jmp    0x42c4fc
42c4ef:	e8 4c a1 ff ff       	call   0x426640
42c4f4:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42c4fa:	33 c0                	xor    %eax,%eax
42c4fc:	5e                   	pop    %esi
42c4fd:	5d                   	pop    %ebp
42c4fe:	c3                   	ret
42c4ff:	8b ff                	mov    %edi,%edi
42c501:	55                   	push   %ebp
42c502:	8b ec                	mov    %esp,%ebp
42c504:	56                   	push   %esi
42c505:	8b 75 0c             	mov    0xc(%ebp),%esi
42c508:	8b 06                	mov    (%esi),%eax
42c50a:	3b 05 20 5d 45 00    	cmp    0x455d20,%eax
42c510:	74 17                	je     0x42c529
42c512:	8b 4d 08             	mov    0x8(%ebp),%ecx
42c515:	a1 68 45 45 00       	mov    0x454568,%eax
42c51a:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42c520:	75 07                	jne    0x42c529
42c522:	e8 f7 90 00 00       	call   0x43561e
42c527:	89 06                	mov    %eax,(%esi)
42c529:	5e                   	pop    %esi
42c52a:	5d                   	pop    %ebp
42c52b:	c3                   	ret
42c52c:	8b ff                	mov    %edi,%edi
42c52e:	55                   	push   %ebp
42c52f:	8b ec                	mov    %esp,%ebp
42c531:	8b 45 10             	mov    0x10(%ebp),%eax
42c534:	56                   	push   %esi
42c535:	8b 75 0c             	mov    0xc(%ebp),%esi
42c538:	8b 0e                	mov    (%esi),%ecx
42c53a:	3b 0c 85 20 5d 45 00 	cmp    0x455d20(,%eax,4),%ecx
42c541:	74 17                	je     0x42c55a
42c543:	8b 4d 08             	mov    0x8(%ebp),%ecx
42c546:	a1 68 45 45 00       	mov    0x454568,%eax
42c54b:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42c551:	75 07                	jne    0x42c55a
42c553:	e8 c6 90 00 00       	call   0x43561e
42c558:	89 06                	mov    %eax,(%esi)
42c55a:	5e                   	pop    %esi
42c55b:	5d                   	pop    %ebp
42c55c:	c3                   	ret
42c55d:	8b ff                	mov    %edi,%edi
42c55f:	55                   	push   %ebp
42c560:	8b ec                	mov    %esp,%ebp
42c562:	56                   	push   %esi
42c563:	8b 75 0c             	mov    0xc(%ebp),%esi
42c566:	8b 06                	mov    (%esi),%eax
42c568:	3b 05 14 61 45 00    	cmp    0x456114,%eax
42c56e:	74 17                	je     0x42c587
42c570:	8b 4d 08             	mov    0x8(%ebp),%ecx
42c573:	a1 68 45 45 00       	mov    0x454568,%eax
42c578:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42c57e:	75 07                	jne    0x42c587
42c580:	e8 13 76 00 00       	call   0x433b98
42c585:	89 06                	mov    %eax,(%esi)
42c587:	5e                   	pop    %esi
42c588:	5d                   	pop    %ebp
42c589:	c3                   	ret
42c58a:	8b ff                	mov    %edi,%edi
42c58c:	55                   	push   %ebp
42c58d:	8b ec                	mov    %esp,%ebp
42c58f:	8b 45 10             	mov    0x10(%ebp),%eax
42c592:	56                   	push   %esi
42c593:	8b 75 0c             	mov    0xc(%ebp),%esi
42c596:	8b 0e                	mov    (%esi),%ecx
42c598:	3b 0c 85 14 61 45 00 	cmp    0x456114(,%eax,4),%ecx
42c59f:	74 17                	je     0x42c5b8
42c5a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
42c5a4:	a1 68 45 45 00       	mov    0x454568,%eax
42c5a9:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42c5af:	75 07                	jne    0x42c5b8
42c5b1:	e8 e2 75 00 00       	call   0x433b98
42c5b6:	89 06                	mov    %eax,(%esi)
42c5b8:	5e                   	pop    %esi
42c5b9:	5d                   	pop    %ebp
42c5ba:	c3                   	ret
42c5bb:	8b ff                	mov    %edi,%edi
42c5bd:	55                   	push   %ebp
42c5be:	8b ec                	mov    %esp,%ebp
42c5c0:	8b 45 08             	mov    0x8(%ebp),%eax
42c5c3:	33 c9                	xor    %ecx,%ecx
42c5c5:	56                   	push   %esi
42c5c6:	57                   	push   %edi
42c5c7:	be ff 07 00 00       	mov    $0x7ff,%esi
42c5cc:	8b 38                	mov    (%eax),%edi
42c5ce:	8b 50 04             	mov    0x4(%eax),%edx
42c5d1:	8b c2                	mov    %edx,%eax
42c5d3:	c1 e8 14             	shr    $0x14,%eax
42c5d6:	23 c6                	and    %esi,%eax
42c5d8:	3b c6                	cmp    %esi,%eax
42c5da:	75 3b                	jne    0x42c617
42c5dc:	8b f2                	mov    %edx,%esi
42c5de:	8b c7                	mov    %edi,%eax
42c5e0:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
42c5e6:	0b c6                	or     %esi,%eax
42c5e8:	75 03                	jne    0x42c5ed
42c5ea:	40                   	inc    %eax
42c5eb:	eb 2c                	jmp    0x42c619
42c5ed:	b8 00 00 08 00       	mov    $0x80000,%eax
42c5f2:	3b d1                	cmp    %ecx,%edx
42c5f4:	7f 13                	jg     0x42c609
42c5f6:	7c 04                	jl     0x42c5fc
42c5f8:	3b f9                	cmp    %ecx,%edi
42c5fa:	73 0d                	jae    0x42c609
42c5fc:	3b f9                	cmp    %ecx,%edi
42c5fe:	75 09                	jne    0x42c609
42c600:	3b f0                	cmp    %eax,%esi
42c602:	75 05                	jne    0x42c609
42c604:	6a 04                	push   $0x4
42c606:	58                   	pop    %eax
42c607:	eb 10                	jmp    0x42c619
42c609:	23 d0                	and    %eax,%edx
42c60b:	0b ca                	or     %edx,%ecx
42c60d:	74 04                	je     0x42c613
42c60f:	6a 02                	push   $0x2
42c611:	eb f3                	jmp    0x42c606
42c613:	6a 03                	push   $0x3
42c615:	eb ef                	jmp    0x42c606
42c617:	33 c0                	xor    %eax,%eax
42c619:	5f                   	pop    %edi
42c61a:	5e                   	pop    %esi
42c61b:	5d                   	pop    %ebp
42c61c:	c3                   	ret
42c61d:	8b ff                	mov    %edi,%edi
42c61f:	55                   	push   %ebp
42c620:	8b ec                	mov    %esp,%ebp
42c622:	8b 45 08             	mov    0x8(%ebp),%eax
42c625:	53                   	push   %ebx
42c626:	0f bf 5d 14          	movswl 0x14(%ebp),%ebx
42c62a:	56                   	push   %esi
42c62b:	8b 70 04             	mov    0x4(%eax),%esi
42c62e:	8b cb                	mov    %ebx,%ecx
42c630:	57                   	push   %edi
42c631:	8b 38                	mov    (%eax),%edi
42c633:	8b d6                	mov    %esi,%edx
42c635:	23 55 10             	and    0x10(%ebp),%edx
42c638:	8b c7                	mov    %edi,%eax
42c63a:	23 45 0c             	and    0xc(%ebp),%eax
42c63d:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
42c643:	e8 d8 fc 00 00       	call   0x43c320
42c648:	6a 08                	push   $0x8
42c64a:	0f b7 c0             	movzwl %ax,%eax
42c64d:	59                   	pop    %ecx
42c64e:	66 3b c1             	cmp    %cx,%ax
42c651:	77 66                	ja     0x42c6b9
42c653:	73 04                	jae    0x42c659
42c655:	32 c0                	xor    %al,%al
42c657:	eb 62                	jmp    0x42c6bb
42c659:	33 c0                	xor    %eax,%eax
42c65b:	33 d2                	xor    %edx,%edx
42c65d:	40                   	inc    %eax
42c65e:	8b cb                	mov    %ebx,%ecx
42c660:	e8 9b fc 00 00       	call   0x43c300
42c665:	83 c0 ff             	add    $0xffffffff,%eax
42c668:	83 d2 ff             	adc    $0xffffffff,%edx
42c66b:	23 c7                	and    %edi,%eax
42c66d:	23 d6                	and    %esi,%edx
42c66f:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
42c675:	0b c2                	or     %edx,%eax
42c677:	75 40                	jne    0x42c6b9
42c679:	66 83 7d 14 30       	cmpw   $0x30,0x14(%ebp)
42c67e:	74 22                	je     0x42c6a2
42c680:	0f ac f7 04          	shrd   $0x4,%esi,%edi
42c684:	8b cb                	mov    %ebx,%ecx
42c686:	23 7d 0c             	and    0xc(%ebp),%edi
42c689:	c1 ee 04             	shr    $0x4,%esi
42c68c:	8b c7                	mov    %edi,%eax
42c68e:	23 75 10             	and    0x10(%ebp),%esi
42c691:	81 e6 ff ff 00 00    	and    $0xffff,%esi
42c697:	8b d6                	mov    %esi,%edx
42c699:	e8 82 fc 00 00       	call   0x43c320
42c69e:	8a c8                	mov    %al,%cl
42c6a0:	eb 10                	jmp    0x42c6b2
42c6a2:	33 c9                	xor    %ecx,%ecx
42c6a4:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
42c6aa:	8b c1                	mov    %ecx,%eax
42c6ac:	0b c6                	or     %esi,%eax
42c6ae:	74 02                	je     0x42c6b2
42c6b0:	b1 01                	mov    $0x1,%cl
42c6b2:	80 e1 01             	and    $0x1,%cl
42c6b5:	8a c1                	mov    %cl,%al
42c6b7:	eb 02                	jmp    0x42c6bb
42c6b9:	b0 01                	mov    $0x1,%al
42c6bb:	5f                   	pop    %edi
42c6bc:	5e                   	pop    %esi
42c6bd:	5b                   	pop    %ebx
42c6be:	5d                   	pop    %ebp
42c6bf:	c3                   	ret
42c6c0:	8b ff                	mov    %edi,%edi
42c6c2:	55                   	push   %ebp
42c6c3:	8b ec                	mov    %esp,%ebp
42c6c5:	83 ec 2c             	sub    $0x2c,%esp
42c6c8:	33 d2                	xor    %edx,%edx
42c6ca:	56                   	push   %esi
42c6cb:	8b 75 1c             	mov    0x1c(%ebp),%esi
42c6ce:	57                   	push   %edi
42c6cf:	85 f6                	test   %esi,%esi
42c6d1:	79 02                	jns    0x42c6d5
42c6d3:	8b f2                	mov    %edx,%esi
42c6d5:	8b 7d 0c             	mov    0xc(%ebp),%edi
42c6d8:	8d 46 0b             	lea    0xb(%esi),%eax
42c6db:	88 17                	mov    %dl,(%edi)
42c6dd:	39 45 10             	cmp    %eax,0x10(%ebp)
42c6e0:	77 22                	ja     0x42c704
42c6e2:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
42c6e5:	6a 22                	push   $0x22
42c6e7:	5e                   	pop    %esi
42c6e8:	51                   	push   %ecx
42c6e9:	52                   	push   %edx
42c6ea:	52                   	push   %edx
42c6eb:	52                   	push   %edx
42c6ec:	52                   	push   %edx
42c6ed:	52                   	push   %edx
42c6ee:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
42c6f2:	89 71 18             	mov    %esi,0x18(%ecx)
42c6f5:	e8 f8 42 ff ff       	call   0x4209f2
42c6fa:	83 c4 18             	add    $0x18,%esp
42c6fd:	8b c6                	mov    %esi,%eax
42c6ff:	e9 e5 02 00 00       	jmp    0x42c9e9
42c704:	53                   	push   %ebx
42c705:	8b 5d 08             	mov    0x8(%ebp),%ebx
42c708:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
42c70d:	8b 43 04             	mov    0x4(%ebx),%eax
42c710:	c1 e8 14             	shr    $0x14,%eax
42c713:	23 c1                	and    %ecx,%eax
42c715:	3b c1                	cmp    %ecx,%eax
42c717:	75 53                	jne    0x42c76c
42c719:	ff 75 2c             	push   0x2c(%ebp)
42c71c:	ff 75 28             	push   0x28(%ebp)
42c71f:	ff 75 24             	push   0x24(%ebp)
42c722:	52                   	push   %edx
42c723:	56                   	push   %esi
42c724:	ff 75 18             	push   0x18(%ebp)
42c727:	ff 75 14             	push   0x14(%ebp)
42c72a:	ff 75 10             	push   0x10(%ebp)
42c72d:	57                   	push   %edi
42c72e:	53                   	push   %ebx
42c72f:	e8 b9 02 00 00       	call   0x42c9ed
42c734:	83 c4 28             	add    $0x28,%esp
42c737:	85 c0                	test   %eax,%eax
42c739:	74 08                	je     0x42c743
42c73b:	c6 07 00             	movb   $0x0,(%edi)
42c73e:	e9 a5 02 00 00       	jmp    0x42c9e8
42c743:	6a 65                	push   $0x65
42c745:	57                   	push   %edi
42c746:	e8 85 fc 00 00       	call   0x43c3d0
42c74b:	59                   	pop    %ecx
42c74c:	59                   	pop    %ecx
42c74d:	85 c0                	test   %eax,%eax
42c74f:	0f 84 91 02 00 00    	je     0x42c9e6
42c755:	8a 4d 20             	mov    0x20(%ebp),%cl
42c758:	80 f1 01             	xor    $0x1,%cl
42c75b:	c0 e1 05             	shl    $0x5,%cl
42c75e:	80 c1 50             	add    $0x50,%cl
42c761:	88 08                	mov    %cl,(%eax)
42c763:	c6 40 03 00          	movb   $0x0,0x3(%eax)
42c767:	e9 7a 02 00 00       	jmp    0x42c9e6
42c76c:	39 53 04             	cmp    %edx,0x4(%ebx)
42c76f:	7f 0a                	jg     0x42c77b
42c771:	7c 04                	jl     0x42c777
42c773:	39 13                	cmp    %edx,(%ebx)
42c775:	73 04                	jae    0x42c77b
42c777:	c6 07 2d             	movb   $0x2d,(%edi)
42c77a:	47                   	inc    %edi
42c77b:	8a 45 20             	mov    0x20(%ebp),%al
42c77e:	8d 57 01             	lea    0x1(%edi),%edx
42c781:	8b 4b 04             	mov    0x4(%ebx),%ecx
42c784:	34 01                	xor    $0x1,%al
42c786:	88 45 ff             	mov    %al,-0x1(%ebp)
42c789:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
42c78f:	0f b6 c0             	movzbl %al,%eax
42c792:	c1 e0 05             	shl    $0x5,%eax
42c795:	83 c0 07             	add    $0x7,%eax
42c798:	c7 45 f0 ff 03 00 00 	movl   $0x3ff,-0x10(%ebp)
42c79f:	89 45 d8             	mov    %eax,-0x28(%ebp)
42c7a2:	33 c0                	xor    %eax,%eax
42c7a4:	0b c1                	or     %ecx,%eax
42c7a6:	89 55 f4             	mov    %edx,-0xc(%ebp)
42c7a9:	6a 30                	push   $0x30
42c7ab:	58                   	pop    %eax
42c7ac:	75 1e                	jne    0x42c7cc
42c7ae:	88 07                	mov    %al,(%edi)
42c7b0:	8b 43 04             	mov    0x4(%ebx),%eax
42c7b3:	8b 0b                	mov    (%ebx),%ecx