45d8b8:	8b 45 c0             	mov    -0x40(%ebp),%eax
45d8bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d8be:	8b 06                	mov    (%esi),%eax
45d8c0:	50                   	push   %eax
45d8c1:	8d 48 01             	lea    0x1(%eax),%ecx
45d8c4:	89 0e                	mov    %ecx,(%esi)
45d8c6:	e8 7d 85 fa ff       	call   0x405e48
45d8cb:	8b d0                	mov    %eax,%edx
45d8cd:	89 55 f4             	mov    %edx,-0xc(%ebp)
45d8d0:	85 d2                	test   %edx,%edx
45d8d2:	0f 84 dc 00 00 00    	je     0x45d9b4
45d8d8:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
45d8dc:	0f 85 d8 00 00 00    	jne    0x45d9ba
45d8e2:	49                   	dec    %ecx
45d8e3:	89 8f f4 00 00 00    	mov    %ecx,0xf4(%edi)
45d8e9:	8b 4a 04             	mov    0x4(%edx),%ecx
45d8ec:	33 f6                	xor    %esi,%esi
45d8ee:	8b 01                	mov    (%ecx),%eax
45d8f0:	66 39 70 08          	cmp    %si,0x8(%eax)
45d8f4:	8b 75 0c             	mov    0xc(%ebp),%esi
45d8f7:	75 c5                	jne    0x45d8be
45d8f9:	8b 00                	mov    (%eax),%eax
45d8fb:	83 e8 14             	sub    $0x14,%eax
45d8fe:	0f 84 98 00 00 00    	je     0x45d99c
45d904:	48                   	dec    %eax
45d905:	74 23                	je     0x45d92a
45d907:	48                   	dec    %eax
45d908:	74 0d                	je     0x45d917
45d90a:	48                   	dec    %eax
45d90b:	0f 84 8b 00 00 00    	je     0x45d99c
45d911:	48                   	dec    %eax
45d912:	75 aa                	jne    0x45d8be
45d914:	4b                   	dec    %ebx
45d915:	eb a7                	jmp    0x45d8be
45d917:	85 db                	test   %ebx,%ebx
45d919:	75 f9                	jne    0x45d914
45d91b:	8b 0e                	mov    (%esi),%ecx
45d91d:	49                   	dec    %ecx
45d91e:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
45d922:	89 4d ec             	mov    %ecx,-0x14(%ebp)
45d925:	89 4d c0             	mov    %ecx,-0x40(%ebp)
45d928:	eb 94                	jmp    0x45d8be
45d92a:	85 db                	test   %ebx,%ebx
45d92c:	75 90                	jne    0x45d8be
45d92e:	38 5d fd             	cmp    %bl,-0x3(%ebp)
45d931:	75 8b                	jne    0x45d8be
45d933:	8b 41 04             	mov    0x4(%ecx),%eax
45d936:	33 c9                	xor    %ecx,%ecx
45d938:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45d93c:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
45d943:	66 39 48 08          	cmp    %cx,0x8(%eax)
45d947:	75 0f                	jne    0x45d958
45d949:	83 38 06             	cmpl   $0x6,(%eax)
45d94c:	75 0a                	jne    0x45d958
45d94e:	b2 01                	mov    $0x1,%dl
45d950:	6a 02                	push   $0x2
45d952:	88 55 ff             	mov    %dl,-0x1(%ebp)
45d955:	59                   	pop    %ecx
45d956:	eb 1e                	jmp    0x45d976
45d958:	8d 45 ff             	lea    -0x1(%ebp),%eax
45d95b:	50                   	push   %eax
45d95c:	8d 45 f8             	lea    -0x8(%ebp),%eax
45d95f:	50                   	push   %eax
45d960:	52                   	push   %edx
45d961:	8b cf                	mov    %edi,%ecx
45d963:	e8 48 7d fa ff       	call   0x4056b0
45d968:	85 c0                	test   %eax,%eax
45d96a:	0f 88 87 00 00 00    	js     0x45d9f7
45d970:	8a 55 ff             	mov    -0x1(%ebp),%dl
45d973:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45d976:	8b 45 f4             	mov    -0xc(%ebp),%eax
45d979:	8b 40 04             	mov    0x4(%eax),%eax
45d97c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45d97f:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
45d984:	75 1c                	jne    0x45d9a2
45d986:	84 d2                	test   %dl,%dl
45d988:	0f 84 30 ff ff ff    	je     0x45d8be
45d98e:	8b 06                	mov    (%esi),%eax
45d990:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
45d994:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d997:	e9 22 ff ff ff       	jmp    0x45d8be
45d99c:	43                   	inc    %ebx
45d99d:	e9 1c ff ff ff       	jmp    0x45d8be
45d9a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
45d9a5:	8b 40 04             	mov    0x4(%eax),%eax
45d9a8:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45d9ab:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45d9af:	50                   	push   %eax
45d9b0:	6a 72                	push   $0x72
45d9b2:	eb 3c                	jmp    0x45d9f0
45d9b4:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
45d9b8:	74 26                	je     0x45d9e0
45d9ba:	8a 45 fc             	mov    -0x4(%ebp),%al
45d9bd:	84 c0                	test   %al,%al
45d9bf:	74 1f                	je     0x45d9e0
45d9c1:	8d 45 b8             	lea    -0x48(%ebp),%eax
45d9c4:	50                   	push   %eax
45d9c5:	8d 8f 60 01 00 00    	lea    0x160(%edi),%ecx
45d9cb:	e8 b5 84 fa ff       	call   0x405e85
45d9d0:	80 7d fd 00          	cmpb   $0x0,-0x3(%ebp)
45d9d4:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d9d7:	75 03                	jne    0x45d9dc
45d9d9:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d9dc:	89 06                	mov    %eax,(%esi)
45d9de:	eb 17                	jmp    0x45d9f7
45d9e0:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d9e3:	6a ff                	push   $0xffffffff
45d9e5:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
45d9eb:	68 a0 00 00 00       	push   $0xa0
45d9f0:	8b cf                	mov    %edi,%ecx
45d9f2:	e8 65 f2 fe ff       	call   0x44cc5c
45d9f7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45d9fa:	e8 21 52 fb ff       	call   0x412c20
45d9ff:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45da02:	e8 19 52 fb ff       	call   0x412c20
45da07:	5f                   	pop    %edi
45da08:	5e                   	pop    %esi
45da09:	5b                   	pop    %ebx
45da0a:	c9                   	leave
45da0b:	c2 08 00             	ret    $0x8
45da0e:	55                   	push   %ebp
45da0f:	8b ec                	mov    %esp,%ebp
45da11:	81 ec 00 02 00 00    	sub    $0x200,%esp
45da17:	53                   	push   %ebx
45da18:	8b d9                	mov    %ecx,%ebx
45da1a:	33 c9                	xor    %ecx,%ecx
45da1c:	8b c1                	mov    %ecx,%eax
45da1e:	56                   	push   %esi
45da1f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
45da22:	57                   	push   %edi
45da23:	8d 4d 88             	lea    -0x78(%ebp),%ecx
45da26:	89 5d cc             	mov    %ebx,-0x34(%ebp)
45da29:	89 45 f8             	mov    %eax,-0x8(%ebp)
45da2c:	89 45 c8             	mov    %eax,-0x38(%ebp)
45da2f:	e8 c3 fd fa ff       	call   0x40d7f7
45da34:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45da37:	e8 bb fd fa ff       	call   0x40d7f7
45da3c:	8b 75 0c             	mov    0xc(%ebp),%esi
45da3f:	8b 7d 08             	mov    0x8(%ebp),%edi
45da42:	33 c0                	xor    %eax,%eax
45da44:	ff 06                	incl   (%esi)
45da46:	8b 16                	mov    (%esi),%edx
45da48:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45da4b:	89 45 dc             	mov    %eax,-0x24(%ebp)
45da4e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
45da51:	89 45 ec             	mov    %eax,-0x14(%ebp)
45da54:	8b 47 04             	mov    0x4(%edi),%eax
45da57:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
45da5e:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
45da61:	33 c0                	xor    %eax,%eax
45da63:	66 39 41 08          	cmp    %ax,0x8(%ecx)
45da67:	75 37                	jne    0x45daa0
45da69:	8b 01                	mov    (%ecx),%eax
45da6b:	83 e8 1a             	sub    $0x1a,%eax
45da6e:	74 22                	je     0x45da92
45da70:	48                   	dec    %eax
45da71:	48                   	dec    %eax
45da72:	74 19                	je     0x45da8d
45da74:	48                   	dec    %eax
45da75:	74 0c                	je     0x45da83
45da77:	0f bf 41 0a          	movswl 0xa(%ecx),%eax
45da7b:	50                   	push   %eax
45da7c:	6a 7f                	push   $0x7f
45da7e:	e9 cc 05 00 00       	jmp    0x45e04f
45da83:	6a 02                	push   $0x2
45da85:	59                   	pop    %ecx
45da86:	8d 42 01             	lea    0x1(%edx),%eax
45da89:	89 06                	mov    %eax,(%esi)
45da8b:	eb 16                	jmp    0x45daa3
45da8d:	33 c9                	xor    %ecx,%ecx
45da8f:	41                   	inc    %ecx
45da90:	eb f4                	jmp    0x45da86
45da92:	0f bf 41 0a          	movswl 0xa(%ecx),%eax
45da96:	50                   	push   %eax
45da97:	6a 6e                	push   $0x6e
45da99:	8b cb                	mov    %ebx,%ecx
45da9b:	e8 bc f1 fe ff       	call   0x44cc5c
45daa0:	8b 4d 10             	mov    0x10(%ebp),%ecx
45daa3:	83 3d f0 20 4c 00 00 	cmpl   $0x0,0x4c20f0
45daaa:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45daad:	75 09                	jne    0x45dab8
45daaf:	c7 45 e8 02 00 00 00 	movl   $0x2,-0x18(%ebp)
45dab6:	eb 0b                	jmp    0x45dac3
45dab8:	85 c9                	test   %ecx,%ecx
45daba:	75 07                	jne    0x45dac3
45dabc:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
45dac3:	6a 0a                	push   $0xa
45dac5:	6a 08                	push   $0x8
45dac7:	8d 85 04 fe ff ff    	lea    -0x1fc(%ebp),%eax
45dacd:	50                   	push   %eax
45dace:	ff b3 f4 00 00 00    	push   0xf4(%ebx)
45dad4:	e8 19 74 fc ff       	call   0x424ef2
45dad9:	8b 4f 04             	mov    0x4(%edi),%ecx
45dadc:	8b 06                	mov    (%esi),%eax
45dade:	83 c4 10             	add    $0x10,%esp
45dae1:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45dae4:	6a 7f                	push   $0x7f
45dae6:	5a                   	pop    %edx
45dae7:	6a 33                	push   $0x33
45dae9:	89 55 98             	mov    %edx,-0x68(%ebp)
45daec:	5a                   	pop    %edx
45daed:	66 39 50 08          	cmp    %dx,0x8(%eax)
45daf1:	6a 7f                	push   $0x7f
45daf3:	89 55 a0             	mov    %edx,-0x60(%ebp)
45daf6:	5a                   	pop    %edx
45daf7:	0f 85 44 05 00 00    	jne    0x45e041
45dafd:	c7 45 bc 4e 00 00 00 	movl   $0x4e,-0x44(%ebp)
45db04:	c7 45 b4 4f 00 00 00 	movl   $0x4f,-0x4c(%ebp)
45db0b:	c7 45 b8 47 00 00 00 	movl   $0x47,-0x48(%ebp)
45db12:	c7 45 c0 40 00 00 00 	movl   $0x40,-0x40(%ebp)
45db19:	c7 45 9c 48 00 00 00 	movl   $0x48,-0x64(%ebp)
45db20:	8b 06                	mov    (%esi),%eax
45db22:	c6 45 13 01          	movb   $0x1,0x13(%ebp)
45db26:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45db29:	8d 4d 88             	lea    -0x78(%ebp),%ecx
45db2c:	ff 30                	push   (%eax)
45db2e:	e8 ba 93 fa ff       	call   0x406eed
45db33:	ff 75 e8             	push   -0x18(%ebp)
45db36:	8d 45 d0             	lea    -0x30(%ebp),%eax
45db39:	50                   	push   %eax
45db3a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45db3d:	50                   	push   %eax
45db3e:	8d 45 88             	lea    -0x78(%ebp),%eax
45db41:	50                   	push   %eax
45db42:	e8 fe fa fa ff       	call   0x40d645
45db47:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
45db4b:	0f 85 75 05 00 00    	jne    0x45e0c6
45db51:	8d 85 04 fe ff ff    	lea    -0x1fc(%ebp),%eax
45db57:	50                   	push   %eax
45db58:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45db5b:	e8 03 8f fa ff       	call   0x406a63
45db60:	6a 2e                	push   $0x2e
45db62:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45db65:	e8 2f ec fa ff       	call   0x40c799
45db6a:	8b 0e                	mov    (%esi),%ecx
45db6c:	8b 47 04             	mov    0x4(%edi),%eax
45db6f:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45db72:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45db75:	ff 30                	push   (%eax)
45db77:	e8 91 75 fa ff       	call   0x40510d
45db7c:	6a 10                	push   $0x10
45db7e:	8d 45 d0             	lea    -0x30(%ebp),%eax
45db81:	50                   	push   %eax
45db82:	8d 45 ec             	lea    -0x14(%ebp),%eax
45db85:	50                   	push   %eax
45db86:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45db89:	50                   	push   %eax
45db8a:	e8 b6 fa fa ff       	call   0x40d645
45db8f:	8b 45 ec             	mov    -0x14(%ebp),%eax
45db92:	85 c0                	test   %eax,%eax
45db94:	75 41                	jne    0x45dbd7
45db96:	68 00 dc 49 00       	push   $0x49dc00
45db9b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45db9e:	e8 16 f2 fa ff       	call   0x40cdb9
45dba3:	6a 10                	push   $0x10
45dba5:	ff 75 d0             	push   -0x30(%ebp)
45dba8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45dbab:	50                   	push   %eax
45dbac:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45dbaf:	50                   	push   %eax
45dbb0:	e8 34 fb fa ff       	call   0x40d6e9
45dbb5:	6a 10                	push   $0x10
45dbb7:	8d 45 d0             	lea    -0x30(%ebp),%eax
45dbba:	50                   	push   %eax
45dbbb:	8d 45 ec             	lea    -0x14(%ebp),%eax
45dbbe:	50                   	push   %eax
45dbbf:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45dbc2:	50                   	push   %eax
45dbc3:	e8 7d fa fa ff       	call   0x40d645
45dbc8:	8b 45 ec             	mov    -0x14(%ebp),%eax
45dbcb:	85 c0                	test   %eax,%eax
45dbcd:	0f 84 a2 04 00 00    	je     0x45e075
45dbd3:	c6 45 13 00          	movb   $0x0,0x13(%ebp)
45dbd7:	ff 75 e8             	push   -0x18(%ebp)
45dbda:	68 00 04 00 00       	push   $0x400
45dbdf:	50                   	push   %eax
45dbe0:	8d 45 88             	lea    -0x78(%ebp),%eax
45dbe3:	50                   	push   %eax
45dbe4:	e8 fa a4 fe ff       	call   0x4480e3
45dbe9:	8b 45 ec             	mov    -0x14(%ebp),%eax
45dbec:	ff 06                	incl   (%esi)
45dbee:	8b 0e                	mov    (%esi),%ecx
45dbf0:	89 45 c4             	mov    %eax,-0x3c(%ebp)
45dbf3:	8b 47 04             	mov    0x4(%edi),%eax
45dbf6:	6a 4e                	push   $0x4e
45dbf8:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45dbfb:	59                   	pop    %ecx
45dbfc:	66 39 48 08          	cmp    %cx,0x8(%eax)
45dc00:	0f 85 22 01 00 00    	jne    0x45dd28
45dc06:	33 c0                	xor    %eax,%eax
45dc08:	89 45 f8             	mov    %eax,-0x8(%ebp)
45dc0b:	eb 03                	jmp    0x45dc10
45dc0d:	8b 7d 08             	mov    0x8(%ebp),%edi
45dc10:	ff 06                	incl   (%esi)
45dc12:	8b 0e                	mov    (%esi),%ecx
45dc14:	8b 47 04             	mov    0x4(%edi),%eax
45dc17:	6a 4f                	push   $0x4f
45dc19:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45dc1c:	59                   	pop    %ecx
45dc1d:	0f bf 78 0a          	movswl 0xa(%eax),%edi
45dc21:	66 39 48 08          	cmp    %cx,0x8(%eax)
45dc25:	75 33                	jne    0x45dc5a
45dc27:	83 ec 10             	sub    $0x10,%esp
45dc2a:	8b cc                	mov    %esp,%ecx
45dc2c:	ff 75 08             	push   0x8(%ebp)
45dc2f:	e8 a8 f0 ff ff       	call   0x45ccdc
45dc34:	33 c0                	xor    %eax,%eax
45dc36:	50                   	push   %eax
45dc37:	ff 36                	push   (%esi)
45dc39:	ff 75 f8             	push   -0x8(%ebp)
45dc3c:	e8 4c 11 00 00       	call   0x45ed8d
45dc41:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45dc44:	8b f0                	mov    %eax,%esi
45dc46:	e8 d5 4f fb ff       	call   0x412c20
45dc4b:	89 75 d4             	mov    %esi,-0x2c(%ebp)
45dc4e:	8b 75 0c             	mov    0xc(%ebp),%esi
45dc51:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
45dc58:	eb 19                	jmp    0x45dc73
45dc5a:	6a ff                	push   $0xffffffff
45dc5c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45dc5f:	50                   	push   %eax
45dc60:	56                   	push   %esi
45dc61:	ff 75 08             	push   0x8(%ebp)
45dc64:	8b cb                	mov    %ebx,%ecx
45dc66:	e8 c5 21 fb ff       	call   0x40fe30
45dc6b:	85 c0                	test   %eax,%eax
45dc6d:	0f 88 25 04 00 00    	js     0x45e098
45dc73:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45dc76:	e8 0b f6 fa ff       	call   0x40d286
45dc7b:	85 c0                	test   %eax,%eax
45dc7d:	0f 88 15 04 00 00    	js     0x45e098
45dc83:	8b 45 08             	mov    0x8(%ebp),%eax
45dc86:	8b 0e                	mov    (%esi),%ecx
45dc88:	8b 40 04             	mov    0x4(%eax),%eax
45dc8b:	6a 4f                	push   $0x4f
45dc8d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45dc90:	5a                   	pop    %edx
45dc91:	66 39 50 08          	cmp    %dx,0x8(%eax)
45dc95:	0f 85 fd 03 00 00    	jne    0x45e098
45dc9b:	8d 41 01             	lea    0x1(%ecx),%eax
45dc9e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45dca1:	89 06                	mov    %eax,(%esi)
45dca3:	e8 de f5 fa ff       	call   0x40d286
45dca8:	8b 55 f8             	mov    -0x8(%ebp),%edx
45dcab:	8b 0e                	mov    (%esi),%ecx
45dcad:	89 84 95 84 fe ff ff 	mov    %eax,-0x17c(%ebp,%edx,4)
45dcb4:	8b 45 08             	mov    0x8(%ebp),%eax
45dcb7:	6a 4e                	push   $0x4e
45dcb9:	8b 40 04             	mov    0x4(%eax),%eax
45dcbc:	42                   	inc    %edx