4126ed:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4126f0:	0f 43 4d d4          	cmovae -0x2c(%ebp),%ecx
4126f4:	51                   	push   %ecx
4126f5:	57                   	push   %edi
4126f6:	56                   	push   %esi
4126f7:	e8 7a 3d 01 00       	call   0x426476
4126fc:	83 c4 0c             	add    $0xc,%esp
4126ff:	8d 45 bc             	lea    -0x44(%ebp),%eax
412702:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
412706:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
41270a:	50                   	push   %eax
41270b:	56                   	push   %esi
41270c:	ff 15 fc f1 43 00    	call   *0x43f1fc
412712:	8b ce                	mov    %esi,%ecx
412714:	8d 51 02             	lea    0x2(%ecx),%edx
412717:	66 8b 01             	mov    (%ecx),%ax
41271a:	83 c1 02             	add    $0x2,%ecx
41271d:	66 85 c0             	test   %ax,%ax
412720:	75 f5                	jne    0x412717
412722:	8b 45 e8             	mov    -0x18(%ebp),%eax
412725:	2b ca                	sub    %edx,%ecx
412727:	d1 f9                	sar    $1,%ecx
412729:	3b c8                	cmp    %eax,%ecx
41272b:	77 2e                	ja     0x41275b
41272d:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
412730:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
412733:	83 f8 08             	cmp    $0x8,%eax
412736:	8d 7d d4             	lea    -0x2c(%ebp),%edi
412739:	56                   	push   %esi
41273a:	0f 43 7d d4          	cmovae -0x2c(%ebp),%edi
41273e:	ff b5 58 fd ff ff    	push   -0x2a8(%ebp)
412744:	57                   	push   %edi
412745:	e8 06 ad 00 00       	call   0x41d450
41274a:	83 c4 0c             	add    $0xc,%esp
41274d:	33 c0                	xor    %eax,%eax
41274f:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
412753:	8b b5 58 fd ff ff    	mov    -0x2a8(%ebp),%esi
412759:	eb 17                	jmp    0x412772
41275b:	56                   	push   %esi
41275c:	c6 85 5c fd ff ff 00 	movb   $0x0,-0x2a4(%ebp)
412763:	ff b5 5c fd ff ff    	push   -0x2a4(%ebp)
412769:	51                   	push   %ecx
41276a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41276d:	e8 9e fe fe ff       	call   0x402610
412772:	56                   	push   %esi
412773:	e8 d5 38 01 00       	call   0x42604d
412778:	83 c4 04             	add    $0x4,%esp
41277b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
41277f:	8b 4d d0             	mov    -0x30(%ebp),%ecx
412782:	83 f9 08             	cmp    $0x8,%ecx
412785:	72 32                	jb     0x4127b9
412787:	8b 55 bc             	mov    -0x44(%ebp),%edx
41278a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
412791:	8b c2                	mov    %edx,%eax
412793:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
412799:	72 14                	jb     0x4127af
41279b:	8b 50 fc             	mov    -0x4(%eax),%edx
41279e:	83 c1 23             	add    $0x23,%ecx
4127a1:	2b c2                	sub    %edx,%eax
4127a3:	83 c0 fc             	add    $0xfffffffc,%eax
4127a6:	83 f8 1f             	cmp    $0x1f,%eax
4127a9:	0f 87 79 04 00 00    	ja     0x412c28
4127af:	51                   	push   %ecx
4127b0:	52                   	push   %edx
4127b1:	e8 58 91 00 00       	call   0x41b90e
4127b6:	83 c4 08             	add    $0x8,%esp
4127b9:	f6 85 6c fd ff ff 10 	testb  $0x10,-0x294(%ebp)
4127c0:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4127c3:	8b bd 54 fd ff ff    	mov    -0x2ac(%ebp),%edi
4127c9:	74 1c                	je     0x4127e7
4127cb:	8b 95 60 fd ff ff    	mov    -0x2a0(%ebp),%edx
4127d1:	6a 01                	push   $0x1
4127d3:	6a 00                	push   $0x0
4127d5:	57                   	push   %edi
4127d6:	6a 01                	push   $0x1
4127d8:	6a 01                	push   $0x1
4127da:	e8 21 fb ff ff       	call   0x412300
4127df:	83 c4 14             	add    $0x14,%esp
4127e2:	e9 c9 00 00 00       	jmp    0x4128b0
4127e7:	57                   	push   %edi
4127e8:	e8 03 0b 00 00       	call   0x4132f0
4127ed:	83 c4 04             	add    $0x4,%esp
4127f0:	84 c0                	test   %al,%al
4127f2:	0f 85 b8 00 00 00    	jne    0x4128b0
4127f8:	85 ff                	test   %edi,%edi
4127fa:	74 1d                	je     0x412819
4127fc:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
412800:	8d 45 d4             	lea    -0x2c(%ebp),%eax
412803:	8b 37                	mov    (%edi),%esi
412805:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
412809:	50                   	push   %eax
41280a:	68 80 e2 44 00       	push   $0x44e280
41280f:	68 74 e8 44 00       	push   $0x44e874
412814:	6a 28                	push   $0x28
412816:	57                   	push   %edi
412817:	eb 60                	jmp    0x412879
412819:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
41281f:	85 f6                	test   %esi,%esi
412821:	74 31                	je     0x412854
412823:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
412827:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41282a:	8b ce                	mov    %esi,%ecx
41282c:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
412830:	50                   	push   %eax
412831:	68 74 e8 44 00       	push   $0x44e874
412836:	68 2c af 44 00       	push   $0x44af2c
41283b:	68 80 e2 44 00       	push   $0x44e280
412840:	68 90 df 44 00       	push   $0x44df90
412845:	6a 28                	push   $0x28
412847:	ff 15 3c f2 43 00    	call   *0x43f23c
41284d:	ff d6                	call   *%esi
41284f:	83 c4 18             	add    $0x18,%esp
412852:	eb 35                	jmp    0x412889
412854:	8b 0d b4 61 45 00    	mov    0x4561b4,%ecx
41285a:	85 c9                	test   %ecx,%ecx
41285c:	74 2b                	je     0x412889
41285e:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
412862:	8d 45 d4             	lea    -0x2c(%ebp),%eax
412865:	8b 31                	mov    (%ecx),%esi
412867:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
41286b:	50                   	push   %eax
41286c:	68 80 e2 44 00       	push   $0x44e280
412871:	68 74 e8 44 00       	push   $0x44e874
412876:	6a 28                	push   $0x28
412878:	51                   	push   %ecx
412879:	8b 76 34             	mov    0x34(%esi),%esi
41287c:	8b ce                	mov    %esi,%ecx
41287e:	ff 15 3c f2 43 00    	call   *0x43f23c
412884:	ff d6                	call   *%esi
412886:	83 c4 14             	add    $0x14,%esp
412889:	8b b5 60 fd ff ff    	mov    -0x2a0(%ebp),%esi
41288f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
412892:	51                   	push   %ecx
412893:	8b 46 04             	mov    0x4(%esi),%eax
412896:	3b 46 08             	cmp    0x8(%esi),%eax
412899:	74 0d                	je     0x4128a8
41289b:	8b c8                	mov    %eax,%ecx
41289d:	e8 1e fa fe ff       	call   0x4022c0
4128a2:	83 46 04 18          	addl   $0x18,0x4(%esi)
4128a6:	eb 08                	jmp    0x4128b0
4128a8:	50                   	push   %eax
4128a9:	8b ce                	mov    %esi,%ecx
4128ab:	e8 a0 a7 ff ff       	call   0x40d050
4128b0:	8b b5 64 fd ff ff    	mov    -0x29c(%ebp),%esi
4128b6:	8d 85 6c fd ff ff    	lea    -0x294(%ebp),%eax
4128bc:	50                   	push   %eax
4128bd:	56                   	push   %esi
4128be:	ff 15 48 f0 43 00    	call   *0x43f048
4128c4:	85 c0                	test   %eax,%eax
4128c6:	0f 85 07 fd ff ff    	jne    0x4125d3
4128cc:	56                   	push   %esi
4128cd:	ff 15 90 f0 43 00    	call   *0x43f090
4128d3:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4128da:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4128dd:	83 f9 08             	cmp    $0x8,%ecx
4128e0:	72 32                	jb     0x412914
4128e2:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4128e5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4128ec:	8b c2                	mov    %edx,%eax
4128ee:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4128f4:	72 14                	jb     0x41290a
4128f6:	8b 50 fc             	mov    -0x4(%eax),%edx
4128f9:	83 c1 23             	add    $0x23,%ecx
4128fc:	2b c2                	sub    %edx,%eax
4128fe:	83 c0 fc             	add    $0xfffffffc,%eax
412901:	83 f8 1f             	cmp    $0x1f,%eax
412904:	0f 87 23 03 00 00    	ja     0x412c2d
41290a:	51                   	push   %ecx
41290b:	52                   	push   %edx
41290c:	e8 fd 8f 00 00       	call   0x41b90e
412911:	83 c4 08             	add    $0x8,%esp
412914:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412918:	8b c3                	mov    %ebx,%eax
41291a:	72 02                	jb     0x41291e
41291c:	8b 03                	mov    (%ebx),%eax
41291e:	50                   	push   %eax
41291f:	ff 15 94 f0 43 00    	call   *0x43f094
412925:	a8 01                	test   $0x1,%al
412927:	0f 84 b6 00 00 00    	je     0x4129e3
41292d:	85 ff                	test   %edi,%edi
41292f:	74 22                	je     0x412953
412931:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412935:	8b cb                	mov    %ebx,%ecx
412937:	72 02                	jb     0x41293b
412939:	8b 0b                	mov    (%ebx),%ecx
41293b:	8b 37                	mov    (%edi),%esi
41293d:	50                   	push   %eax
41293e:	51                   	push   %ecx
41293f:	68 a8 e8 44 00       	push   $0x44e8a8
412944:	68 80 e2 44 00       	push   $0x44e280
412949:	68 2c af 44 00       	push   $0x44af2c
41294e:	6a 14                	push   $0x14
412950:	57                   	push   %edi
412951:	eb 6a                	jmp    0x4129bd
412953:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
412959:	85 f6                	test   %esi,%esi
41295b:	74 36                	je     0x412993
41295d:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412961:	8b cb                	mov    %ebx,%ecx
412963:	72 02                	jb     0x412967
412965:	8b 0b                	mov    (%ebx),%ecx
412967:	50                   	push   %eax
412968:	51                   	push   %ecx
412969:	68 a8 e8 44 00       	push   $0x44e8a8
41296e:	68 2c af 44 00       	push   $0x44af2c
412973:	68 2c af 44 00       	push   $0x44af2c
412978:	68 80 e2 44 00       	push   $0x44e280
41297d:	68 90 df 44 00       	push   $0x44df90
412982:	6a 14                	push   $0x14
412984:	8b ce                	mov    %esi,%ecx
412986:	ff 15 3c f2 43 00    	call   *0x43f23c
41298c:	ff d6                	call   *%esi
41298e:	83 c4 20             	add    $0x20,%esp
412991:	eb 3a                	jmp    0x4129cd
412993:	8b 0d b4 61 45 00    	mov    0x4561b4,%ecx
412999:	85 c9                	test   %ecx,%ecx
41299b:	74 30                	je     0x4129cd
41299d:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4129a1:	8b d3                	mov    %ebx,%edx
4129a3:	72 02                	jb     0x4129a7
4129a5:	8b 13                	mov    (%ebx),%edx
4129a7:	8b 31                	mov    (%ecx),%esi
4129a9:	50                   	push   %eax
4129aa:	52                   	push   %edx
4129ab:	68 a8 e8 44 00       	push   $0x44e8a8
4129b0:	68 80 e2 44 00       	push   $0x44e280
4129b5:	68 2c af 44 00       	push   $0x44af2c
4129ba:	6a 14                	push   $0x14
4129bc:	51                   	push   %ecx
4129bd:	8b 76 34             	mov    0x34(%esi),%esi
4129c0:	8b ce                	mov    %esi,%ecx
4129c2:	ff 15 3c f2 43 00    	call   *0x43f23c
4129c8:	ff d6                	call   *%esi
4129ca:	83 c4 1c             	add    $0x1c,%esp
4129cd:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4129d1:	8b c3                	mov    %ebx,%eax
4129d3:	72 02                	jb     0x4129d7
4129d5:	8b 03                	mov    (%ebx),%eax
4129d7:	68 80 00 00 00       	push   $0x80
4129dc:	50                   	push   %eax
4129dd:	ff 15 98 f0 43 00    	call   *0x43f098
4129e3:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4129e7:	8b c3                	mov    %ebx,%eax
4129e9:	72 02                	jb     0x4129ed
4129eb:	8b 03                	mov    (%ebx),%eax
4129ed:	50                   	push   %eax
4129ee:	ff 15 8c f0 43 00    	call   *0x43f08c
4129f4:	85 c0                	test   %eax,%eax
4129f6:	0f 95 85 6b fd ff ff 	setne  -0x295(%ebp)
4129fd:	85 c0                	test   %eax,%eax
4129ff:	0f 84 b2 00 00 00    	je     0x412ab7
412a05:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
412a09:	0f 84 f7 01 00 00    	je     0x412c06
412a0f:	85 ff                	test   %edi,%edi
412a11:	74 21                	je     0x412a34
412a13:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412a17:	72 02                	jb     0x412a1b
412a19:	8b 1b                	mov    (%ebx),%ebx
412a1b:	8b 37                	mov    (%edi),%esi
412a1d:	6a 01                	push   $0x1
412a1f:	53                   	push   %ebx
412a20:	68 80 e9 44 00       	push   $0x44e980
412a25:	68 80 e2 44 00       	push   $0x44e280
412a2a:	68 2c af 44 00       	push   $0x44af2c
412a2f:	6a 1e                	push   $0x1e
412a31:	57                   	push   %edi
412a32:	eb 6e                	jmp    0x412aa2
412a34:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
412a3a:	85 f6                	test   %esi,%esi
412a3c:	74 38                	je     0x412a76
412a3e:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412a42:	72 02                	jb     0x412a46
412a44:	8b 1b                	mov    (%ebx),%ebx
412a46:	6a 01                	push   $0x1
412a48:	53                   	push   %ebx
412a49:	68 80 e9 44 00       	push   $0x44e980
412a4e:	68 2c af 44 00       	push   $0x44af2c
412a53:	68 2c af 44 00       	push   $0x44af2c
412a58:	68 80 e2 44 00       	push   $0x44e280
412a5d:	68 90 df 44 00       	push   $0x44df90
412a62:	6a 1e                	push   $0x1e
412a64:	8b ce                	mov    %esi,%ecx
412a66:	ff 15 3c f2 43 00    	call   *0x43f23c
412a6c:	ff d6                	call   *%esi
412a6e:	83 c4 20             	add    $0x20,%esp
412a71:	e9 90 01 00 00       	jmp    0x412c06
412a76:	a1 b4 61 45 00       	mov    0x4561b4,%eax
412a7b:	85 c0                	test   %eax,%eax
412a7d:	0f 84 83 01 00 00    	je     0x412c06
412a83:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412a87:	72 02                	jb     0x412a8b
412a89:	8b 1b                	mov    (%ebx),%ebx
412a8b:	8b 30                	mov    (%eax),%esi
412a8d:	6a 01                	push   $0x1
412a8f:	53                   	push   %ebx
412a90:	68 80 e9 44 00       	push   $0x44e980
412a95:	68 80 e2 44 00       	push   $0x44e280
412a9a:	68 2c af 44 00       	push   $0x44af2c
412a9f:	6a 1e                	push   $0x1e
412aa1:	50                   	push   %eax
412aa2:	8b 76 34             	mov    0x34(%esi),%esi
412aa5:	8b ce                	mov    %esi,%ecx
412aa7:	ff 15 3c f2 43 00    	call   *0x43f23c
412aad:	ff d6                	call   *%esi
412aaf:	83 c4 1c             	add    $0x1c,%esp
412ab2:	e9 4f 01 00 00       	jmp    0x412c06
412ab7:	8b 4b 10             	mov    0x10(%ebx),%ecx
412aba:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
412abf:	2b c1                	sub    %ecx,%eax
412ac1:	83 f8 16             	cmp    $0x16,%eax
412ac4:	0f 82 68 01 00 00    	jb     0x412c32
412aca:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412ace:	8b c3                	mov    %ebx,%eax
412ad0:	72 02                	jb     0x412ad4
412ad2:	8b 03                	mov    (%ebx),%eax
412ad4:	51                   	push   %ecx
412ad5:	50                   	push   %eax
412ad6:	6a 16                	push   $0x16
412ad8:	68 f8 e9 44 00       	push   $0x44e9f8
412add:	51                   	push   %ecx
412ade:	ff b5 5c fd ff ff    	push   -0x2a4(%ebp)
412ae4:	8d 4d bc             	lea    -0x44(%ebp),%ecx
412ae7:	e8 84 a3 ff ff       	call   0x40ce70
412aec:	8b b5 60 fd ff ff    	mov    -0x2a0(%ebp),%esi
412af2:	8d 4d bc             	lea    -0x44(%ebp),%ecx
412af5:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
412afc:	51                   	push   %ecx
412afd:	8b 46 04             	mov    0x4(%esi),%eax
412b00:	3b 46 08             	cmp    0x8(%esi),%eax
412b03:	74 0d                	je     0x412b12
412b05:	8b c8                	mov    %eax,%ecx
412b07:	e8 b4 f7 fe ff       	call   0x4022c0
412b0c:	83 46 04 18          	addl   $0x18,0x4(%esi)
412b10:	eb 08                	jmp    0x412b1a
412b12:	50                   	push   %eax
412b13:	8b ce                	mov    %esi,%ecx
412b15:	e8 36 a5 ff ff       	call   0x40d050
412b1a:	85 ff                	test   %edi,%edi
412b1c:	74 26                	je     0x412b44
412b1e:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
412b22:	72 02                	jb     0x412b26
412b24:	8b 1b                	mov    (%ebx),%ebx
412b26:	8b 37                	mov    (%edi),%esi
412b28:	ff 15 60 f0 43 00    	call   *0x43f060
412b2e:	50                   	push   %eax
412b2f:	53                   	push   %ebx
412b30:	68 28 ea 44 00       	push   $0x44ea28
412b35:	68 80 e2 44 00       	push   $0x44e280
412b3a:	68 2c af 44 00       	push   $0x44af2c
412b3f:	6a 1e                	push   $0x1e