42aaf7:	50                   	push   %eax
42aaf8:	53                   	push   %ebx
42aaf9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42aafc:	89 45 e8             	mov    %eax,-0x18(%ebp)
42aaff:	88 45 d8             	mov    %al,-0x28(%ebp)
42ab02:	e8 37 4c ff ff       	call   0x41f73e
42ab07:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42ab0b:	8d 45 d8             	lea    -0x28(%ebp),%eax
42ab0e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42ab15:	72 03                	jb     0x42ab1a
42ab17:	8b 45 d8             	mov    -0x28(%ebp),%eax
42ab1a:	8b 4d bc             	mov    -0x44(%ebp),%ecx
42ab1d:	50                   	push   %eax
42ab1e:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
42ab21:	50                   	push   %eax
42ab22:	51                   	push   %ecx
42ab23:	8b 4d b8             	mov    -0x48(%ebp),%ecx
42ab26:	e8 1b 1a 00 00       	call   0x42c546
42ab2b:	ff 76 30             	push   0x30(%esi)
42ab2e:	8d 4d b0             	lea    -0x50(%ebp),%ecx
42ab31:	e8 06 e3 ff ff       	call   0x428e3c
42ab36:	8d 45 b0             	lea    -0x50(%ebp),%eax
42ab39:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42ab3d:	50                   	push   %eax
42ab3e:	e8 92 e1 ff ff       	call   0x428cd5
42ab43:	59                   	pop    %ecx
42ab44:	8b f0                	mov    %eax,%esi
42ab46:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42ab4a:	8d 4d b0             	lea    -0x50(%ebp),%ecx
42ab4d:	89 75 bc             	mov    %esi,-0x44(%ebp)
42ab50:	e8 92 48 fe ff       	call   0x40f3e7
42ab55:	8b 06                	mov    (%esi),%eax
42ab57:	8b 70 14             	mov    0x14(%eax),%esi
42ab5a:	8d 45 c0             	lea    -0x40(%ebp),%eax
42ab5d:	50                   	push   %eax
42ab5e:	8b ce                	mov    %esi,%ecx
42ab60:	ff 15 54 43 49 00    	call   *0x494354
42ab66:	8b 4d bc             	mov    -0x44(%ebp),%ecx
42ab69:	ff d6                	call   *%esi
42ab6b:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
42ab6f:	8d 75 c0             	lea    -0x40(%ebp),%esi
42ab72:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
42ab76:	72 03                	jb     0x42ab7b
42ab78:	8b 75 c0             	mov    -0x40(%ebp),%esi
42ab7b:	8a 06                	mov    (%esi),%al
42ab7d:	3c 7f                	cmp    $0x7f,%al
42ab7f:	74 40                	je     0x42abc1
42ab81:	84 c0                	test   %al,%al
42ab83:	7e 3c                	jle    0x42abc1
42ab85:	8b 4d bc             	mov    -0x44(%ebp),%ecx
42ab88:	e8 68 19 00 00       	call   0x42c4f5
42ab8d:	88 45 b8             	mov    %al,-0x48(%ebp)
42ab90:	eb 29                	jmp    0x42abbb
42ab92:	84 c0                	test   %al,%al
42ab94:	7e 2b                	jle    0x42abc1
42ab96:	0f be c8             	movsbl %al,%ecx
42ab99:	8b c3                	mov    %ebx,%eax
42ab9b:	2b c7                	sub    %edi,%eax
42ab9d:	3b c8                	cmp    %eax,%ecx
42ab9f:	73 20                	jae    0x42abc1
42aba1:	ff 75 b8             	push   -0x48(%ebp)
42aba4:	2b d9                	sub    %ecx,%ebx
42aba6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42aba9:	6a 01                	push   $0x1
42abab:	53                   	push   %ebx
42abac:	e8 01 18 00 00       	call   0x42c3b2
42abb1:	8d 46 01             	lea    0x1(%esi),%eax
42abb4:	80 38 00             	cmpb   $0x0,(%eax)
42abb7:	7e 02                	jle    0x42abbb
42abb9:	8b f0                	mov    %eax,%esi
42abbb:	8a 06                	mov    (%esi),%al
42abbd:	3c 7f                	cmp    $0x7f,%al
42abbf:	75 d1                	jne    0x42ab92
42abc1:	8b 5d a8             	mov    -0x58(%ebp),%ebx
42abc4:	8b 45 e8             	mov    -0x18(%ebp),%eax
42abc7:	89 45 b8             	mov    %eax,-0x48(%ebp)
42abca:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
42abce:	7c 13                	jl     0x42abe3
42abd0:	7f 06                	jg     0x42abd8
42abd2:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
42abd6:	76 0b                	jbe    0x42abe3
42abd8:	8b 73 20             	mov    0x20(%ebx),%esi
42abdb:	3b f0                	cmp    %eax,%esi
42abdd:	76 04                	jbe    0x42abe3
42abdf:	2b f0                	sub    %eax,%esi
42abe1:	eb 02                	jmp    0x42abe5
42abe3:	33 f6                	xor    %esi,%esi
42abe5:	8b 43 14             	mov    0x14(%ebx),%eax
42abe8:	25 c0 01 00 00       	and    $0x1c0,%eax
42abed:	83 f8 40             	cmp    $0x40,%eax
42abf0:	74 75                	je     0x42ac67
42abf2:	3d 00 01 00 00       	cmp    $0x100,%eax
42abf7:	74 32                	je     0x42ac2b
42abf9:	56                   	push   %esi
42abfa:	ff 75 1c             	push   0x1c(%ebp)
42abfd:	8d 45 b0             	lea    -0x50(%ebp),%eax
42ac00:	ff 75 14             	push   0x14(%ebp)
42ac03:	ff 75 10             	push   0x10(%ebp)
42ac06:	50                   	push   %eax
42ac07:	ff 75 08             	push   0x8(%ebp)
42ac0a:	e8 e4 05 00 00       	call   0x42b1f3
42ac0f:	83 c4 18             	add    $0x18,%esp
42ac12:	33 f6                	xor    %esi,%esi
42ac14:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42ac18:	8b c8                	mov    %eax,%ecx
42ac1a:	8d 45 d8             	lea    -0x28(%ebp),%eax
42ac1d:	72 03                	jb     0x42ac22
42ac1f:	8b 45 d8             	mov    -0x28(%ebp),%eax
42ac22:	57                   	push   %edi
42ac23:	50                   	push   %eax
42ac24:	ff 71 04             	push   0x4(%ecx)
42ac27:	ff 31                	push   (%ecx)
42ac29:	eb 50                	jmp    0x42ac7b
42ac2b:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42ac2f:	8d 45 d8             	lea    -0x28(%ebp),%eax
42ac32:	72 03                	jb     0x42ac37
42ac34:	8b 45 d8             	mov    -0x28(%ebp),%eax
42ac37:	57                   	push   %edi
42ac38:	50                   	push   %eax
42ac39:	ff 75 14             	push   0x14(%ebp)
42ac3c:	8d 45 b0             	lea    -0x50(%ebp),%eax
42ac3f:	ff 75 10             	push   0x10(%ebp)
42ac42:	50                   	push   %eax
42ac43:	ff 75 08             	push   0x8(%ebp)
42ac46:	e8 75 05 00 00       	call   0x42b1c0
42ac4b:	56                   	push   %esi
42ac4c:	ff 75 1c             	push   0x1c(%ebp)
42ac4f:	ff 70 04             	push   0x4(%eax)
42ac52:	ff 30                	push   (%eax)
42ac54:	8d 45 b0             	lea    -0x50(%ebp),%eax
42ac57:	50                   	push   %eax
42ac58:	ff 75 08             	push   0x8(%ebp)
42ac5b:	e8 93 05 00 00       	call   0x42b1f3
42ac60:	83 c4 30             	add    $0x30,%esp
42ac63:	33 f6                	xor    %esi,%esi
42ac65:	eb 23                	jmp    0x42ac8a
42ac67:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42ac6b:	8d 45 d8             	lea    -0x28(%ebp),%eax
42ac6e:	72 03                	jb     0x42ac73
42ac70:	8b 45 d8             	mov    -0x28(%ebp),%eax
42ac73:	57                   	push   %edi
42ac74:	50                   	push   %eax
42ac75:	ff 75 14             	push   0x14(%ebp)
42ac78:	ff 75 10             	push   0x10(%ebp)
42ac7b:	8d 45 b0             	lea    -0x50(%ebp),%eax
42ac7e:	50                   	push   %eax
42ac7f:	ff 75 08             	push   0x8(%ebp)
42ac82:	e8 39 05 00 00       	call   0x42b1c0
42ac87:	83 c4 18             	add    $0x18,%esp
42ac8a:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42ac8e:	8b 08                	mov    (%eax),%ecx
42ac90:	89 4d 10             	mov    %ecx,0x10(%ebp)
42ac93:	8b 50 04             	mov    0x4(%eax),%edx
42ac96:	8d 45 d8             	lea    -0x28(%ebp),%eax
42ac99:	89 55 14             	mov    %edx,0x14(%ebp)
42ac9c:	89 45 bc             	mov    %eax,-0x44(%ebp)
42ac9f:	72 06                	jb     0x42aca7
42aca1:	8b 45 d8             	mov    -0x28(%ebp),%eax
42aca4:	89 45 bc             	mov    %eax,-0x44(%ebp)
42aca7:	8b 45 b8             	mov    -0x48(%ebp),%eax
42acaa:	2b c7                	sub    %edi,%eax
42acac:	50                   	push   %eax
42acad:	8b 45 bc             	mov    -0x44(%ebp),%eax
42acb0:	03 c7                	add    %edi,%eax
42acb2:	8b 7d 08             	mov    0x8(%ebp),%edi
42acb5:	50                   	push   %eax
42acb6:	52                   	push   %edx
42acb7:	51                   	push   %ecx
42acb8:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42acbb:	50                   	push   %eax
42acbc:	57                   	push   %edi
42acbd:	e8 fe 04 00 00       	call   0x42b1c0
42acc2:	56                   	push   %esi
42acc3:	ff 75 1c             	push   0x1c(%ebp)
42acc6:	8b 75 ac             	mov    -0x54(%ebp),%esi
42acc9:	8b 08                	mov    (%eax),%ecx
42accb:	89 4d 10             	mov    %ecx,0x10(%ebp)
42acce:	8b 40 04             	mov    0x4(%eax),%eax
42acd1:	83 63 20 00          	andl   $0x0,0x20(%ebx)
42acd5:	83 63 24 00          	andl   $0x0,0x24(%ebx)
42acd9:	50                   	push   %eax
42acda:	51                   	push   %ecx
42acdb:	56                   	push   %esi
42acdc:	57                   	push   %edi
42acdd:	89 45 14             	mov    %eax,0x14(%ebp)
42ace0:	e8 0e 05 00 00       	call   0x42b1f3
42ace5:	83 c4 30             	add    $0x30,%esp
42ace8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
42aceb:	e8 e4 25 ff ff       	call   0x41d2d4
42acf0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42acf3:	e8 dc 25 ff ff       	call   0x41d2d4
42acf8:	8b c6                	mov    %esi,%eax
42acfa:	e8 29 4d 01 00       	call   0x43fa28
42acff:	c3                   	ret
42ad00:	6a 08                	push   $0x8
42ad02:	b8 d8 10 49 00       	mov    $0x4910d8,%eax
42ad07:	e8 3e 4d 01 00       	call   0x43fa4a
42ad0c:	6a 00                	push   $0x0
42ad0e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42ad11:	e8 3a a9 ff ff       	call   0x425650
42ad16:	8b 7d 08             	mov    0x8(%ebp),%edi
42ad19:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42ad1d:	8b 5d 10             	mov    0x10(%ebp),%ebx
42ad20:	39 5f 0c             	cmp    %ebx,0xc(%edi)
42ad23:	77 36                	ja     0x42ad5b
42ad25:	8d 73 01             	lea    0x1(%ebx),%esi
42ad28:	83 fe 28             	cmp    $0x28,%esi
42ad2b:	73 03                	jae    0x42ad30
42ad2d:	6a 28                	push   $0x28
42ad2f:	5e                   	pop    %esi
42ad30:	8b c6                	mov    %esi,%eax
42ad32:	c1 e0 02             	shl    $0x2,%eax
42ad35:	50                   	push   %eax
42ad36:	ff 77 08             	push   0x8(%edi)
42ad39:	e8 6d 20 02 00       	call   0x44cdab
42ad3e:	59                   	pop    %ecx
42ad3f:	59                   	pop    %ecx
42ad40:	85 c0                	test   %eax,%eax
42ad42:	74 7c                	je     0x42adc0
42ad44:	89 47 08             	mov    %eax,0x8(%edi)
42ad47:	eb 0d                	jmp    0x42ad56
42ad49:	8b 4f 0c             	mov    0xc(%edi),%ecx
42ad4c:	8b 47 08             	mov    0x8(%edi),%eax
42ad4f:	83 24 88 00          	andl   $0x0,(%eax,%ecx,4)
42ad53:	ff 47 0c             	incl   0xc(%edi)
42ad56:	39 77 0c             	cmp    %esi,0xc(%edi)
42ad59:	72 ee                	jb     0x42ad49
42ad5b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42ad5e:	8b 01                	mov    (%ecx),%eax
42ad60:	8b 70 04             	mov    0x4(%eax),%esi
42ad63:	8b ce                	mov    %esi,%ecx
42ad65:	ff 15 54 43 49 00    	call   *0x494354
42ad6b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42ad6e:	ff d6                	call   *%esi
42ad70:	8b 47 08             	mov    0x8(%edi),%eax
42ad73:	8b 04 98             	mov    (%eax,%ebx,4),%eax
42ad76:	89 45 f0             	mov    %eax,-0x10(%ebp)
42ad79:	85 c0                	test   %eax,%eax
42ad7b:	74 2c                	je     0x42ada9
42ad7d:	8b 00                	mov    (%eax),%eax
42ad7f:	8b 70 08             	mov    0x8(%eax),%esi
42ad82:	8b ce                	mov    %esi,%ecx
42ad84:	ff 15 54 43 49 00    	call   *0x494354
42ad8a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42ad8d:	ff d6                	call   *%esi
42ad8f:	89 45 f0             	mov    %eax,-0x10(%ebp)
42ad92:	85 c0                	test   %eax,%eax
42ad94:	74 13                	je     0x42ada9
42ad96:	8b 08                	mov    (%eax),%ecx
42ad98:	6a 01                	push   $0x1
42ad9a:	8b 31                	mov    (%ecx),%esi
42ad9c:	8b ce                	mov    %esi,%ecx
42ad9e:	ff 15 54 43 49 00    	call   *0x494354
42ada4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42ada7:	ff d6                	call   *%esi
42ada9:	8b 47 08             	mov    0x8(%edi),%eax
42adac:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42adaf:	89 0c 98             	mov    %ecx,(%eax,%ebx,4)
42adb2:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42adb5:	e8 fd a8 ff ff       	call   0x4256b7
42adba:	e8 54 4c 01 00       	call   0x43fa13
42adbf:	c3                   	ret
42adc0:	e8 c1 ae ff ff       	call   0x425c86
42adc5:	cc                   	int3
42adc6:	6a 3c                	push   $0x3c
42adc8:	b8 03 11 49 00       	mov    $0x491103,%eax
42adcd:	e8 78 4c 01 00       	call   0x43fa4a
42add2:	8b 75 0c             	mov    0xc(%ebp),%esi
42add5:	3b 35 24 ad 4b 00    	cmp    0x4bad24,%esi
42addb:	75 2e                	jne    0x42ae0b
42addd:	68 ac 71 49 00       	push   $0x4971ac
42ade2:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42ade5:	e8 65 1a fe ff       	call   0x40c84f
42adea:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42adee:	8d 45 b8             	lea    -0x48(%ebp),%eax
42adf1:	6a 00                	push   $0x0
42adf3:	ff 75 08             	push   0x8(%ebp)
42adf6:	6a 3f                	push   $0x3f
42adf8:	50                   	push   %eax
42adf9:	e8 5a 01 00 00       	call   0x42af58
42adfe:	83 c4 10             	add    $0x10,%esp
42ae01:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42ae04:	e8 aa 41 fe ff       	call   0x40efb3
42ae09:	eb 66                	jmp    0x42ae71
42ae0b:	6a 00                	push   $0x0
42ae0d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42ae10:	e8 3b a8 ff ff       	call   0x425650
42ae15:	8b 5d 08             	mov    0x8(%ebp),%ebx
42ae18:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42ae1f:	8b 43 0c             	mov    0xc(%ebx),%eax
42ae22:	85 c0                	test   %eax,%eax
42ae24:	74 43                	je     0x42ae69
42ae26:	c1 e0 02             	shl    $0x2,%eax
42ae29:	50                   	push   %eax
42ae2a:	e8 14 d7 03 00       	call   0x468543
42ae2f:	89 43 08             	mov    %eax,0x8(%ebx)
42ae32:	59                   	pop    %ecx
42ae33:	85 c0                	test   %eax,%eax
42ae35:	74 40                	je     0x42ae77
42ae37:	8b 7b 0c             	mov    0xc(%ebx),%edi
42ae3a:	eb 29                	jmp    0x42ae65
42ae3c:	8b 46 08             	mov    0x8(%esi),%eax
42ae3f:	4f                   	dec    %edi
42ae40:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
42ae43:	8b 43 08             	mov    0x8(%ebx),%eax
42ae46:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42ae49:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
42ae4c:	85 c9                	test   %ecx,%ecx
42ae4e:	74 15                	je     0x42ae65
42ae50:	8b 01                	mov    (%ecx),%eax
42ae52:	8b 70 04             	mov    0x4(%eax),%esi
42ae55:	8b ce                	mov    %esi,%ecx
42ae57:	ff 15 54 43 49 00    	call   *0x494354
42ae5d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42ae60:	ff d6                	call   *%esi
42ae62:	8b 75 0c             	mov    0xc(%ebp),%esi
42ae65:	85 ff                	test   %edi,%edi
42ae67:	75 d3                	jne    0x42ae3c
42ae69:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42ae6c:	e8 46 a8 ff ff       	call   0x4256b7
42ae71:	e8 9d 4b 01 00       	call   0x43fa13
42ae76:	c3                   	ret
42ae77:	e8 0a ae ff ff       	call   0x425c86
42ae7c:	cc                   	int3
42ae7d:	55                   	push   %ebp
42ae7e:	8b ec                	mov    %esp,%ebp
42ae80:	56                   	push   %esi
42ae81:	57                   	push   %edi
42ae82:	8b 7d 10             	mov    0x10(%ebp),%edi
42ae85:	33 f6                	xor    %esi,%esi
42ae87:	85 ff                	test   %edi,%edi
42ae89:	0f 84 88 00 00 00    	je     0x42af17
42ae8f:	80 3f 2a             	cmpb   $0x2a,(%edi)
42ae92:	75 06                	jne    0x42ae9a
42ae94:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
42ae98:	74 48                	je     0x42aee2
42ae9a:	8b 55 0c             	mov    0xc(%ebp),%edx
42ae9d:	85 d2                	test   %edx,%edx
42ae9f:	75 0b                	jne    0x42aeac
42aea1:	56                   	push   %esi
42aea2:	56                   	push   %esi
42aea3:	e8 75 d9 03 00       	call   0x46881d
42aea8:	59                   	pop    %ecx
42aea9:	59                   	pop    %ecx
42aeaa:	eb 34                	jmp    0x42aee0
42aeac:	83 fa 3f             	cmp    $0x3f,%edx
42aeaf:	75 03                	jne    0x42aeb4
42aeb1:	57                   	push   %edi
42aeb2:	eb ee                	jmp    0x42aea2
42aeb4:	53                   	push   %ebx