45de04:	5d                   	pop    %ebp
45de05:	c2 04 00             	ret    $0x4
45de08:	55                   	push   %ebp
45de09:	8b ec                	mov    %esp,%ebp
45de0b:	51                   	push   %ecx
45de0c:	56                   	push   %esi
45de0d:	8b f1                	mov    %ecx,%esi
45de0f:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
45de13:	74 5f                	je     0x45de74
45de15:	8b 46 0c             	mov    0xc(%esi),%eax
45de18:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45de1b:	51                   	push   %ecx
45de1c:	50                   	push   %eax
45de1d:	8b 10                	mov    (%eax),%edx
45de1f:	ff 52 1c             	call   *0x1c(%edx)
45de22:	85 c0                	test   %eax,%eax
45de24:	78 4e                	js     0x45de74
45de26:	83 7e 14 01          	cmpl   $0x1,0x14(%esi)
45de2a:	75 1c                	jne    0x45de48
45de2c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45de2f:	ff 71 14             	push   0x14(%ecx)
45de32:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
45de36:	ff 71 10             	push   0x10(%ecx)
45de39:	50                   	push   %eax
45de3a:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
45de3e:	50                   	push   %eax
45de3f:	51                   	push   %ecx
45de40:	ff 15 6c f4 48 00    	call   *0x48f46c
45de46:	eb 20                	jmp    0x45de68
45de48:	83 7e 14 02          	cmpl   $0x2,0x14(%esi)
45de4c:	75 1a                	jne    0x45de68
45de4e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45de51:	ff 71 14             	push   0x14(%ecx)
45de54:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
45de58:	ff 71 10             	push   0x10(%ecx)
45de5b:	50                   	push   %eax
45de5c:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
45de60:	50                   	push   %eax
45de61:	51                   	push   %ecx
45de62:	ff 15 70 f4 48 00    	call   *0x48f470
45de68:	8b 46 0c             	mov    0xc(%esi),%eax
45de6b:	ff 75 fc             	push   -0x4(%ebp)
45de6e:	50                   	push   %eax
45de6f:	8b 08                	mov    (%eax),%ecx
45de71:	ff 51 30             	call   *0x30(%ecx)
45de74:	5e                   	pop    %esi
45de75:	8b e5                	mov    %ebp,%esp
45de77:	5d                   	pop    %ebp
45de78:	c3                   	ret
45de79:	55                   	push   %ebp
45de7a:	8b ec                	mov    %esp,%ebp
45de7c:	51                   	push   %ecx
45de7d:	8b 45 10             	mov    0x10(%ebp),%eax
45de80:	53                   	push   %ebx
45de81:	56                   	push   %esi
45de82:	33 db                	xor    %ebx,%ebx
45de84:	57                   	push   %edi
45de85:	8b f9                	mov    %ecx,%edi
45de87:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45de8a:	8d 77 1c             	lea    0x1c(%edi),%esi
45de8d:	c7 07 f0 9d 4b 00    	movl   $0x4b9df0,(%edi)
45de93:	89 5f 08             	mov    %ebx,0x8(%edi)
45de96:	89 5f 0c             	mov    %ebx,0xc(%edi)
45de99:	89 5f 10             	mov    %ebx,0x10(%edi)
45de9c:	89 5f 14             	mov    %ebx,0x14(%edi)
45de9f:	89 5f 18             	mov    %ebx,0x18(%edi)
45dea2:	89 1e                	mov    %ebx,(%esi)
45dea4:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
45deab:	89 47 24             	mov    %eax,0x24(%edi)
45deae:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
45deb1:	74 64                	je     0x45df17
45deb3:	ff 75 0c             	push   0xc(%ebp)
45deb6:	e8 4c 0c 00 00       	call   0x45eb07
45debb:	56                   	push   %esi
45debc:	68 00 08 00 00       	push   $0x800
45dec1:	ff 77 10             	push   0x10(%edi)
45dec4:	ff 15 74 f4 48 00    	call   *0x48f474
45deca:	85 c0                	test   %eax,%eax
45decc:	78 49                	js     0x45df17
45dece:	39 1e                	cmp    %ebx,(%esi)
45ded0:	74 45                	je     0x45df17
45ded2:	8b cf                	mov    %edi,%ecx
45ded4:	e8 11 0b 00 00       	call   0x45e9ea
45ded9:	8d 45 0c             	lea    0xc(%ebp),%eax
45dedc:	50                   	push   %eax
45dedd:	ff 36                	push   (%esi)
45dedf:	8b 75 08             	mov    0x8(%ebp),%esi
45dee2:	56                   	push   %esi
45dee3:	53                   	push   %ebx
45dee4:	ff 15 3c f4 48 00    	call   *0x48f43c
45deea:	85 c0                	test   %eax,%eax
45deec:	78 29                	js     0x45df17
45deee:	8b 45 0c             	mov    0xc(%ebp),%eax
45def1:	8d 55 fc             	lea    -0x4(%ebp),%edx
45def4:	52                   	push   %edx
45def5:	89 77 14             	mov    %esi,0x14(%edi)
45def8:	68 0c 2c 49 00       	push   $0x492c0c
45defd:	8b 08                	mov    (%eax),%ecx
45deff:	50                   	push   %eax
45df00:	ff 11                	call   *(%ecx)
45df02:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45df05:	8b f0                	mov    %eax,%esi
45df07:	51                   	push   %ecx
45df08:	8b 11                	mov    (%ecx),%edx
45df0a:	ff 52 08             	call   *0x8(%edx)
45df0d:	85 f6                	test   %esi,%esi
45df0f:	78 06                	js     0x45df17
45df11:	8b 45 fc             	mov    -0x4(%ebp),%eax
45df14:	89 47 18             	mov    %eax,0x18(%edi)
45df17:	8b c7                	mov    %edi,%eax
45df19:	5f                   	pop    %edi
45df1a:	5e                   	pop    %esi
45df1b:	5b                   	pop    %ebx
45df1c:	8b e5                	mov    %ebp,%esp
45df1e:	5d                   	pop    %ebp
45df1f:	c2 0c 00             	ret    $0xc
45df22:	56                   	push   %esi
45df23:	8b f1                	mov    %ecx,%esi
45df25:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
45df29:	c7 06 f0 9d 4b 00    	movl   $0x4b9df0,(%esi)
45df2f:	74 44                	je     0x45df75
45df31:	8b 46 10             	mov    0x10(%esi),%eax
45df34:	57                   	push   %edi
45df35:	33 ff                	xor    %edi,%edi
45df37:	39 78 04             	cmp    %edi,0x4(%eax)
45df3a:	76 15                	jbe    0x45df51
45df3c:	8b 46 08             	mov    0x8(%esi),%eax
45df3f:	ff 34 b8             	push   (%eax,%edi,4)
45df42:	e8 25 31 fc ff       	call   0x42106c
45df47:	8b 46 10             	mov    0x10(%esi),%eax
45df4a:	47                   	inc    %edi
45df4b:	59                   	pop    %ecx
45df4c:	3b 78 04             	cmp    0x4(%eax),%edi
45df4f:	72 eb                	jb     0x45df3c
45df51:	ff 76 08             	push   0x8(%esi)
45df54:	e8 13 31 fc ff       	call   0x42106c
45df59:	ff 76 0c             	push   0xc(%esi)
45df5c:	e8 0b 31 fc ff       	call   0x42106c
45df61:	ff 76 10             	push   0x10(%esi)
45df64:	e8 03 31 fc ff       	call   0x42106c
45df69:	ff 76 04             	push   0x4(%esi)
45df6c:	e8 fb 30 fc ff       	call   0x42106c
45df71:	83 c4 10             	add    $0x10,%esp
45df74:	5f                   	pop    %edi
45df75:	8b 4e 1c             	mov    0x1c(%esi),%ecx
45df78:	85 c9                	test   %ecx,%ecx
45df7a:	74 06                	je     0x45df82
45df7c:	8b 01                	mov    (%ecx),%eax
45df7e:	51                   	push   %ecx
45df7f:	ff 50 08             	call   *0x8(%eax)
45df82:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
45df86:	74 09                	je     0x45df91
45df88:	8b 46 14             	mov    0x14(%esi),%eax
45df8b:	50                   	push   %eax
45df8c:	8b 08                	mov    (%eax),%ecx
45df8e:	ff 51 08             	call   *0x8(%ecx)
45df91:	5e                   	pop    %esi
45df92:	c3                   	ret
45df93:	56                   	push   %esi
45df94:	68 ac 70 45 00       	push   $0x4570ac
45df99:	8d 71 fc             	lea    -0x4(%ecx),%esi
45df9c:	ff 36                	push   (%esi)
45df9e:	6a 10                	push   $0x10
45dfa0:	51                   	push   %ecx
45dfa1:	e8 2d 67 fa ff       	call   0x4046d3
45dfa6:	56                   	push   %esi
45dfa7:	e8 c0 30 fc ff       	call   0x42106c
45dfac:	59                   	pop    %ecx
45dfad:	8b c6                	mov    %esi,%eax
45dfaf:	5e                   	pop    %esi
45dfb0:	c2 04 00             	ret    $0x4
45dfb3:	55                   	push   %ebp
45dfb4:	8b ec                	mov    %esp,%ebp
45dfb6:	56                   	push   %esi
45dfb7:	8b 75 08             	mov    0x8(%ebp),%esi
45dfba:	8b 4e 18             	mov    0x18(%esi),%ecx
45dfbd:	83 c6 20             	add    $0x20,%esi
45dfc0:	85 c9                	test   %ecx,%ecx
45dfc2:	74 0a                	je     0x45dfce
45dfc4:	8b 01                	mov    (%ecx),%eax
45dfc6:	51                   	push   %ecx
45dfc7:	ff 50 04             	call   *0x4(%eax)
45dfca:	89 06                	mov    %eax,(%esi)
45dfcc:	eb 07                	jmp    0x45dfd5
45dfce:	56                   	push   %esi
45dfcf:	ff 15 54 f3 48 00    	call   *0x48f354
45dfd5:	8b 06                	mov    (%esi),%eax
45dfd7:	5e                   	pop    %esi
45dfd8:	5d                   	pop    %ebp
45dfd9:	c2 04 00             	ret    $0x4
45dfdc:	55                   	push   %ebp
45dfdd:	8b ec                	mov    %esp,%ebp
45dfdf:	66 8b 45 0c          	mov    0xc(%ebp),%ax
45dfe3:	83 ec 64             	sub    $0x64,%esp
45dfe6:	53                   	push   %ebx
45dfe7:	56                   	push   %esi
45dfe8:	33 db                	xor    %ebx,%ebx
45dfea:	57                   	push   %edi
45dfeb:	66 83 f8 1f          	cmp    $0x1f,%ax
45dfef:	75 12                	jne    0x45e003
45dff1:	8b 45 08             	mov    0x8(%ebp),%eax
45dff4:	8b 40 08             	mov    0x8(%eax),%eax
45dff7:	85 c0                	test   %eax,%eax
45dff9:	74 02                	je     0x45dffd
45dffb:	8b d8                	mov    %eax,%ebx
45dffd:	53                   	push   %ebx
45dffe:	e9 9f 00 00 00       	jmp    0x45e0a2
45e003:	66 83 f8 1e          	cmp    $0x1e,%ax
45e007:	75 50                	jne    0x45e059
45e009:	8b 45 08             	mov    0x8(%ebp),%eax
45e00c:	53                   	push   %ebx
45e00d:	53                   	push   %ebx
45e00e:	6a ff                	push   $0xffffffff
45e010:	8b 40 08             	mov    0x8(%eax),%eax
45e013:	50                   	push   %eax
45e014:	53                   	push   %ebx
45e015:	53                   	push   %ebx
45e016:	8b 1d 84 f1 48 00    	mov    0x48f184,%ebx
45e01c:	89 45 0c             	mov    %eax,0xc(%ebp)
45e01f:	ff d3                	call   *%ebx
45e021:	33 c9                	xor    %ecx,%ecx
45e023:	8b f8                	mov    %eax,%edi
45e025:	6a 02                	push   $0x2
45e027:	5a                   	pop    %edx
45e028:	f7 e2                	mul    %edx
45e02a:	0f 90 c1             	seto   %cl
45e02d:	f7 d9                	neg    %ecx
45e02f:	0b c8                	or     %eax,%ecx
45e031:	51                   	push   %ecx
45e032:	e8 bf 2f fc ff       	call   0x420ff6
45e037:	59                   	pop    %ecx
45e038:	57                   	push   %edi
45e039:	8b f0                	mov    %eax,%esi
45e03b:	33 c0                	xor    %eax,%eax
45e03d:	56                   	push   %esi
45e03e:	6a ff                	push   $0xffffffff
45e040:	ff 75 0c             	push   0xc(%ebp)
45e043:	50                   	push   %eax
45e044:	50                   	push   %eax
45e045:	ff d3                	call   *%ebx
45e047:	56                   	push   %esi
45e048:	ff 15 78 f4 48 00    	call   *0x48f478
45e04e:	56                   	push   %esi
45e04f:	8b d8                	mov    %eax,%ebx
45e051:	e8 16 30 fc ff       	call   0x42106c
45e056:	59                   	pop    %ecx
45e057:	eb 51                	jmp    0x45e0aa
45e059:	66 83 f8 08          	cmp    $0x8,%ax
45e05d:	75 18                	jne    0x45e077
45e05f:	8b 45 08             	mov    0x8(%ebp),%eax
45e062:	8b 70 08             	mov    0x8(%eax),%esi
45e065:	56                   	push   %esi
45e066:	ff 15 78 f4 48 00    	call   *0x48f478
45e06c:	56                   	push   %esi
45e06d:	8b d8                	mov    %eax,%ebx
45e06f:	ff 15 18 f4 48 00    	call   *0x48f418
45e075:	eb 33                	jmp    0x45e0aa
45e077:	66 83 f8 48          	cmp    $0x48,%ax
45e07b:	75 2d                	jne    0x45e0aa
45e07d:	8b 75 08             	mov    0x8(%ebp),%esi
45e080:	8d 7d f0             	lea    -0x10(%ebp),%edi
45e083:	6a 28                	push   $0x28
45e085:	8d 45 a0             	lea    -0x60(%ebp),%eax
45e088:	50                   	push   %eax
45e089:	8b 76 08             	mov    0x8(%esi),%esi
45e08c:	8d 45 f0             	lea    -0x10(%ebp),%eax
45e08f:	50                   	push   %eax
45e090:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45e091:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45e092:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45e093:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45e094:	ff 15 50 f8 48 00    	call   *0x48f850
45e09a:	85 c0                	test   %eax,%eax
45e09c:	74 0c                	je     0x45e0aa
45e09e:	8d 45 a0             	lea    -0x60(%ebp),%eax
45e0a1:	50                   	push   %eax
45e0a2:	ff 15 78 f4 48 00    	call   *0x48f478
45e0a8:	8b d8                	mov    %eax,%ebx
45e0aa:	5f                   	pop    %edi
45e0ab:	5e                   	pop    %esi
45e0ac:	8b c3                	mov    %ebx,%eax
45e0ae:	5b                   	pop    %ebx
45e0af:	8b e5                	mov    %ebp,%esp
45e0b1:	5d                   	pop    %ebp
45e0b2:	c2 08 00             	ret    $0x8
45e0b5:	55                   	push   %ebp
45e0b6:	8b ec                	mov    %esp,%ebp
45e0b8:	66 8b 45 0c          	mov    0xc(%ebp),%ax
45e0bc:	83 ec 50             	sub    $0x50,%esp
45e0bf:	53                   	push   %ebx
45e0c0:	33 db                	xor    %ebx,%ebx
45e0c2:	56                   	push   %esi
45e0c3:	66 83 f8 1f          	cmp    $0x1f,%ax
45e0c7:	75 12                	jne    0x45e0db
45e0c9:	8b 45 08             	mov    0x8(%ebp),%eax
45e0cc:	8b 40 08             	mov    0x8(%eax),%eax
45e0cf:	85 c0                	test   %eax,%eax
45e0d1:	74 02                	je     0x45e0d5
45e0d3:	8b 18                	mov    (%eax),%ebx
45e0d5:	53                   	push   %ebx
45e0d6:	e9 9a 00 00 00       	jmp    0x45e175
45e0db:	66 83 f8 1e          	cmp    $0x1e,%ax
45e0df:	75 54                	jne    0x45e135
45e0e1:	8b 45 08             	mov    0x8(%ebp),%eax
45e0e4:	57                   	push   %edi
45e0e5:	53                   	push   %ebx
45e0e6:	53                   	push   %ebx
45e0e7:	8b 40 08             	mov    0x8(%eax),%eax
45e0ea:	6a ff                	push   $0xffffffff
45e0ec:	8b 00                	mov    (%eax),%eax
45e0ee:	50                   	push   %eax
45e0ef:	53                   	push   %ebx
45e0f0:	53                   	push   %ebx
45e0f1:	8b 1d 84 f1 48 00    	mov    0x48f184,%ebx
45e0f7:	89 45 0c             	mov    %eax,0xc(%ebp)
45e0fa:	ff d3                	call   *%ebx
45e0fc:	33 c9                	xor    %ecx,%ecx
45e0fe:	8b f8                	mov    %eax,%edi
45e100:	6a 02                	push   $0x2
45e102:	5a                   	pop    %edx
45e103:	f7 e2                	mul    %edx
45e105:	0f 90 c1             	seto   %cl
45e108:	f7 d9                	neg    %ecx
45e10a:	0b c8                	or     %eax,%ecx
45e10c:	51                   	push   %ecx
45e10d:	e8 e4 2e fc ff       	call   0x420ff6
45e112:	59                   	pop    %ecx
45e113:	57                   	push   %edi
45e114:	8b f0                	mov    %eax,%esi
45e116:	33 c0                	xor    %eax,%eax
45e118:	56                   	push   %esi
45e119:	6a ff                	push   $0xffffffff
45e11b:	ff 75 0c             	push   0xc(%ebp)
45e11e:	50                   	push   %eax
45e11f:	50                   	push   %eax
45e120:	ff d3                	call   *%ebx
45e122:	56                   	push   %esi
45e123:	ff 15 78 f4 48 00    	call   *0x48f478
45e129:	56                   	push   %esi
45e12a:	8b d8                	mov    %eax,%ebx
45e12c:	e8 3b 2f fc ff       	call   0x42106c
45e131:	59                   	pop    %ecx
45e132:	5f                   	pop    %edi
45e133:	eb 48                	jmp    0x45e17d
45e135:	66 83 f8 08          	cmp    $0x8,%ax
45e139:	75 1a                	jne    0x45e155
45e13b:	8b 45 08             	mov    0x8(%ebp),%eax
45e13e:	8b 40 08             	mov    0x8(%eax),%eax
45e141:	8b 30                	mov    (%eax),%esi
45e143:	56                   	push   %esi