41258a:	07                   	pop    %es
41258b:	05 06 90 90 90       	add    $0x90909006,%eax
412590:	8b 54 24 04          	mov    0x4(%esp),%edx
412594:	56                   	push   %esi
412595:	8b 74 24 0c          	mov    0xc(%esp),%esi
412599:	57                   	push   %edi
41259a:	8b 3d e4 1d 43 00    	mov    0x431de4,%edi
4125a0:	8b 4e 04             	mov    0x4(%esi),%ecx
4125a3:	8b c6                	mov    %esi,%eax
4125a5:	3b ca                	cmp    %edx,%ecx
4125a7:	74 12                	je     0x4125bb
4125a9:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
4125ac:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
4125af:	83 c0 0c             	add    $0xc,%eax
4125b2:	3b c1                	cmp    %ecx,%eax
4125b4:	73 05                	jae    0x4125bb
4125b6:	39 50 04             	cmp    %edx,0x4(%eax)
4125b9:	75 f4                	jne    0x4125af
4125bb:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
4125be:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
4125c1:	3b c1                	cmp    %ecx,%eax
4125c3:	73 05                	jae    0x4125ca
4125c5:	39 50 04             	cmp    %edx,0x4(%eax)
4125c8:	74 02                	je     0x4125cc
4125ca:	33 c0                	xor    %eax,%eax
4125cc:	5f                   	pop    %edi
4125cd:	5e                   	pop    %esi
4125ce:	c3                   	ret
4125cf:	90                   	nop
4125d0:	55                   	push   %ebp
4125d1:	56                   	push   %esi
4125d2:	6a 02                	push   $0x2
4125d4:	33 ed                	xor    %ebp,%ebp
4125d6:	e8 65 ce ff ff       	call   0x40f440
4125db:	a1 80 89 43 00       	mov    0x438980,%eax
4125e0:	be 03 00 00 00       	mov    $0x3,%esi
4125e5:	83 c4 04             	add    $0x4,%esp
4125e8:	3b c6                	cmp    %esi,%eax
4125ea:	7e 68                	jle    0x412654
4125ec:	57                   	push   %edi
4125ed:	8b 3d d4 96 43 00    	mov    0x4396d4,%edi
4125f3:	53                   	push   %ebx
4125f4:	b3 83                	mov    $0x83,%bl
4125f6:	a1 64 79 43 00       	mov    0x437964,%eax
4125fb:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4125fe:	85 c0                	test   %eax,%eax
412600:	74 46                	je     0x412648
412602:	84 58 0c             	test   %bl,0xc(%eax)
412605:	74 0f                	je     0x412616
412607:	50                   	push   %eax
412608:	e8 e3 07 00 00       	call   0x412df0
41260d:	83 c4 04             	add    $0x4,%esp
412610:	83 f8 ff             	cmp    $0xffffffff,%eax
412613:	74 01                	je     0x412616
412615:	45                   	inc    %ebp
412616:	83 fe 14             	cmp    $0x14,%esi
412619:	7c 2d                	jl     0x412648
41261b:	8b 0d 64 79 43 00    	mov    0x437964,%ecx
412621:	8b 14 b1             	mov    (%ecx,%esi,4),%edx
412624:	83 c2 20             	add    $0x20,%edx
412627:	52                   	push   %edx
412628:	ff d7                	call   *%edi
41262a:	a1 64 79 43 00       	mov    0x437964,%eax
41262f:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
412632:	51                   	push   %ecx
412633:	e8 58 9f ff ff       	call   0x40c590
412638:	8b 15 64 79 43 00    	mov    0x437964,%edx
41263e:	83 c4 04             	add    $0x4,%esp
412641:	c7 04 b2 00 00 00 00 	movl   $0x0,(%edx,%esi,4)
412648:	a1 80 89 43 00       	mov    0x438980,%eax
41264d:	46                   	inc    %esi
41264e:	3b f0                	cmp    %eax,%esi
412650:	7c a4                	jl     0x4125f6
412652:	5b                   	pop    %ebx
412653:	5f                   	pop    %edi
412654:	6a 02                	push   $0x2
412656:	e8 65 ce ff ff       	call   0x40f4c0
41265b:	83 c4 04             	add    $0x4,%esp
41265e:	8b c5                	mov    %ebp,%eax
412660:	5e                   	pop    %esi
412661:	5d                   	pop    %ebp
412662:	c3                   	ret
412663:	90                   	nop
412664:	90                   	nop
412665:	90                   	nop
412666:	90                   	nop
412667:	90                   	nop
412668:	90                   	nop
412669:	90                   	nop
41266a:	90                   	nop
41266b:	90                   	nop
41266c:	90                   	nop
41266d:	90                   	nop
41266e:	90                   	nop
41266f:	90                   	nop
412670:	56                   	push   %esi
412671:	8b 74 24 08          	mov    0x8(%esp),%esi
412675:	85 f6                	test   %esi,%esi
412677:	75 0b                	jne    0x412684
412679:	56                   	push   %esi
41267a:	e8 f1 00 00 00       	call   0x412770
41267f:	83 c4 04             	add    $0x4,%esp
412682:	5e                   	pop    %esi
412683:	c3                   	ret
412684:	57                   	push   %edi
412685:	56                   	push   %esi
412686:	e8 55 ce ff ff       	call   0x40f4e0
41268b:	83 c4 04             	add    $0x4,%esp
41268e:	56                   	push   %esi
41268f:	e8 1c 00 00 00       	call   0x4126b0
412694:	83 c4 04             	add    $0x4,%esp
412697:	8b f8                	mov    %eax,%edi
412699:	56                   	push   %esi
41269a:	e8 b1 ce ff ff       	call   0x40f550
41269f:	83 c4 04             	add    $0x4,%esp
4126a2:	8b c7                	mov    %edi,%eax
4126a4:	5f                   	pop    %edi
4126a5:	5e                   	pop    %esi
4126a6:	c3                   	ret
4126a7:	90                   	nop
4126a8:	90                   	nop
4126a9:	90                   	nop
4126aa:	90                   	nop
4126ab:	90                   	nop
4126ac:	90                   	nop
4126ad:	90                   	nop
4126ae:	90                   	nop
4126af:	90                   	nop
4126b0:	56                   	push   %esi
4126b1:	8b 74 24 08          	mov    0x8(%esp),%esi
4126b5:	56                   	push   %esi
4126b6:	e8 35 00 00 00       	call   0x4126f0
4126bb:	83 c4 04             	add    $0x4,%esp
4126be:	85 c0                	test   %eax,%eax
4126c0:	74 05                	je     0x4126c7
4126c2:	83 c8 ff             	or     $0xffffffff,%eax
4126c5:	5e                   	pop    %esi
4126c6:	c3                   	ret
4126c7:	8b 46 0c             	mov    0xc(%esi),%eax
4126ca:	f6 c4 40             	test   $0x40,%ah
4126cd:	74 12                	je     0x4126e1
4126cf:	8b 46 10             	mov    0x10(%esi),%eax
4126d2:	50                   	push   %eax
4126d3:	e8 c8 07 00 00       	call   0x412ea0
4126d8:	83 c4 04             	add    $0x4,%esp
4126db:	f7 d8                	neg    %eax
4126dd:	1b c0                	sbb    %eax,%eax
4126df:	5e                   	pop    %esi
4126e0:	c3                   	ret
4126e1:	33 c0                	xor    %eax,%eax
4126e3:	5e                   	pop    %esi
4126e4:	c3                   	ret
4126e5:	90                   	nop
4126e6:	90                   	nop
4126e7:	90                   	nop
4126e8:	90                   	nop
4126e9:	90                   	nop
4126ea:	90                   	nop
4126eb:	90                   	nop
4126ec:	90                   	nop
4126ed:	90                   	nop
4126ee:	90                   	nop
4126ef:	90                   	nop
4126f0:	53                   	push   %ebx
4126f1:	56                   	push   %esi
4126f2:	8b 74 24 0c          	mov    0xc(%esp),%esi
4126f6:	33 db                	xor    %ebx,%ebx
4126f8:	57                   	push   %edi
4126f9:	8b 46 0c             	mov    0xc(%esi),%eax
4126fc:	8b c8                	mov    %eax,%ecx
4126fe:	83 e1 03             	and    $0x3,%ecx
412701:	80 f9 02             	cmp    $0x2,%cl
412704:	75 46                	jne    0x41274c
412706:	a9 08 01 00 00       	test   $0x108,%eax
41270b:	74 3f                	je     0x41274c
41270d:	8b 46 08             	mov    0x8(%esi),%eax
412710:	8b 3e                	mov    (%esi),%edi
412712:	2b f8                	sub    %eax,%edi
412714:	85 ff                	test   %edi,%edi
412716:	7e 34                	jle    0x41274c
412718:	8b 56 10             	mov    0x10(%esi),%edx
41271b:	57                   	push   %edi
41271c:	50                   	push   %eax
41271d:	52                   	push   %edx
41271e:	e8 5d f7 ff ff       	call   0x411e80
412723:	83 c4 0c             	add    $0xc,%esp
412726:	3b c7                	cmp    %edi,%eax
412728:	8b 46 0c             	mov    0xc(%esi),%eax
41272b:	75 17                	jne    0x412744
41272d:	a8 80                	test   $0x80,%al
41272f:	74 1b                	je     0x41274c
412731:	24 fd                	and    $0xfd,%al
412733:	89 5e 04             	mov    %ebx,0x4(%esi)
412736:	89 46 0c             	mov    %eax,0xc(%esi)
412739:	8b 46 08             	mov    0x8(%esi),%eax
41273c:	89 06                	mov    %eax,(%esi)
41273e:	8b c3                	mov    %ebx,%eax
412740:	5f                   	pop    %edi
412741:	5e                   	pop    %esi
412742:	5b                   	pop    %ebx
412743:	c3                   	ret
412744:	0c 20                	or     $0x20,%al
412746:	83 cb ff             	or     $0xffffffff,%ebx
412749:	89 46 0c             	mov    %eax,0xc(%esi)
41274c:	8b 46 08             	mov    0x8(%esi),%eax
41274f:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
412756:	89 06                	mov    %eax,(%esi)
412758:	5f                   	pop    %edi
412759:	8b c3                	mov    %ebx,%eax
41275b:	5e                   	pop    %esi
41275c:	5b                   	pop    %ebx
41275d:	c3                   	ret
41275e:	90                   	nop
41275f:	90                   	nop
412760:	6a 01                	push   $0x1
412762:	e8 09 00 00 00       	call   0x412770
412767:	83 c4 04             	add    $0x4,%esp
41276a:	c3                   	ret
41276b:	90                   	nop
41276c:	90                   	nop
41276d:	90                   	nop
41276e:	90                   	nop
41276f:	90                   	nop
412770:	51                   	push   %ecx
412771:	53                   	push   %ebx
412772:	55                   	push   %ebp
412773:	56                   	push   %esi
412774:	57                   	push   %edi
412775:	33 f6                	xor    %esi,%esi
412777:	6a 02                	push   $0x2
412779:	89 74 24 14          	mov    %esi,0x14(%esp)
41277d:	33 ed                	xor    %ebp,%ebp
41277f:	e8 bc cc ff ff       	call   0x40f440
412784:	a1 80 89 43 00       	mov    0x438980,%eax
412789:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
41278d:	83 c4 04             	add    $0x4,%esp
412790:	3b c6                	cmp    %esi,%eax
412792:	7e 7c                	jle    0x412810
412794:	b3 83                	mov    $0x83,%bl
412796:	a1 64 79 43 00       	mov    0x437964,%eax
41279b:	8b 04 b0             	mov    (%eax,%esi,4),%eax
41279e:	85 c0                	test   %eax,%eax
4127a0:	74 64                	je     0x412806
4127a2:	84 58 0c             	test   %bl,0xc(%eax)
4127a5:	74 5f                	je     0x412806
4127a7:	50                   	push   %eax
4127a8:	56                   	push   %esi
4127a9:	e8 72 cd ff ff       	call   0x40f520
4127ae:	8b 0d 64 79 43 00    	mov    0x437964,%ecx
4127b4:	83 c4 08             	add    $0x8,%esp
4127b7:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
4127ba:	8b 48 0c             	mov    0xc(%eax),%ecx
4127bd:	84 cb                	test   %cl,%bl
4127bf:	74 32                	je     0x4127f3
4127c1:	83 ff 01             	cmp    $0x1,%edi
4127c4:	75 14                	jne    0x4127da
4127c6:	50                   	push   %eax
4127c7:	e8 e4 fe ff ff       	call   0x4126b0
4127cc:	83 c4 04             	add    $0x4,%esp
4127cf:	83 f8 ff             	cmp    $0xffffffff,%eax
4127d2:	74 1f                	je     0x4127f3
4127d4:	ff 44 24 10          	incl   0x10(%esp)
4127d8:	eb 19                	jmp    0x4127f3
4127da:	85 ff                	test   %edi,%edi
4127dc:	75 15                	jne    0x4127f3
4127de:	f6 c1 02             	test   $0x2,%cl
4127e1:	74 10                	je     0x4127f3
4127e3:	50                   	push   %eax
4127e4:	e8 c7 fe ff ff       	call   0x4126b0
4127e9:	83 c4 04             	add    $0x4,%esp
4127ec:	83 f8 ff             	cmp    $0xffffffff,%eax
4127ef:	75 02                	jne    0x4127f3
4127f1:	0b e8                	or     %eax,%ebp
4127f3:	8b 15 64 79 43 00    	mov    0x437964,%edx
4127f9:	8b 04 b2             	mov    (%edx,%esi,4),%eax
4127fc:	50                   	push   %eax
4127fd:	56                   	push   %esi
4127fe:	e8 8d cd ff ff       	call   0x40f590
412803:	83 c4 08             	add    $0x8,%esp
412806:	a1 80 89 43 00       	mov    0x438980,%eax
41280b:	46                   	inc    %esi
41280c:	3b f0                	cmp    %eax,%esi
41280e:	7c 86                	jl     0x412796
412810:	6a 02                	push   $0x2
412812:	e8 a9 cc ff ff       	call   0x40f4c0
412817:	8b 44 24 14          	mov    0x14(%esp),%eax
41281b:	83 c4 04             	add    $0x4,%esp
41281e:	83 ff 01             	cmp    $0x1,%edi
412821:	74 02                	je     0x412825
412823:	8b c5                	mov    %ebp,%eax
412825:	5f                   	pop    %edi
412826:	5e                   	pop    %esi
412827:	5d                   	pop    %ebp
412828:	5b                   	pop    %ebx
412829:	59                   	pop    %ecx
41282a:	c3                   	ret
41282b:	90                   	nop
41282c:	90                   	nop
41282d:	90                   	nop
41282e:	90                   	nop
41282f:	90                   	nop
412830:	8b 44 24 04          	mov    0x4(%esp),%eax
412834:	81 ec 84 00 00 00    	sub    $0x84,%esp
41283a:	53                   	push   %ebx
41283b:	55                   	push   %ebp
41283c:	bd 01 00 00 00       	mov    $0x1,%ebp
412841:	56                   	push   %esi
412842:	3b c5                	cmp    %ebp,%eax
412844:	57                   	push   %edi
412845:	0f 85 e5 00 00 00    	jne    0x412930
41284b:	8b 9c 24 a0 00 00 00 	mov    0xa0(%esp),%ebx
412852:	8b ac 24 9c 00 00 00 	mov    0x9c(%esp),%ebp
412859:	6a 00                	push   $0x0
41285b:	8d 44 24 18          	lea    0x18(%esp),%eax
41285f:	68 80 00 00 00       	push   $0x80
412864:	50                   	push   %eax
412865:	53                   	push   %ebx
412866:	55                   	push   %ebp
412867:	8d 7c 24 28          	lea    0x28(%esp),%edi
41286b:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
412872:	00
412873:	e8 98 02 00 00       	call   0x412b10
412878:	8b f0                	mov    %eax,%esi
41287a:	83 c4 14             	add    $0x14,%esp
41287d:	85 f6                	test   %esi,%esi
41287f:	75 49                	jne    0x4128ca
412881:	ff 15 ec 96 43 00    	call   *0x4396ec
412887:	83 f8 7a             	cmp    $0x7a,%eax
41288a:	75 54                	jne    0x4128e0
41288c:	56                   	push   %esi
41288d:	56                   	push   %esi
41288e:	56                   	push   %esi
41288f:	53                   	push   %ebx
412890:	55                   	push   %ebp
412891:	e8 7a 02 00 00       	call   0x412b10
412896:	8b f0                	mov    %eax,%esi
412898:	83 c4 14             	add    $0x14,%esp
41289b:	85 f6                	test   %esi,%esi
41289d:	74 41                	je     0x4128e0
41289f:	56                   	push   %esi
4128a0:	e8 1b 9c ff ff       	call   0x40c4c0
4128a5:	8b f8                	mov    %eax,%edi
4128a7:	83 c4 04             	add    $0x4,%esp
4128aa:	85 ff                	test   %edi,%edi
4128ac:	74 32                	je     0x4128e0
4128ae:	6a 00                	push   $0x0
4128b0:	56                   	push   %esi
4128b1:	57                   	push   %edi
4128b2:	53                   	push   %ebx
4128b3:	55                   	push   %ebp