45caff:	c3                   	ret
45cb00:	55                   	push   %ebp
45cb01:	8b ec                	mov    %esp,%ebp
45cb03:	8b 45 10             	mov    0x10(%ebp),%eax
45cb06:	83 ec 10             	sub    $0x10,%esp
45cb09:	53                   	push   %ebx
45cb0a:	56                   	push   %esi
45cb0b:	57                   	push   %edi
45cb0c:	85 c0                	test   %eax,%eax
45cb0e:	74 7f                	je     0x45cb8f
45cb10:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
45cb13:	85 db                	test   %ebx,%ebx
45cb15:	74 78                	je     0x45cb8f
45cb17:	ff 30                	push   (%eax)
45cb19:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45cb1c:	e8 20 b4 fa ff       	call   0x407f41
45cb21:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45cb24:	e8 86 b4 fa ff       	call   0x407faf
45cb29:	ff 75 f4             	push   -0xc(%ebp)
45cb2c:	ff 75 f0             	push   -0x10(%ebp)
45cb2f:	ff 15 7c f6 48 00    	call   *0x48f67c
45cb35:	33 ff                	xor    %edi,%edi
45cb37:	8b f7                	mov    %edi,%esi
45cb39:	8b 86 f0 99 4b 00    	mov    0x4b99f0(%esi),%eax
45cb3f:	50                   	push   %eax
45cb40:	89 45 1c             	mov    %eax,0x1c(%ebp)
45cb43:	e8 f4 62 fc ff       	call   0x422e3c
45cb48:	59                   	pop    %ecx
45cb49:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45cb4c:	3b c1                	cmp    %ecx,%eax
45cb4e:	75 2e                	jne    0x45cb7e
45cb50:	8b 55 f0             	mov    -0x10(%ebp),%edx
45cb53:	89 4d 10             	mov    %ecx,0x10(%ebp)
45cb56:	85 c9                	test   %ecx,%ecx
45cb58:	74 16                	je     0x45cb70
45cb5a:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
45cb5d:	66 8b 01             	mov    (%ecx),%ax
45cb60:	66 3b 02             	cmp    (%edx),%ax
45cb63:	75 19                	jne    0x45cb7e
45cb65:	83 c1 02             	add    $0x2,%ecx
45cb68:	83 c2 02             	add    $0x2,%edx
45cb6b:	ff 4d 10             	decl   0x10(%ebp)
45cb6e:	75 ed                	jne    0x45cb5d
45cb70:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45cb73:	89 3b                	mov    %edi,(%ebx)
45cb75:	e8 ea 8e fa ff       	call   0x405a64
45cb7a:	33 c0                	xor    %eax,%eax
45cb7c:	eb 16                	jmp    0x45cb94
45cb7e:	83 c6 04             	add    $0x4,%esi
45cb81:	47                   	inc    %edi
45cb82:	83 fe 30             	cmp    $0x30,%esi
45cb85:	72 b2                	jb     0x45cb39
45cb87:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45cb8a:	e8 d5 8e fa ff       	call   0x405a64
45cb8f:	b8 06 00 02 80       	mov    $0x80020006,%eax
45cb94:	5f                   	pop    %edi
45cb95:	5e                   	pop    %esi
45cb96:	5b                   	pop    %ebx
45cb97:	8b e5                	mov    %ebp,%esp
45cb99:	5d                   	pop    %ebp
45cb9a:	c2 18 00             	ret    $0x18
45cb9d:	55                   	push   %ebp
45cb9e:	8b ec                	mov    %esp,%ebp
45cba0:	8b 45 14             	mov    0x14(%ebp),%eax
45cba3:	85 c0                	test   %eax,%eax
45cba5:	75 07                	jne    0x45cbae
45cba7:	b8 57 00 07 80       	mov    $0x80070057,%eax
45cbac:	eb 08                	jmp    0x45cbb6
45cbae:	83 20 00             	andl   $0x0,(%eax)
45cbb1:	b8 01 40 00 80       	mov    $0x80004001,%eax
45cbb6:	5d                   	pop    %ebp
45cbb7:	c2 10 00             	ret    $0x10
45cbba:	55                   	push   %ebp
45cbbb:	8b ec                	mov    %esp,%ebp
45cbbd:	8b 45 0c             	mov    0xc(%ebp),%eax
45cbc0:	85 c0                	test   %eax,%eax
45cbc2:	74 07                	je     0x45cbcb
45cbc4:	83 20 00             	andl   $0x0,(%eax)
45cbc7:	33 c0                	xor    %eax,%eax
45cbc9:	eb 05                	jmp    0x45cbd0
45cbcb:	b8 57 00 07 80       	mov    $0x80070057,%eax
45cbd0:	5d                   	pop    %ebp
45cbd1:	c2 08 00             	ret    $0x8
45cbd4:	55                   	push   %ebp
45cbd5:	8b ec                	mov    %esp,%ebp
45cbd7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45cbda:	8b c1                	mov    %ecx,%eax
45cbdc:	83 e8 09             	sub    $0x9,%eax
45cbdf:	74 25                	je     0x45cc06
45cbe1:	48                   	dec    %eax
45cbe2:	74 22                	je     0x45cc06
45cbe4:	83 f9 08             	cmp    $0x8,%ecx
45cbe7:	77 19                	ja     0x45cc02
45cbe9:	8b 45 08             	mov    0x8(%ebp),%eax
45cbec:	ff 75 20             	push   0x20(%ebp)
45cbef:	8b 40 1c             	mov    0x1c(%eax),%eax
45cbf2:	ff 34 88             	push   (%eax,%ecx,4)
45cbf5:	ff 75 1c             	push   0x1c(%ebp)
45cbf8:	ff 75 18             	push   0x18(%ebp)
45cbfb:	e8 5b 00 00 00       	call   0x45cc5b
45cc00:	eb 09                	jmp    0x45cc0b
45cc02:	33 c0                	xor    %eax,%eax
45cc04:	eb 05                	jmp    0x45cc0b
45cc06:	b8 03 00 02 80       	mov    $0x80020003,%eax
45cc0b:	5d                   	pop    %ebp
45cc0c:	c2 24 00             	ret    $0x24
45cc0f:	55                   	push   %ebp
45cc10:	8b ec                	mov    %esp,%ebp
45cc12:	6a 10                	push   $0x10
45cc14:	68 ec 2b 49 00       	push   $0x492bec
45cc19:	ff 75 0c             	push   0xc(%ebp)
45cc1c:	e8 a3 4a fc ff       	call   0x4216c4
45cc21:	83 c4 0c             	add    $0xc,%esp
45cc24:	85 c0                	test   %eax,%eax
45cc26:	74 1d                	je     0x45cc45
45cc28:	6a 10                	push   $0x10
45cc2a:	68 0c 2c 49 00       	push   $0x492c0c
45cc2f:	ff 75 0c             	push   0xc(%ebp)
45cc32:	e8 8d 4a fc ff       	call   0x4216c4
45cc37:	83 c4 0c             	add    $0xc,%esp
45cc3a:	85 c0                	test   %eax,%eax
45cc3c:	74 07                	je     0x45cc45
45cc3e:	b8 02 40 00 80       	mov    $0x80004002,%eax
45cc43:	eb 12                	jmp    0x45cc57
45cc45:	56                   	push   %esi
45cc46:	8b 75 08             	mov    0x8(%ebp),%esi
45cc49:	56                   	push   %esi
45cc4a:	8b 06                	mov    (%esi),%eax
45cc4c:	ff 50 04             	call   *0x4(%eax)
45cc4f:	8b 45 10             	mov    0x10(%ebp),%eax
45cc52:	89 30                	mov    %esi,(%eax)
45cc54:	33 c0                	xor    %eax,%eax
45cc56:	5e                   	pop    %esi
45cc57:	5d                   	pop    %ebp
45cc58:	c2 0c 00             	ret    $0xc
45cc5b:	55                   	push   %ebp
45cc5c:	8b ec                	mov    %esp,%ebp
45cc5e:	8b 45 0c             	mov    0xc(%ebp),%eax
45cc61:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
45cc65:	76 07                	jbe    0x45cc6e
45cc67:	b8 0e 00 02 80       	mov    $0x8002000e,%eax
45cc6c:	eb 26                	jmp    0x45cc94
45cc6e:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
45cc72:	74 1b                	je     0x45cc8f
45cc74:	ff 75 10             	push   0x10(%ebp)
45cc77:	ff 75 14             	push   0x14(%ebp)
45cc7a:	ff 15 58 f4 48 00    	call   *0x48f458
45cc80:	85 c0                	test   %eax,%eax
45cc82:	79 07                	jns    0x45cc8b
45cc84:	b8 09 00 02 80       	mov    $0x80020009,%eax
45cc89:	eb 09                	jmp    0x45cc94
45cc8b:	33 c0                	xor    %eax,%eax
45cc8d:	eb 05                	jmp    0x45cc94
45cc8f:	b8 03 00 02 80       	mov    $0x80020003,%eax
45cc94:	5d                   	pop    %ebp
45cc95:	c2 10 00             	ret    $0x10
45cc98:	55                   	push   %ebp
45cc99:	8b ec                	mov    %esp,%ebp
45cc9b:	56                   	push   %esi
45cc9c:	8b 75 08             	mov    0x8(%ebp),%esi
45cc9f:	8d 46 04             	lea    0x4(%esi),%eax
45cca2:	50                   	push   %eax
45cca3:	ff 15 50 f3 48 00    	call   *0x48f350
45cca9:	85 c0                	test   %eax,%eax
45ccab:	75 14                	jne    0x45ccc1
45ccad:	85 f6                	test   %esi,%esi
45ccaf:	74 0e                	je     0x45ccbf
45ccb1:	8b ce                	mov    %esi,%ecx
45ccb3:	e8 93 fd ff ff       	call   0x45ca4b
45ccb8:	56                   	push   %esi
45ccb9:	e8 ae 43 fc ff       	call   0x42106c
45ccbe:	59                   	pop    %ecx
45ccbf:	33 c0                	xor    %eax,%eax
45ccc1:	5e                   	pop    %esi
45ccc2:	5d                   	pop    %ebp
45ccc3:	c2 04 00             	ret    $0x4
45ccc6:	56                   	push   %esi
45ccc7:	8b f1                	mov    %ecx,%esi
45ccc9:	57                   	push   %edi
45ccca:	33 ff                	xor    %edi,%edi
45cccc:	39 7e 08             	cmp    %edi,0x8(%esi)
45cccf:	76 2f                	jbe    0x45cd00
45ccd1:	53                   	push   %ebx
45ccd2:	8b 46 04             	mov    0x4(%esi),%eax
45ccd5:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
45ccd8:	85 db                	test   %ebx,%ebx
45ccda:	74 16                	je     0x45ccf2
45ccdc:	53                   	push   %ebx
45ccdd:	ff 15 5c f4 48 00    	call   *0x48f45c
45cce3:	83 63 08 00          	andl   $0x0,0x8(%ebx)
45cce7:	83 63 0c 00          	andl   $0x0,0xc(%ebx)
45cceb:	53                   	push   %ebx
45ccec:	e8 7b 43 fc ff       	call   0x42106c
45ccf1:	59                   	pop    %ecx
45ccf2:	8b 46 04             	mov    0x4(%esi),%eax
45ccf5:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
45ccf9:	47                   	inc    %edi
45ccfa:	3b 7e 08             	cmp    0x8(%esi),%edi
45ccfd:	72 d3                	jb     0x45ccd2
45ccff:	5b                   	pop    %ebx
45cd00:	83 66 08 00          	andl   $0x0,0x8(%esi)
45cd04:	5f                   	pop    %edi
45cd05:	5e                   	pop    %esi
45cd06:	c3                   	ret
45cd07:	55                   	push   %ebp
45cd08:	8b ec                	mov    %esp,%ebp
45cd0a:	56                   	push   %esi
45cd0b:	8b f1                	mov    %ecx,%esi
45cd0d:	57                   	push   %edi
45cd0e:	8b 46 0c             	mov    0xc(%esi),%eax
45cd11:	39 46 08             	cmp    %eax,0x8(%esi)
45cd14:	75 4e                	jne    0x45cd64
45cd16:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
45cd19:	6a 08                	push   $0x8
45cd1b:	58                   	pop    %eax
45cd1c:	3b c8                	cmp    %eax,%ecx
45cd1e:	72 02                	jb     0x45cd22
45cd20:	8b c1                	mov    %ecx,%eax
45cd22:	33 c9                	xor    %ecx,%ecx
45cd24:	89 46 0c             	mov    %eax,0xc(%esi)
45cd27:	6a 04                	push   $0x4
45cd29:	5a                   	pop    %edx
45cd2a:	f7 e2                	mul    %edx
45cd2c:	0f 90 c1             	seto   %cl
45cd2f:	f7 d9                	neg    %ecx
45cd31:	0b c8                	or     %eax,%ecx
45cd33:	51                   	push   %ecx
45cd34:	e8 bd 42 fc ff       	call   0x420ff6
45cd39:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
45cd3d:	8b f8                	mov    %eax,%edi
45cd3f:	59                   	pop    %ecx
45cd40:	74 1f                	je     0x45cd61
45cd42:	8b 46 08             	mov    0x8(%esi),%eax
45cd45:	85 c0                	test   %eax,%eax
45cd47:	74 18                	je     0x45cd61
45cd49:	c1 e0 02             	shl    $0x2,%eax
45cd4c:	50                   	push   %eax
45cd4d:	ff 76 04             	push   0x4(%esi)
45cd50:	57                   	push   %edi
45cd51:	e8 2a 43 fc ff       	call   0x421080
45cd56:	ff 76 04             	push   0x4(%esi)
45cd59:	e8 0e 43 fc ff       	call   0x42106c
45cd5e:	83 c4 10             	add    $0x10,%esp
45cd61:	89 7e 04             	mov    %edi,0x4(%esi)
45cd64:	6a 10                	push   $0x10
45cd66:	e8 8b 42 fc ff       	call   0x420ff6
45cd6b:	8b f8                	mov    %eax,%edi
45cd6d:	59                   	pop    %ecx
45cd6e:	85 ff                	test   %edi,%edi
45cd70:	74 13                	je     0x45cd85
45cd72:	57                   	push   %edi
45cd73:	ff 15 7c f4 48 00    	call   *0x48f47c
45cd79:	ff 75 08             	push   0x8(%ebp)
45cd7c:	57                   	push   %edi
45cd7d:	ff 15 58 f4 48 00    	call   *0x48f458
45cd83:	eb 02                	jmp    0x45cd87
45cd85:	33 ff                	xor    %edi,%edi
45cd87:	8b 4e 08             	mov    0x8(%esi),%ecx
45cd8a:	8b 46 04             	mov    0x4(%esi),%eax
45cd8d:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
45cd90:	ff 46 08             	incl   0x8(%esi)
45cd93:	5f                   	pop    %edi
45cd94:	5e                   	pop    %esi
45cd95:	5d                   	pop    %ebp
45cd96:	c2 04 00             	ret    $0x4
45cd99:	55                   	push   %ebp
45cd9a:	8b ec                	mov    %esp,%ebp
45cd9c:	51                   	push   %ecx
45cd9d:	53                   	push   %ebx
45cd9e:	56                   	push   %esi
45cd9f:	8b f1                	mov    %ecx,%esi
45cda1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45cda4:	57                   	push   %edi
45cda5:	ff 75 08             	push   0x8(%ebp)
45cda8:	33 ff                	xor    %edi,%edi
45cdaa:	c7 06 58 9a 4b 00    	movl   $0x4b9a58,(%esi)
45cdb0:	8d 5e 20             	lea    0x20(%esi),%ebx
45cdb3:	89 7e 04             	mov    %edi,0x4(%esi)
45cdb6:	89 7e 08             	mov    %edi,0x8(%esi)
45cdb9:	89 7e 0c             	mov    %edi,0xc(%esi)
45cdbc:	89 3b                	mov    %edi,(%ebx)
45cdbe:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
45cdc5:	8b 01                	mov    (%ecx),%eax
45cdc7:	89 46 28             	mov    %eax,0x28(%esi)
45cdca:	8b 41 04             	mov    0x4(%ecx),%eax
45cdcd:	89 46 2c             	mov    %eax,0x2c(%esi)
45cdd0:	8b 41 08             	mov    0x8(%ecx),%eax
45cdd3:	89 46 30             	mov    %eax,0x30(%esi)
45cdd6:	8b 41 0c             	mov    0xc(%ecx),%eax
45cdd9:	8d 4e 40             	lea    0x40(%esi),%ecx
45cddc:	89 46 34             	mov    %eax,0x34(%esi)
45cddf:	ff 00                	incl   (%eax)
45cde1:	8b 45 18             	mov    0x18(%ebp),%eax
45cde4:	89 46 38             	mov    %eax,0x38(%esi)
45cde7:	8b 45 14             	mov    0x14(%ebp),%eax
45cdea:	89 46 3c             	mov    %eax,0x3c(%esi)
45cded:	89 7e 48             	mov    %edi,0x48(%esi)
45cdf0:	e8 cb cc fa ff       	call   0x409ac0
45cdf5:	83 7e 4c 08          	cmpl   $0x8,0x4c(%esi)
45cdf9:	75 03                	jne    0x45cdfe
45cdfb:	8b 7e 40             	mov    0x40(%esi),%edi
45cdfe:	8b 7f 08             	mov    0x8(%edi),%edi
45ce01:	85 ff                	test   %edi,%edi
45ce03:	74 6d                	je     0x45ce72
45ce05:	8b 07                	mov    (%edi),%eax
45ce07:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45ce0a:	51                   	push   %ecx
45ce0b:	68 6c 2c 49 00       	push   $0x492c6c
45ce10:	57                   	push   %edi
45ce11:	ff 10                	call   *(%eax)
45ce13:	85 c0                	test   %eax,%eax
45ce15:	78 56                	js     0x45ce6d
45ce17:	8b 55 10             	mov    0x10(%ebp),%edx
45ce1a:	8d 46 10             	lea    0x10(%esi),%eax
45ce1d:	50                   	push   %eax
45ce1e:	8d 46 0c             	lea    0xc(%esi),%eax
45ce21:	8b cf                	mov    %edi,%ecx
45ce23:	50                   	push   %eax
45ce24:	e8 7c b0 ff ff       	call   0x457ea5
45ce29:	59                   	pop    %ecx
45ce2a:	59                   	pop    %ecx
45ce2b:	85 c0                	test   %eax,%eax
45ce2d:	78 30                	js     0x45ce5f
45ce2f:	8b 46 0c             	mov    0xc(%esi),%eax
45ce32:	50                   	push   %eax
45ce33:	8b 08                	mov    (%eax),%ecx
45ce35:	ff 51 04             	call   *0x4(%ecx)
45ce38:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce3b:	8d 56 10             	lea    0x10(%esi),%edx
45ce3e:	53                   	push   %ebx
45ce3f:	52                   	push   %edx
45ce40:	50                   	push   %eax
45ce41:	8b 08                	mov    (%eax),%ecx
45ce43:	ff 51 10             	call   *0x10(%ecx)
45ce46:	85 c0                	test   %eax,%eax
45ce48:	78 15                	js     0x45ce5f
45ce4a:	8b 03                	mov    (%ebx),%eax
45ce4c:	50                   	push   %eax
45ce4d:	8b 08                	mov    (%eax),%ecx
45ce4f:	ff 51 04             	call   *0x4(%ecx)
45ce52:	8b 03                	mov    (%ebx),%eax
45ce54:	8d 56 08             	lea    0x8(%esi),%edx
45ce57:	52                   	push   %edx
45ce58:	56                   	push   %esi
45ce59:	50                   	push   %eax
45ce5a:	8b 08                	mov    (%eax),%ecx
45ce5c:	ff 51 14             	call   *0x14(%ecx)
45ce5f:	89 46 04             	mov    %eax,0x4(%esi)
45ce62:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce65:	50                   	push   %eax