41a8b7:	6a 01                	push   $0x1
41a8b9:	eb 11                	jmp    0x41a8cc
41a8bb:	3b f0                	cmp    %eax,%esi
41a8bd:	75 11                	jne    0x41a8d0
41a8bf:	8b 48 08             	mov    0x8(%eax),%ecx
41a8c2:	8b 41 0c             	mov    0xc(%ecx),%eax
41a8c5:	3b 07                	cmp    (%edi),%eax
41a8c7:	7d 67                	jge    0x41a930
41a8c9:	57                   	push   %edi
41a8ca:	51                   	push   %ecx
41a8cb:	52                   	push   %edx
41a8cc:	8b cb                	mov    %ebx,%ecx
41a8ce:	eb c4                	jmp    0x41a894
41a8d0:	8b 07                	mov    (%edi),%eax
41a8d2:	39 46 0c             	cmp    %eax,0xc(%esi)
41a8d5:	7e 2b                	jle    0x41a902
41a8d7:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41a8da:	89 75 f8             	mov    %esi,-0x8(%ebp)
41a8dd:	e8 da 01 00 00       	call   0x41aabc
41a8e2:	8b 0f                	mov    (%edi),%ecx
41a8e4:	8b 00                	mov    (%eax),%eax
41a8e6:	39 48 0c             	cmp    %ecx,0xc(%eax)
41a8e9:	7d 12                	jge    0x41a8fd
41a8eb:	8b 45 f8             	mov    -0x8(%ebp),%eax
41a8ee:	8b 48 08             	mov    0x8(%eax),%ecx
41a8f1:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
41a8f5:	74 be                	je     0x41a8b5
41a8f7:	57                   	push   %edi
41a8f8:	50                   	push   %eax
41a8f9:	6a 00                	push   $0x0
41a8fb:	eb cf                	jmp    0x41a8cc
41a8fd:	8b c1                	mov    %ecx,%eax
41a8ff:	39 46 0c             	cmp    %eax,0xc(%esi)
41a902:	7d 2c                	jge    0x41a930
41a904:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41a907:	89 75 f8             	mov    %esi,-0x8(%ebp)
41a90a:	e8 43 fe ff ff       	call   0x41a752
41a90f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a912:	39 08                	cmp    %ecx,(%eax)
41a914:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41a917:	74 07                	je     0x41a920
41a919:	8b 07                	mov    (%edi),%eax
41a91b:	3b 41 0c             	cmp    0xc(%ecx),%eax
41a91e:	7d 10                	jge    0x41a930
41a920:	8b 45 0c             	mov    0xc(%ebp),%eax
41a923:	57                   	push   %edi
41a924:	8b 50 08             	mov    0x8(%eax),%edx
41a927:	80 7a 1d 00          	cmpb   $0x0,0x1d(%edx)
41a92b:	75 cb                	jne    0x41a8f8
41a92d:	51                   	push   %ecx
41a92e:	eb 87                	jmp    0x41a8b7
41a930:	57                   	push   %edi
41a931:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a934:	8b cb                	mov    %ebx,%ecx
41a936:	50                   	push   %eax
41a937:	e8 40 03 00 00       	call   0x41ac7c
41a93c:	8b 08                	mov    (%eax),%ecx
41a93e:	8b 45 08             	mov    0x8(%ebp),%eax
41a941:	89 08                	mov    %ecx,(%eax)
41a943:	5f                   	pop    %edi
41a944:	5e                   	pop    %esi
41a945:	5b                   	pop    %ebx
41a946:	c9                   	leave
41a947:	c2 0c 00             	ret    $0xc
41a94a:	6a 40                	push   $0x40
41a94c:	b8 53 12 49 00       	mov    $0x491253,%eax
41a951:	e8 b0 5b 07 00       	call   0x490506
41a956:	8b d1                	mov    %ecx,%edx
41a958:	f6 42 40 02          	testb  $0x2,0x40(%edx)
41a95c:	8b 7d 08             	mov    0x8(%ebp),%edi
41a95f:	89 7d b4             	mov    %edi,-0x4c(%ebp)
41a962:	75 49                	jne    0x41a9ad
41a964:	8b 42 24             	mov    0x24(%edx),%eax
41a967:	8b 08                	mov    (%eax),%ecx
41a969:	85 c9                	test   %ecx,%ecx
41a96b:	74 40                	je     0x41a9ad
41a96d:	39 4a 3c             	cmp    %ecx,0x3c(%edx)
41a970:	72 03                	jb     0x41a975
41a972:	8b 4a 3c             	mov    0x3c(%edx),%ecx
41a975:	8b 42 14             	mov    0x14(%edx),%eax
41a978:	33 d2                	xor    %edx,%edx
41a97a:	8b 00                	mov    (%eax),%eax
41a97c:	2b c8                	sub    %eax,%ecx
41a97e:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
41a982:	d1 f9                	sar    $1,%ecx
41a984:	51                   	push   %ecx
41a985:	50                   	push   %eax
41a986:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41a989:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
41a990:	66 89 55 d8          	mov    %dx,-0x28(%ebp)
41a994:	e8 8c 03 00 00       	call   0x41ad25
41a999:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a99d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a9a0:	8b cf                	mov    %edi,%ecx
41a9a2:	50                   	push   %eax
41a9a3:	e8 76 f6 ff ff       	call   0x41a01e
41a9a8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41a9ab:	eb 6a                	jmp    0x41aa17
41a9ad:	f6 42 40 04          	testb  $0x4,0x40(%edx)
41a9b1:	75 3e                	jne    0x41a9f1
41a9b3:	8b 42 20             	mov    0x20(%edx),%eax
41a9b6:	8b 08                	mov    (%eax),%ecx
41a9b8:	85 c9                	test   %ecx,%ecx
41a9ba:	74 35                	je     0x41a9f1
41a9bc:	8b 42 30             	mov    0x30(%edx),%eax
41a9bf:	8b 00                	mov    (%eax),%eax
41a9c1:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
41a9c4:	8b 42 10             	mov    0x10(%edx),%eax
41a9c7:	33 d2                	xor    %edx,%edx
41a9c9:	8b 00                	mov    (%eax),%eax
41a9cb:	2b c8                	sub    %eax,%ecx
41a9cd:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
41a9d1:	d1 f9                	sar    $1,%ecx
41a9d3:	51                   	push   %ecx
41a9d4:	50                   	push   %eax
41a9d5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41a9d8:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
41a9df:	66 89 55 d8          	mov    %dx,-0x28(%ebp)
41a9e3:	e8 3d 03 00 00       	call   0x41ad25
41a9e8:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41a9ef:	eb ac                	jmp    0x41a99d
41a9f1:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
41a9f5:	33 c0                	xor    %eax,%eax
41a9f7:	c7 45 d0 07 00 00 00 	movl   $0x7,-0x30(%ebp)
41a9fe:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
41aa02:	8d 45 b8             	lea    -0x48(%ebp),%eax
41aa05:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
41aa0c:	50                   	push   %eax
41aa0d:	8b cf                	mov    %edi,%ecx
41aa0f:	e8 0a f6 ff ff       	call   0x41a01e
41aa14:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41aa17:	6a 00                	push   $0x0
41aa19:	6a 01                	push   $0x1
41aa1b:	e8 a4 1d 00 00       	call   0x41c7c4
41aa20:	8b c7                	mov    %edi,%eax
41aa22:	e8 8e 5a 07 00       	call   0x4904b5
41aa27:	c2 04 00             	ret    $0x4
41aa2a:	6a 04                	push   $0x4
41aa2c:	b8 80 12 49 00       	mov    $0x491280,%eax
41aa31:	e8 9d 5a 07 00       	call   0x4904d3
41aa36:	8b f1                	mov    %ecx,%esi
41aa38:	89 75 f0             	mov    %esi,-0x10(%ebp)
41aa3b:	e8 1b 04 00 00       	call   0x41ae5b
41aa40:	8b 45 08             	mov    0x8(%ebp),%eax
41aa43:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41aa47:	c7 06 84 11 40 00    	movl   $0x401184,(%esi)
41aa4d:	83 78 18 08          	cmpl   $0x8,0x18(%eax)
41aa51:	8d 50 04             	lea    0x4(%eax),%edx
41aa54:	8b 78 14             	mov    0x14(%eax),%edi
41aa57:	72 02                	jb     0x41aa5b
41aa59:	8b 12                	mov    (%edx),%edx
41aa5b:	ff 75 0c             	push   0xc(%ebp)
41aa5e:	83 66 3c 00          	andl   $0x0,0x3c(%esi)
41aa62:	e8 30 03 00 00       	call   0x41ad97
41aa67:	89 46 40             	mov    %eax,0x40(%esi)
41aa6a:	85 ff                	test   %edi,%edi
41aa6c:	74 09                	je     0x41aa77
41aa6e:	57                   	push   %edi
41aa6f:	52                   	push   %edx
41aa70:	8b ce                	mov    %esi,%ecx
41aa72:	e8 4e 03 00 00       	call   0x41adc5
41aa77:	8b c6                	mov    %esi,%eax
41aa79:	e8 23 5a 07 00       	call   0x4904a1
41aa7e:	c2 08 00             	ret    $0x8
41aa81:	6a 08                	push   $0x8
41aa83:	b8 9b 12 49 00       	mov    $0x49129b,%eax
41aa88:	e8 46 5a 07 00       	call   0x4904d3
41aa8d:	8b f1                	mov    %ecx,%esi
41aa8f:	89 75 f0             	mov    %esi,-0x10(%ebp)
41aa92:	8b 06                	mov    (%esi),%eax
41aa94:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
41aa98:	51                   	push   %ecx
41aa99:	ff 75 08             	push   0x8(%ebp)
41aa9c:	8b 40 04             	mov    0x4(%eax),%eax
41aa9f:	c7 04 06 cc 11 40 00 	movl   $0x4011cc,(%esi,%eax,1)
41aaa6:	8b 06                	mov    (%esi),%eax
41aaa8:	8b 48 04             	mov    0x4(%eax),%ecx
41aaab:	03 ce                	add    %esi,%ecx
41aaad:	e8 3d 04 00 00       	call   0x41aeef
41aab2:	8b c6                	mov    %esi,%eax
41aab4:	e8 e8 59 07 00       	call   0x4904a1
41aab9:	c2 0c 00             	ret    $0xc
41aabc:	8b ff                	mov    %edi,%edi
41aabe:	55                   	push   %ebp
41aabf:	8b ec                	mov    %esp,%ebp
41aac1:	51                   	push   %ecx
41aac2:	8b d1                	mov    %ecx,%edx
41aac4:	8b 02                	mov    (%edx),%eax
41aac6:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
41aaca:	74 07                	je     0x41aad3
41aacc:	8b 40 08             	mov    0x8(%eax),%eax
41aacf:	89 02                	mov    %eax,(%edx)
41aad1:	eb 3f                	jmp    0x41ab12
41aad3:	8b 08                	mov    (%eax),%ecx
41aad5:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
41aad9:	74 3d                	je     0x41ab18
41aadb:	8b 48 04             	mov    0x4(%eax),%ecx
41aade:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
41aae2:	75 26                	jne    0x41ab0a
41aae4:	56                   	push   %esi
41aae5:	57                   	push   %edi
41aae6:	8b f0                	mov    %eax,%esi
41aae8:	8b f8                	mov    %eax,%edi
41aaea:	53                   	push   %ebx
41aaeb:	8b d9                	mov    %ecx,%ebx
41aaed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41aaf0:	8b c7                	mov    %edi,%eax
41aaf2:	3b 31                	cmp    (%ecx),%esi
41aaf4:	75 11                	jne    0x41ab07
41aaf6:	89 0a                	mov    %ecx,(%edx)
41aaf8:	8b f1                	mov    %ecx,%esi
41aafa:	8b 49 04             	mov    0x4(%ecx),%ecx
41aafd:	8b fe                	mov    %esi,%edi
41aaff:	8b c3                	mov    %ebx,%eax
41ab01:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
41ab05:	74 e4                	je     0x41aaeb
41ab07:	5b                   	pop    %ebx
41ab08:	5f                   	pop    %edi
41ab09:	5e                   	pop    %esi
41ab0a:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
41ab0e:	75 02                	jne    0x41ab12
41ab10:	89 0a                	mov    %ecx,(%edx)
41ab12:	8b c2                	mov    %edx,%eax
41ab14:	c9                   	leave
41ab15:	c3                   	ret
41ab16:	8b c8                	mov    %eax,%ecx
41ab18:	8b 41 08             	mov    0x8(%ecx),%eax
41ab1b:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
41ab1f:	74 f5                	je     0x41ab16
41ab21:	eb ed                	jmp    0x41ab10
41ab23:	6a 4c                	push   $0x4c
41ab25:	b8 be 12 49 00       	mov    $0x4912be,%eax
41ab2a:	e8 d7 59 07 00       	call   0x490506
41ab2f:	8b f1                	mov    %ecx,%esi
41ab31:	81 7e 08 fe ff ff 0f 	cmpl   $0xffffffe,0x8(%esi)
41ab38:	8b 45 08             	mov    0x8(%ebp),%eax
41ab3b:	8b 7d 10             	mov    0x10(%ebp),%edi
41ab3e:	89 45 a8             	mov    %eax,-0x58(%ebp)
41ab41:	8b 45 14             	mov    0x14(%ebp),%eax
41ab44:	0f 83 06 01 00 00    	jae    0x41ac50
41ab4a:	51                   	push   %ecx
41ab4b:	50                   	push   %eax
41ab4c:	ff 76 04             	push   0x4(%esi)
41ab4f:	57                   	push   %edi
41ab50:	ff 76 04             	push   0x4(%esi)
41ab53:	e8 61 04 00 00       	call   0x41afb9
41ab58:	ff 46 08             	incl   0x8(%esi)
41ab5b:	8b d8                	mov    %eax,%ebx
41ab5d:	8b 46 04             	mov    0x4(%esi),%eax
41ab60:	3b f8                	cmp    %eax,%edi
41ab62:	75 0d                	jne    0x41ab71
41ab64:	89 58 04             	mov    %ebx,0x4(%eax)
41ab67:	8b 46 04             	mov    0x4(%esi),%eax
41ab6a:	89 18                	mov    %ebx,(%eax)
41ab6c:	8b 46 04             	mov    0x4(%esi),%eax
41ab6f:	eb 1e                	jmp    0x41ab8f
41ab71:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41ab75:	74 0d                	je     0x41ab84
41ab77:	89 1f                	mov    %ebx,(%edi)
41ab79:	8b 46 04             	mov    0x4(%esi),%eax
41ab7c:	3b 38                	cmp    (%eax),%edi
41ab7e:	75 12                	jne    0x41ab92
41ab80:	89 18                	mov    %ebx,(%eax)
41ab82:	eb 0e                	jmp    0x41ab92
41ab84:	89 5f 08             	mov    %ebx,0x8(%edi)
41ab87:	8b 46 04             	mov    0x4(%esi),%eax
41ab8a:	3b 78 08             	cmp    0x8(%eax),%edi
41ab8d:	75 03                	jne    0x41ab92
41ab8f:	89 58 08             	mov    %ebx,0x8(%eax)
41ab92:	8b fb                	mov    %ebx,%edi
41ab94:	8d 4b 04             	lea    0x4(%ebx),%ecx
41ab97:	e9 91 00 00 00       	jmp    0x41ac2d
41ab9c:	8b 50 04             	mov    0x4(%eax),%edx
41ab9f:	8b 12                	mov    (%edx),%edx
41aba1:	3b c2                	cmp    %edx,%eax
41aba3:	75 3b                	jne    0x41abe0
41aba5:	8b 50 04             	mov    0x4(%eax),%edx
41aba8:	8b 52 08             	mov    0x8(%edx),%edx
41abab:	80 7a 1c 00          	cmpb   $0x0,0x1c(%edx)
41abaf:	74 35                	je     0x41abe6
41abb1:	3b 78 08             	cmp    0x8(%eax),%edi
41abb4:	75 0a                	jne    0x41abc0
41abb6:	8b f8                	mov    %eax,%edi
41abb8:	8b ce                	mov    %esi,%ecx
41abba:	57                   	push   %edi
41abbb:	e8 37 fc ff ff       	call   0x41a7f7
41abc0:	8b 47 04             	mov    0x4(%edi),%eax
41abc3:	8b ce                	mov    %esi,%ecx
41abc5:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41abc9:	8b 47 04             	mov    0x4(%edi),%eax
41abcc:	8b 40 04             	mov    0x4(%eax),%eax
41abcf:	c6 40 1c 00          	movb   $0x0,0x1c(%eax)
41abd3:	8b 47 04             	mov    0x4(%edi),%eax
41abd6:	ff 70 04             	push   0x4(%eax)
41abd9:	e8 d0 fb ff ff       	call   0x41a7ae
41abde:	eb 4a                	jmp    0x41ac2a
41abe0:	80 7a 1c 00          	cmpb   $0x0,0x1c(%edx)
41abe4:	75 18                	jne    0x41abfe
41abe6:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41abea:	c6 42 1c 01          	movb   $0x1,0x1c(%edx)
41abee:	8b 01                	mov    (%ecx),%eax
41abf0:	8b 40 04             	mov    0x4(%eax),%eax
41abf3:	c6 40 1c 00          	movb   $0x0,0x1c(%eax)
41abf7:	8b 01                	mov    (%ecx),%eax
41abf9:	8b 78 04             	mov    0x4(%eax),%edi
41abfc:	eb 2c                	jmp    0x41ac2a
41abfe:	3b 38                	cmp    (%eax),%edi
41ac00:	75 0a                	jne    0x41ac0c
41ac02:	8b f8                	mov    %eax,%edi
41ac04:	8b ce                	mov    %esi,%ecx
41ac06:	57                   	push   %edi
41ac07:	e8 a2 fb ff ff       	call   0x41a7ae
41ac0c:	8b 47 04             	mov    0x4(%edi),%eax
41ac0f:	8b ce                	mov    %esi,%ecx
41ac11:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41ac15:	8b 47 04             	mov    0x4(%edi),%eax
41ac18:	8b 40 04             	mov    0x4(%eax),%eax
41ac1b:	c6 40 1c 00          	movb   $0x0,0x1c(%eax)
41ac1f:	8b 47 04             	mov    0x4(%edi),%eax
41ac22:	ff 70 04             	push   0x4(%eax)
41ac25:	e8 cd fb ff ff       	call   0x41a7f7
41ac2a:	8d 4f 04             	lea    0x4(%edi),%ecx
41ac2d:	8b 01                	mov    (%ecx),%eax
41ac2f:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
41ac33:	0f 84 63 ff ff ff    	je     0x41ab9c
41ac39:	8b 4e 04             	mov    0x4(%esi),%ecx
41ac3c:	8b 45 a8             	mov    -0x58(%ebp),%eax
41ac3f:	8b 49 04             	mov    0x4(%ecx),%ecx
41ac42:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
41ac46:	89 18                	mov    %ebx,(%eax)
41ac48:	e8 68 58 07 00       	call   0x4904b5
41ac4d:	c2 10 00             	ret    $0x10
41ac50:	68 c0 f9 40 00       	push   $0x40f9c0
41ac55:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41ac58:	e8 2f 12 00 00       	call   0x41be8c
41ac5d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ac61:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41ac64:	50                   	push   %eax
41ac65:	8d 4d ac             	lea    -0x54(%ebp),%ecx
41ac68:	e8 fd 0c 00 00       	call   0x41b96a
41ac6d:	68 c8 ea 49 00       	push   $0x49eac8
41ac72:	8d 45 ac             	lea    -0x54(%ebp),%eax
41ac75:	50                   	push   %eax
41ac76:	e8 20 58 07 00       	call   0x49049b
41ac7b:	cc                   	int3
41ac7c:	8b ff                	mov    %edi,%edi
41ac7e:	55                   	push   %ebp
41ac7f:	8b ec                	mov    %esp,%ebp
41ac81:	83 ec 0c             	sub    $0xc,%esp
41ac84:	53                   	push   %ebx