42181e:	57                   	push   %edi
42181f:	85 c0                	test   %eax,%eax
421821:	0f 84 f7 00 00 00    	je     0x42191e
421827:	6a 01                	push   $0x1
421829:	c1 e0 04             	shl    $0x4,%eax
42182c:	50                   	push   %eax
42182d:	e8 a2 20 fe ff       	call   0x4038d4
421832:	8b 4d 0c             	mov    0xc(%ebp),%ecx
421835:	89 81 bc 00 00 00    	mov    %eax,0xbc(%ecx)
42183b:	85 c0                	test   %eax,%eax
42183d:	75 1f                	jne    0x42185e
42183f:	be 0e 00 07 80       	mov    $0x8007000e,%esi
421844:	56                   	push   %esi
421845:	68 cb 02 00 00       	push   $0x2cb
42184a:	68 20 af 45 00       	push   $0x45af20
42184f:	e8 7f 1f fe ff       	call   0x4037d3
421854:	68 38 b5 45 00       	push   $0x45b538
421859:	e9 08 01 00 00       	jmp    0x421966
42185e:	8b 45 f8             	mov    -0x8(%ebp),%eax
421861:	33 db                	xor    %ebx,%ebx
421863:	89 81 c0 00 00 00    	mov    %eax,0xc0(%ecx)
421869:	85 c0                	test   %eax,%eax
42186b:	0f 84 ad 00 00 00    	je     0x42191e
421871:	33 c0                	xor    %eax,%eax
421873:	89 45 08             	mov    %eax,0x8(%ebp)
421876:	8b b9 bc 00 00 00    	mov    0xbc(%ecx),%edi
42187c:	03 f8                	add    %eax,%edi
42187e:	8d 45 fc             	lea    -0x4(%ebp),%eax
421881:	6a 00                	push   $0x0
421883:	50                   	push   %eax
421884:	ff 75 f4             	push   -0xc(%ebp)
421887:	e8 d4 1e 02 00       	call   0x443760
42188c:	8b f0                	mov    %eax,%esi
42188e:	85 f6                	test   %esi,%esi
421890:	0f 88 cb 00 00 00    	js     0x421961
421896:	57                   	push   %edi
421897:	68 a8 b5 45 00       	push   $0x45b5a8
42189c:	ff 75 fc             	push   -0x4(%ebp)
42189f:	e8 23 19 02 00       	call   0x4431c7
4218a4:	8b f0                	mov    %eax,%esi
4218a6:	85 f6                	test   %esi,%esi
4218a8:	0f 88 ac 00 00 00    	js     0x42195a
4218ae:	8d 47 04             	lea    0x4(%edi),%eax
4218b1:	50                   	push   %eax
4218b2:	68 e8 b5 45 00       	push   $0x45b5e8
4218b7:	ff 75 fc             	push   -0x4(%ebp)
4218ba:	e8 08 19 02 00       	call   0x4431c7
4218bf:	8b f0                	mov    %eax,%esi
4218c1:	85 f6                	test   %esi,%esi
4218c3:	0f 88 8a 00 00 00    	js     0x421953
4218c9:	8d 47 08             	lea    0x8(%edi),%eax
4218cc:	50                   	push   %eax
4218cd:	68 30 b6 45 00       	push   $0x45b630
4218d2:	ff 75 fc             	push   -0x4(%ebp)
4218d5:	e8 ed 18 02 00       	call   0x4431c7
4218da:	8b f0                	mov    %eax,%esi
4218dc:	85 f6                	test   %esi,%esi
4218de:	78 6c                	js     0x42194c
4218e0:	8d 47 0c             	lea    0xc(%edi),%eax
4218e3:	50                   	push   %eax
4218e4:	68 0c dc 44 00       	push   $0x44dc0c
4218e9:	ff 75 fc             	push   -0x4(%ebp)
4218ec:	e8 d6 18 02 00       	call   0x4431c7
4218f1:	8b f0                	mov    %eax,%esi
4218f3:	85 f6                	test   %esi,%esi
4218f5:	78 4e                	js     0x421945
4218f7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4218fa:	85 c9                	test   %ecx,%ecx
4218fc:	74 0a                	je     0x421908
4218fe:	8b 01                	mov    (%ecx),%eax
421900:	51                   	push   %ecx
421901:	ff 50 08             	call   *0x8(%eax)
421904:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
421908:	8b 45 08             	mov    0x8(%ebp),%eax
42190b:	43                   	inc    %ebx
42190c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42190f:	83 c0 10             	add    $0x10,%eax
421912:	89 45 08             	mov    %eax,0x8(%ebp)
421915:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
421918:	0f 82 58 ff ff ff    	jb     0x421876
42191e:	33 f6                	xor    %esi,%esi
421920:	5f                   	pop    %edi
421921:	5b                   	pop    %ebx
421922:	8b 4d f4             	mov    -0xc(%ebp),%ecx
421925:	85 c9                	test   %ecx,%ecx
421927:	74 06                	je     0x42192f
421929:	8b 01                	mov    (%ecx),%eax
42192b:	51                   	push   %ecx
42192c:	ff 50 08             	call   *0x8(%eax)
42192f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421932:	85 c9                	test   %ecx,%ecx
421934:	74 06                	je     0x42193c
421936:	8b 01                	mov    (%ecx),%eax
421938:	51                   	push   %ecx
421939:	ff 50 08             	call   *0x8(%eax)
42193c:	8b c6                	mov    %esi,%eax
42193e:	5e                   	pop    %esi
42193f:	8b e5                	mov    %ebp,%esp
421941:	5d                   	pop    %ebp
421942:	c2 08 00             	ret    $0x8
421945:	68 1c e2 44 00       	push   $0x44e21c
42194a:	eb 1a                	jmp    0x421966
42194c:	68 50 b6 45 00       	push   $0x45b650
421951:	eb 13                	jmp    0x421966
421953:	68 0c b6 45 00       	push   $0x45b60c
421958:	eb 0c                	jmp    0x421966
42195a:	68 c8 b5 45 00       	push   $0x45b5c8
42195f:	eb 05                	jmp    0x421966
421961:	68 78 b5 45 00       	push   $0x45b578
421966:	56                   	push   %esi
421967:	e8 c3 e7 01 00       	call   0x44012f
42196c:	59                   	pop    %ecx
42196d:	59                   	pop    %ecx
42196e:	eb b0                	jmp    0x421920
421970:	55                   	push   %ebp
421971:	8b ec                	mov    %esp,%ebp
421973:	83 ec 14             	sub    $0x14,%esp
421976:	56                   	push   %esi
421977:	57                   	push   %edi
421978:	8d 45 f0             	lea    -0x10(%ebp),%eax
42197b:	33 ff                	xor    %edi,%edi
42197d:	50                   	push   %eax
42197e:	68 7c b3 45 00       	push   $0x45b37c
421983:	ff 75 08             	push   0x8(%ebp)
421986:	89 7d f0             	mov    %edi,-0x10(%ebp)
421989:	89 7d f8             	mov    %edi,-0x8(%ebp)
42198c:	89 7d f4             	mov    %edi,-0xc(%ebp)
42198f:	89 7d fc             	mov    %edi,-0x4(%ebp)
421992:	e8 6c 1e 02 00       	call   0x443803
421997:	8b f0                	mov    %eax,%esi
421999:	85 f6                	test   %esi,%esi
42199b:	79 12                	jns    0x4219af
42199d:	68 90 b3 45 00       	push   $0x45b390
4219a2:	56                   	push   %esi
4219a3:	e8 87 e7 01 00       	call   0x44012f
4219a8:	59                   	pop    %ecx
4219a9:	59                   	pop    %ecx
4219aa:	e9 e0 01 00 00       	jmp    0x421b8f
4219af:	8b 45 f0             	mov    -0x10(%ebp),%eax
4219b2:	8d 55 f4             	lea    -0xc(%ebp),%edx
4219b5:	52                   	push   %edx
4219b6:	50                   	push   %eax
4219b7:	8b 08                	mov    (%eax),%ecx
4219b9:	ff 51 20             	call   *0x20(%ecx)
4219bc:	8b f0                	mov    %eax,%esi
4219be:	85 f6                	test   %esi,%esi
4219c0:	79 07                	jns    0x4219c9
4219c2:	68 b4 b3 45 00       	push   $0x45b3b4
4219c7:	eb d9                	jmp    0x4219a2
4219c9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4219cc:	53                   	push   %ebx
4219cd:	85 c0                	test   %eax,%eax
4219cf:	0f 84 b7 01 00 00    	je     0x421b8c
4219d5:	6b c0 0c             	imul   $0xc,%eax,%eax
4219d8:	6a 01                	push   $0x1
4219da:	50                   	push   %eax
4219db:	e8 f4 1e fe ff       	call   0x4038d4
4219e0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4219e3:	89 81 b4 00 00 00    	mov    %eax,0xb4(%ecx)
4219e9:	85 c0                	test   %eax,%eax
4219eb:	75 1f                	jne    0x421a0c
4219ed:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4219f2:	56                   	push   %esi
4219f3:	68 72 02 00 00       	push   $0x272
4219f8:	68 20 af 45 00       	push   $0x45af20
4219fd:	e8 d1 1d fe ff       	call   0x4037d3
421a02:	68 d8 b3 45 00       	push   $0x45b3d8
421a07:	e9 76 01 00 00       	jmp    0x421b82
421a0c:	8b 45 f4             	mov    -0xc(%ebp),%eax
421a0f:	89 81 b8 00 00 00    	mov    %eax,0xb8(%ecx)
421a15:	89 7d 08             	mov    %edi,0x8(%ebp)
421a18:	85 c0                	test   %eax,%eax
421a1a:	0f 84 6c 01 00 00    	je     0x421b8c
421a20:	8b 1d 28 b1 44 00    	mov    0x44b128,%ebx
421a26:	8b d7                	mov    %edi,%edx
421a28:	89 55 ec             	mov    %edx,-0x14(%ebp)
421a2b:	8b b9 b4 00 00 00    	mov    0xb4(%ecx),%edi
421a31:	8d 45 f8             	lea    -0x8(%ebp),%eax
421a34:	6a 00                	push   $0x0
421a36:	50                   	push   %eax
421a37:	ff 75 f0             	push   -0x10(%ebp)
421a3a:	03 fa                	add    %edx,%edi
421a3c:	e8 1f 1d 02 00       	call   0x443760
421a41:	8b f0                	mov    %eax,%esi
421a43:	85 f6                	test   %esi,%esi
421a45:	0f 88 32 01 00 00    	js     0x421b7d
421a4b:	8d 45 fc             	lea    -0x4(%ebp),%eax
421a4e:	50                   	push   %eax
421a4f:	68 1c cb 44 00       	push   $0x44cb1c
421a54:	ff 75 f8             	push   -0x8(%ebp)
421a57:	e8 6b 17 02 00       	call   0x4431c7
421a5c:	8b f0                	mov    %eax,%esi
421a5e:	85 f6                	test   %esi,%esi
421a60:	0f 88 10 01 00 00    	js     0x421b76
421a66:	6a ff                	push   $0xffffffff
421a68:	68 0c b4 45 00       	push   $0x45b40c
421a6d:	6a ff                	push   $0xffffffff
421a6f:	ff 75 fc             	push   -0x4(%ebp)
421a72:	33 f6                	xor    %esi,%esi
421a74:	56                   	push   %esi
421a75:	6a 7f                	push   $0x7f
421a77:	ff d3                	call   *%ebx
421a79:	83 f8 02             	cmp    $0x2,%eax
421a7c:	75 08                	jne    0x421a86
421a7e:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
421a84:	eb 5a                	jmp    0x421ae0
421a86:	6a ff                	push   $0xffffffff
421a88:	68 1c b4 45 00       	push   $0x45b41c
421a8d:	6a ff                	push   $0xffffffff
421a8f:	ff 75 fc             	push   -0x4(%ebp)
421a92:	56                   	push   %esi
421a93:	6a 7f                	push   $0x7f
421a95:	ff d3                	call   *%ebx
421a97:	6a 02                	push   $0x2
421a99:	59                   	pop    %ecx
421a9a:	3b c1                	cmp    %ecx,%eax
421a9c:	75 04                	jne    0x421aa2
421a9e:	89 0f                	mov    %ecx,(%edi)
421aa0:	eb 3e                	jmp    0x421ae0
421aa2:	6a ff                	push   $0xffffffff
421aa4:	68 28 b4 45 00       	push   $0x45b428
421aa9:	6a ff                	push   $0xffffffff
421aab:	ff 75 fc             	push   -0x4(%ebp)
421aae:	56                   	push   %esi
421aaf:	6a 7f                	push   $0x7f
421ab1:	ff d3                	call   *%ebx
421ab3:	83 f8 02             	cmp    $0x2,%eax
421ab6:	75 08                	jne    0x421ac0
421ab8:	c7 07 03 00 00 00    	movl   $0x3,(%edi)
421abe:	eb 20                	jmp    0x421ae0
421ac0:	6a ff                	push   $0xffffffff
421ac2:	68 48 b4 45 00       	push   $0x45b448
421ac7:	6a ff                	push   $0xffffffff
421ac9:	ff 75 fc             	push   -0x4(%ebp)
421acc:	56                   	push   %esi
421acd:	6a 7f                	push   $0x7f
421acf:	ff d3                	call   *%ebx
421ad1:	83 f8 02             	cmp    $0x2,%eax
421ad4:	0f 85 84 00 00 00    	jne    0x421b5e
421ada:	c7 07 04 00 00 00    	movl   $0x4,(%edi)
421ae0:	8d 45 fc             	lea    -0x4(%ebp),%eax
421ae3:	50                   	push   %eax
421ae4:	68 7c b4 45 00       	push   $0x45b47c
421ae9:	ff 75 f8             	push   -0x8(%ebp)
421aec:	e8 d6 16 02 00       	call   0x4431c7
421af1:	8b f0                	mov    %eax,%esi
421af3:	85 f6                	test   %esi,%esi
421af5:	78 60                	js     0x421b57
421af7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421afa:	6a 2a                	push   $0x2a
421afc:	58                   	pop    %eax
421afd:	66 3b 01             	cmp    (%ecx),%ax
421b00:	75 0b                	jne    0x421b0d
421b02:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
421b09:	33 ff                	xor    %edi,%edi
421b0b:	eb 13                	jmp    0x421b20
421b0d:	8d 47 04             	lea    0x4(%edi),%eax
421b10:	33 ff                	xor    %edi,%edi
421b12:	50                   	push   %eax
421b13:	57                   	push   %edi
421b14:	51                   	push   %ecx
421b15:	e8 c2 0e fe ff       	call   0x4029dc
421b1a:	8b f0                	mov    %eax,%esi
421b1c:	85 f6                	test   %esi,%esi
421b1e:	78 2d                	js     0x421b4d
421b20:	8b 4d f8             	mov    -0x8(%ebp),%ecx
421b23:	85 c9                	test   %ecx,%ecx
421b25:	74 09                	je     0x421b30
421b27:	8b 01                	mov    (%ecx),%eax
421b29:	51                   	push   %ecx
421b2a:	ff 50 08             	call   *0x8(%eax)
421b2d:	89 7d f8             	mov    %edi,-0x8(%ebp)
421b30:	8b 45 08             	mov    0x8(%ebp),%eax
421b33:	8b 55 ec             	mov    -0x14(%ebp),%edx
421b36:	40                   	inc    %eax
421b37:	83 c2 0c             	add    $0xc,%edx
421b3a:	89 45 08             	mov    %eax,0x8(%ebp)
421b3d:	89 55 ec             	mov    %edx,-0x14(%ebp)
421b40:	3b 45 f4             	cmp    -0xc(%ebp),%eax
421b43:	73 47                	jae    0x421b8c
421b45:	8b 4d 0c             	mov    0xc(%ebp),%ecx
421b48:	e9 de fe ff ff       	jmp    0x421a2b
421b4d:	ff 75 fc             	push   -0x4(%ebp)
421b50:	68 a0 b4 45 00       	push   $0x45b4a0
421b55:	eb 14                	jmp    0x421b6b
421b57:	68 88 b4 45 00       	push   $0x45b488
421b5c:	eb 24                	jmp    0x421b82
421b5e:	ff 75 fc             	push   -0x4(%ebp)
421b61:	be ff ff 00 80       	mov    $0x8000ffff,%esi
421b66:	68 60 b4 45 00       	push   $0x45b460
421b6b:	56                   	push   %esi
421b6c:	e8 be e5 01 00       	call   0x44012f
421b71:	83 c4 0c             	add    $0xc,%esp
421b74:	eb 18                	jmp    0x421b8e
421b76:	68 28 cb 44 00       	push   $0x44cb28
421b7b:	eb 05                	jmp    0x421b82
421b7d:	68 48 ca 44 00       	push   $0x44ca48
421b82:	56                   	push   %esi
421b83:	e8 a7 e5 01 00       	call   0x44012f
421b88:	59                   	pop    %ecx
421b89:	59                   	pop    %ecx
421b8a:	eb 02                	jmp    0x421b8e
421b8c:	8b f7                	mov    %edi,%esi
421b8e:	5b                   	pop    %ebx
421b8f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421b92:	85 c9                	test   %ecx,%ecx
421b94:	74 06                	je     0x421b9c
421b96:	8b 01                	mov    (%ecx),%eax
421b98:	51                   	push   %ecx
421b99:	ff 50 08             	call   *0x8(%eax)
421b9c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
421b9f:	85 c9                	test   %ecx,%ecx
421ba1:	74 06                	je     0x421ba9
421ba3:	8b 01                	mov    (%ecx),%eax
421ba5:	51                   	push   %ecx
421ba6:	ff 50 08             	call   *0x8(%eax)
421ba9:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
421bad:	74 08                	je     0x421bb7
421baf:	ff 75 fc             	push   -0x4(%ebp)
421bb2:	e8 38 39 02 00       	call   0x4454ef
421bb7:	5f                   	pop    %edi
421bb8:	8b c6                	mov    %esi,%eax
421bba:	5e                   	pop    %esi
421bbb:	8b e5                	mov    %ebp,%esp
421bbd:	5d                   	pop    %ebp
421bbe:	c2 08 00             	ret    $0x8
421bc1:	55                   	push   %ebp
421bc2:	8b ec                	mov    %esp,%ebp
421bc4:	51                   	push   %ecx
421bc5:	56                   	push   %esi
421bc6:	57                   	push   %edi
421bc7:	8b 7d 08             	mov    0x8(%ebp),%edi
421bca:	33 f6                	xor    %esi,%esi
421bcc:	8b ce                	mov    %esi,%ecx
421bce:	89 4d fc             	mov    %ecx,-0x4(%ebp)
421bd1:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
421bd7:	85 c0                	test   %eax,%eax
421bd9:	74 2a                	je     0x421c05
421bdb:	66 39 30             	cmp    %si,(%eax)
421bde:	74 25                	je     0x421c05
421be0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
421be3:	51                   	push   %ecx
421be4:	50                   	push   %eax
421be5:	ff 75 0c             	push   0xc(%ebp)
421be8:	e8 c7 7b fe ff       	call   0x4097b4
421bed:	8b f0                	mov    %eax,%esi
421bef:	85 f6                	test   %esi,%esi
421bf1:	79 0f                	jns    0x421c02
421bf3:	68 e8 ae 45 00       	push   $0x45aee8
421bf8:	56                   	push   %esi