41c8dc:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c8df:	85 c0                	test   %eax,%eax
41c8e1:	74 32                	je     0x41c915
41c8e3:	8b d3                	mov    %ebx,%edx
41c8e5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41c8e8:	52                   	push   %edx
41c8e9:	8d 45 fc             	lea    -0x4(%ebp),%eax
41c8ec:	50                   	push   %eax
41c8ed:	ff 77 04             	push   0x4(%edi)
41c8f0:	ff 77 0c             	push   0xc(%edi)
41c8f3:	e8 97 2c 02 00       	call   0x43f58f
41c8f8:	8b f0                	mov    %eax,%esi
41c8fa:	85 f6                	test   %esi,%esi
41c8fc:	78 70                	js     0x41c96e
41c8fe:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c901:	8b 55 f0             	mov    -0x10(%ebp),%edx
41c904:	41                   	inc    %ecx
41c905:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c908:	83 c2 04             	add    $0x4,%edx
41c90b:	89 4d 08             	mov    %ecx,0x8(%ebp)
41c90e:	89 55 f0             	mov    %edx,-0x10(%ebp)
41c911:	3b c8                	cmp    %eax,%ecx
41c913:	72 d3                	jb     0x41c8e8
41c915:	89 45 e8             	mov    %eax,-0x18(%ebp)
41c918:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41c91b:	8b 45 0c             	mov    0xc(%ebp),%eax
41c91e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41c921:	ff 70 04             	push   0x4(%eax)
41c924:	51                   	push   %ecx
41c925:	ff 10                	call   *(%eax)
41c927:	8b 4d 10             	mov    0x10(%ebp),%ecx
41c92a:	89 01                	mov    %eax,(%ecx)
41c92c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41c930:	74 08                	je     0x41c93a
41c932:	ff 75 f4             	push   -0xc(%ebp)
41c935:	e8 b5 8b 02 00       	call   0x4454ef
41c93a:	85 db                	test   %ebx,%ebx
41c93c:	74 25                	je     0x41c963
41c93e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c941:	85 c0                	test   %eax,%eax
41c943:	74 18                	je     0x41c95d
41c945:	33 ff                	xor    %edi,%edi
41c947:	83 3c bb 00          	cmpl   $0x0,(%ebx,%edi,4)
41c94b:	74 0b                	je     0x41c958
41c94d:	ff 34 bb             	push   (%ebx,%edi,4)
41c950:	e8 9a 8b 02 00       	call   0x4454ef
41c955:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c958:	47                   	inc    %edi
41c959:	3b f8                	cmp    %eax,%edi
41c95b:	72 ea                	jb     0x41c947
41c95d:	53                   	push   %ebx
41c95e:	e8 36 70 fe ff       	call   0x403999
41c963:	5f                   	pop    %edi
41c964:	8b c6                	mov    %esi,%eax
41c966:	5e                   	pop    %esi
41c967:	5b                   	pop    %ebx
41c968:	8b e5                	mov    %ebp,%esp
41c96a:	5d                   	pop    %ebp
41c96b:	c2 0c 00             	ret    $0xc
41c96e:	8b 45 08             	mov    0x8(%ebp),%eax
41c971:	50                   	push   %eax
41c972:	68 c8 8a 45 00       	push   $0x458ac8
41c977:	56                   	push   %esi
41c978:	e8 b2 37 02 00       	call   0x44012f
41c97d:	83 c4 0c             	add    $0xc,%esp
41c980:	eb aa                	jmp    0x41c92c
41c982:	8d 45 e8             	lea    -0x18(%ebp),%eax
41c985:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
41c98c:	50                   	push   %eax
41c98d:	8d 45 fc             	lea    -0x4(%ebp),%eax
41c990:	50                   	push   %eax
41c991:	ff 77 04             	push   0x4(%edi)
41c994:	ff 77 0c             	push   0xc(%edi)
41c997:	e8 98 2b 02 00       	call   0x43f534
41c99c:	8b f0                	mov    %eax,%esi
41c99e:	85 f6                	test   %esi,%esi
41c9a0:	79 0a                	jns    0x41c9ac
41c9a2:	68 4c 8a 45 00       	push   $0x458a4c
41c9a7:	e9 8e fe ff ff       	jmp    0x41c83a
41c9ac:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c9af:	50                   	push   %eax
41c9b0:	8d 45 fc             	lea    -0x4(%ebp),%eax
41c9b3:	50                   	push   %eax
41c9b4:	ff 77 04             	push   0x4(%edi)
41c9b7:	ff 77 0c             	push   0xc(%edi)
41c9ba:	e8 d0 2b 02 00       	call   0x43f58f
41c9bf:	8b f0                	mov    %eax,%esi
41c9c1:	85 f6                	test   %esi,%esi
41c9c3:	79 0a                	jns    0x41c9cf
41c9c5:	68 68 8a 45 00       	push   $0x458a68
41c9ca:	e9 6b fe ff ff       	jmp    0x41c83a
41c9cf:	8b 45 f4             	mov    -0xc(%ebp),%eax
41c9d2:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c9d5:	e9 41 ff ff ff       	jmp    0x41c91b
41c9da:	8d 45 e8             	lea    -0x18(%ebp),%eax
41c9dd:	c7 45 e0 02 00 00 00 	movl   $0x2,-0x20(%ebp)
41c9e4:	50                   	push   %eax
41c9e5:	8d 45 fc             	lea    -0x4(%ebp),%eax
41c9e8:	50                   	push   %eax
41c9e9:	ff 77 04             	push   0x4(%edi)
41c9ec:	ff 77 0c             	push   0xc(%edi)
41c9ef:	e8 40 2b 02 00       	call   0x43f534
41c9f4:	8b f0                	mov    %eax,%esi
41c9f6:	85 f6                	test   %esi,%esi
41c9f8:	0f 89 1d ff ff ff    	jns    0x41c91b
41c9fe:	68 38 8a 45 00       	push   $0x458a38
41ca03:	e9 32 fe ff ff       	jmp    0x41c83a
41ca08:	55                   	push   %ebp
41ca09:	8b ec                	mov    %esp,%ebp
41ca0b:	51                   	push   %ecx
41ca0c:	51                   	push   %ecx
41ca0d:	8b 45 08             	mov    0x8(%ebp),%eax
41ca10:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41ca14:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ca18:	56                   	push   %esi
41ca19:	83 38 19             	cmpl   $0x19,(%eax)
41ca1c:	74 1c                	je     0x41ca3a
41ca1e:	be 57 00 07 80       	mov    $0x80070057,%esi
41ca23:	56                   	push   %esi
41ca24:	68 8b 05 00 00       	push   $0x58b
41ca29:	68 50 7a 45 00       	push   $0x457a50
41ca2e:	e8 a0 6d fe ff       	call   0x4037d3
41ca33:	68 ec 8b 45 00       	push   $0x458bec
41ca38:	eb 1e                	jmp    0x41ca58
41ca3a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41ca3d:	51                   	push   %ecx
41ca3e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41ca41:	51                   	push   %ecx
41ca42:	ff 70 04             	push   0x4(%eax)
41ca45:	ff 70 0c             	push   0xc(%eax)
41ca48:	e8 e7 2a 02 00       	call   0x43f534
41ca4d:	8b f0                	mov    %eax,%esi
41ca4f:	85 f6                	test   %esi,%esi
41ca51:	79 0f                	jns    0x41ca62
41ca53:	68 c4 8b 45 00       	push   $0x458bc4
41ca58:	56                   	push   %esi
41ca59:	e8 d1 36 02 00       	call   0x44012f
41ca5e:	59                   	pop    %ecx
41ca5f:	59                   	pop    %ecx
41ca60:	eb 0d                	jmp    0x41ca6f
41ca62:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ca65:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ca68:	89 01                	mov    %eax,(%ecx)
41ca6a:	8b 45 10             	mov    0x10(%ebp),%eax
41ca6d:	89 30                	mov    %esi,(%eax)
41ca6f:	8b c6                	mov    %esi,%eax
41ca71:	5e                   	pop    %esi
41ca72:	8b e5                	mov    %ebp,%esp
41ca74:	5d                   	pop    %ebp
41ca75:	c2 0c 00             	ret    $0xc
41ca78:	55                   	push   %ebp
41ca79:	8b ec                	mov    %esp,%ebp
41ca7b:	83 ec 2c             	sub    $0x2c,%esp
41ca7e:	53                   	push   %ebx
41ca7f:	56                   	push   %esi
41ca80:	57                   	push   %edi
41ca81:	6a 07                	push   $0x7
41ca83:	59                   	pop    %ecx
41ca84:	33 c0                	xor    %eax,%eax
41ca86:	8d 7d d4             	lea    -0x2c(%ebp),%edi
41ca89:	f3 ab                	rep stos %eax,%es:(%edi)
41ca8b:	8b 7d 08             	mov    0x8(%ebp),%edi
41ca8e:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ca91:	50                   	push   %eax
41ca92:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ca95:	33 d2                	xor    %edx,%edx
41ca97:	50                   	push   %eax
41ca98:	ff 77 04             	push   0x4(%edi)
41ca9b:	89 55 fc             	mov    %edx,-0x4(%ebp)
41ca9e:	8b da                	mov    %edx,%ebx
41caa0:	ff 77 0c             	push   0xc(%edi)
41caa3:	89 55 f8             	mov    %edx,-0x8(%ebp)
41caa6:	89 55 f4             	mov    %edx,-0xc(%ebp)
41caa9:	e8 86 2a 02 00       	call   0x43f534
41caae:	8b f0                	mov    %eax,%esi
41cab0:	85 f6                	test   %esi,%esi
41cab2:	79 12                	jns    0x41cac6
41cab4:	68 04 8b 45 00       	push   $0x458b04
41cab9:	56                   	push   %esi
41caba:	e8 70 36 02 00       	call   0x44012f
41cabf:	59                   	pop    %ecx
41cac0:	59                   	pop    %ecx
41cac1:	e9 0e 01 00 00       	jmp    0x41cbd4
41cac6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cac9:	85 c0                	test   %eax,%eax
41cacb:	74 71                	je     0x41cb3e
41cacd:	6a 01                	push   $0x1
41cacf:	c1 e0 02             	shl    $0x2,%eax
41cad2:	50                   	push   %eax
41cad3:	e8 fc 6d fe ff       	call   0x4038d4
41cad8:	8b d8                	mov    %eax,%ebx
41cada:	85 db                	test   %ebx,%ebx
41cadc:	75 1c                	jne    0x41cafa
41cade:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41cae3:	56                   	push   %esi
41cae4:	68 23 05 00 00       	push   $0x523
41cae9:	68 50 7a 45 00       	push   $0x457a50
41caee:	e8 e0 6c fe ff       	call   0x4037d3
41caf3:	68 24 8b 45 00       	push   $0x458b24
41caf8:	eb bf                	jmp    0x41cab9
41cafa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41cafd:	33 c0                	xor    %eax,%eax
41caff:	89 45 08             	mov    %eax,0x8(%ebp)
41cb02:	85 c9                	test   %ecx,%ecx
41cb04:	74 32                	je     0x41cb38
41cb06:	8b d3                	mov    %ebx,%edx
41cb08:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41cb0b:	52                   	push   %edx
41cb0c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cb0f:	50                   	push   %eax
41cb10:	ff 77 04             	push   0x4(%edi)
41cb13:	ff 77 0c             	push   0xc(%edi)
41cb16:	e8 74 2a 02 00       	call   0x43f58f
41cb1b:	8b f0                	mov    %eax,%esi
41cb1d:	8b 45 08             	mov    0x8(%ebp),%eax
41cb20:	85 f6                	test   %esi,%esi
41cb22:	78 3d                	js     0x41cb61
41cb24:	8b 55 f0             	mov    -0x10(%ebp),%edx
41cb27:	40                   	inc    %eax
41cb28:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41cb2b:	83 c2 04             	add    $0x4,%edx
41cb2e:	89 45 08             	mov    %eax,0x8(%ebp)
41cb31:	89 55 f0             	mov    %edx,-0x10(%ebp)
41cb34:	3b c1                	cmp    %ecx,%eax
41cb36:	72 d3                	jb     0x41cb0b
41cb38:	89 4d dc             	mov    %ecx,-0x24(%ebp)
41cb3b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41cb3e:	8d 45 d8             	lea    -0x28(%ebp),%eax
41cb41:	50                   	push   %eax
41cb42:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cb45:	50                   	push   %eax
41cb46:	ff 77 04             	push   0x4(%edi)
41cb49:	ff 77 0c             	push   0xc(%edi)
41cb4c:	e8 e3 29 02 00       	call   0x43f534
41cb51:	8b f0                	mov    %eax,%esi
41cb53:	85 f6                	test   %esi,%esi
41cb55:	79 1b                	jns    0x41cb72
41cb57:	68 6c 8b 45 00       	push   $0x458b6c
41cb5c:	e9 58 ff ff ff       	jmp    0x41cab9
41cb61:	50                   	push   %eax
41cb62:	68 50 8b 45 00       	push   $0x458b50
41cb67:	56                   	push   %esi
41cb68:	e8 c2 35 02 00       	call   0x44012f
41cb6d:	83 c4 0c             	add    $0xc,%esp
41cb70:	eb 62                	jmp    0x41cbd4
41cb72:	8b 07                	mov    (%edi),%eax
41cb74:	83 e8 15             	sub    $0x15,%eax
41cb77:	0f 84 1b 01 00 00    	je     0x41cc98
41cb7d:	83 e8 01             	sub    $0x1,%eax
41cb80:	0f 84 ba 00 00 00    	je     0x41cc40
41cb86:	83 e8 01             	sub    $0x1,%eax
41cb89:	0f 84 87 00 00 00    	je     0x41cc16
41cb8f:	83 e8 01             	sub    $0x1,%eax
41cb92:	74 1f                	je     0x41cbb3
41cb94:	be 57 00 07 80       	mov    $0x80070057,%esi
41cb99:	56                   	push   %esi
41cb9a:	68 5d 05 00 00       	push   $0x55d
41cb9f:	68 50 7a 45 00       	push   $0x457a50
41cba4:	e8 2a 6c fe ff       	call   0x4037d3
41cba9:	68 e8 8a 45 00       	push   $0x458ae8
41cbae:	e9 06 ff ff ff       	jmp    0x41cab9
41cbb3:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cbb6:	c7 45 d4 04 00 00 00 	movl   $0x4,-0x2c(%ebp)
41cbbd:	89 45 e8             	mov    %eax,-0x18(%ebp)
41cbc0:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41cbc3:	8b 45 0c             	mov    0xc(%ebp),%eax
41cbc6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41cbc9:	ff 70 04             	push   0x4(%eax)
41cbcc:	51                   	push   %ecx
41cbcd:	ff 10                	call   *(%eax)
41cbcf:	8b 4d 10             	mov    0x10(%ebp),%ecx
41cbd2:	89 01                	mov    %eax,(%ecx)
41cbd4:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41cbd8:	74 08                	je     0x41cbe2
41cbda:	ff 75 f4             	push   -0xc(%ebp)
41cbdd:	e8 0d 89 02 00       	call   0x4454ef
41cbe2:	85 db                	test   %ebx,%ebx
41cbe4:	74 25                	je     0x41cc0b
41cbe6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cbe9:	85 c0                	test   %eax,%eax
41cbeb:	74 18                	je     0x41cc05
41cbed:	33 ff                	xor    %edi,%edi
41cbef:	83 3c bb 00          	cmpl   $0x0,(%ebx,%edi,4)
41cbf3:	74 0b                	je     0x41cc00
41cbf5:	ff 34 bb             	push   (%ebx,%edi,4)
41cbf8:	e8 f2 88 02 00       	call   0x4454ef
41cbfd:	8b 45 f8             	mov    -0x8(%ebp),%eax
41cc00:	47                   	inc    %edi
41cc01:	3b f8                	cmp    %eax,%edi
41cc03:	72 ea                	jb     0x41cbef
41cc05:	53                   	push   %ebx
41cc06:	e8 8e 6d fe ff       	call   0x403999
41cc0b:	5f                   	pop    %edi
41cc0c:	8b c6                	mov    %esi,%eax
41cc0e:	5e                   	pop    %esi
41cc0f:	5b                   	pop    %ebx
41cc10:	8b e5                	mov    %ebp,%esp
41cc12:	5d                   	pop    %ebp
41cc13:	c2 0c 00             	ret    $0xc
41cc16:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cc19:	c7 45 d4 03 00 00 00 	movl   $0x3,-0x2c(%ebp)
41cc20:	50                   	push   %eax
41cc21:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cc24:	50                   	push   %eax
41cc25:	ff 77 04             	push   0x4(%edi)
41cc28:	ff 77 0c             	push   0xc(%edi)
41cc2b:	e8 04 29 02 00       	call   0x43f534
41cc30:	8b f0                	mov    %eax,%esi
41cc32:	85 f6                	test   %esi,%esi
41cc34:	79 34                	jns    0x41cc6a
41cc36:	68 a4 8b 45 00       	push   $0x458ba4
41cc3b:	e9 79 fe ff ff       	jmp    0x41cab9
41cc40:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cc43:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
41cc4a:	50                   	push   %eax
41cc4b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cc4e:	50                   	push   %eax
41cc4f:	ff 77 04             	push   0x4(%edi)
41cc52:	ff 77 0c             	push   0xc(%edi)
41cc55:	e8 da 28 02 00       	call   0x43f534
41cc5a:	8b f0                	mov    %eax,%esi
41cc5c:	85 f6                	test   %esi,%esi
41cc5e:	79 0a                	jns    0x41cc6a
41cc60:	68 4c 8a 45 00       	push   $0x458a4c
41cc65:	e9 4f fe ff ff       	jmp    0x41cab9
41cc6a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41cc6d:	50                   	push   %eax
41cc6e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cc71:	50                   	push   %eax
41cc72:	ff 77 04             	push   0x4(%edi)
41cc75:	ff 77 0c             	push   0xc(%edi)
41cc78:	e8 12 29 02 00       	call   0x43f58f
41cc7d:	8b f0                	mov    %eax,%esi
41cc7f:	85 f6                	test   %esi,%esi
41cc81:	79 0a                	jns    0x41cc8d
41cc83:	68 68 8a 45 00       	push   $0x458a68
41cc88:	e9 2c fe ff ff       	jmp    0x41cab9
41cc8d:	8b 45 f4             	mov    -0xc(%ebp),%eax
41cc90:	89 45 ec             	mov    %eax,-0x14(%ebp)
41cc93:	e9 2b ff ff ff       	jmp    0x41cbc3
41cc98:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cc9b:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
41cca2:	50                   	push   %eax
41cca3:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cca6:	50                   	push   %eax
41cca7:	ff 77 04             	push   0x4(%edi)
41ccaa:	ff 77 0c             	push   0xc(%edi)
41ccad:	e8 82 28 02 00       	call   0x43f534
41ccb2:	8b f0                	mov    %eax,%esi
41ccb4:	85 f6                	test   %esi,%esi