478d31:	8d 54 24 28          	lea    0x28(%esp),%edx
478d35:	52                   	push   %edx
478d36:	50                   	push   %eax
478d37:	8b 08                	mov    (%eax),%ecx
478d39:	ff 51 24             	call   *0x24(%ecx)
478d3c:	85 c0                	test   %eax,%eax
478d3e:	79 22                	jns    0x478d62
478d40:	8b 44 24 1c          	mov    0x1c(%esp),%eax
478d44:	50                   	push   %eax
478d45:	8b 08                	mov    (%eax),%ecx
478d47:	ff 51 08             	call   *0x8(%ecx)
478d4a:	53                   	push   %ebx
478d4b:	53                   	push   %ebx
478d4c:	53                   	push   %ebx
478d4d:	68 05 40 00 80       	push   $0x80004005
478d52:	8b 4c 24 24          	mov    0x24(%esp),%ecx
478d56:	e8 80 09 00 00       	call   0x4796db
478d5b:	8b d8                	mov    %eax,%ebx
478d5d:	e9 da 01 00 00       	jmp    0x478f3c
478d62:	8b 44 24 28          	mov    0x28(%esp),%eax
478d66:	89 5c 24 20          	mov    %ebx,0x20(%esp)
478d6a:	89 5c 24 18          	mov    %ebx,0x18(%esp)
478d6e:	50                   	push   %eax
478d6f:	8b 08                	mov    (%eax),%ecx
478d71:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
478d78:	00
478d79:	ff 51 14             	call   *0x14(%ecx)
478d7c:	8b 44 24 28          	mov    0x28(%esp),%eax
478d80:	8d 54 24 18          	lea    0x18(%esp),%edx
478d84:	53                   	push   %ebx
478d85:	52                   	push   %edx
478d86:	6a 01                	push   $0x1
478d88:	8b 08                	mov    (%eax),%ecx
478d8a:	50                   	push   %eax
478d8b:	ff 51 0c             	call   *0xc(%ecx)
478d8e:	85 c0                	test   %eax,%eax
478d90:	0f 85 9a 00 00 00    	jne    0x478e30
478d96:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
478d9a:	0f 84 90 00 00 00    	je     0x478e30
478da0:	8b 44 24 1c          	mov    0x1c(%esp),%eax
478da4:	8d 54 24 20          	lea    0x20(%esp),%edx
478da8:	52                   	push   %edx
478da9:	ff 74 24 1c          	push   0x1c(%esp)
478dad:	8b 08                	mov    (%eax),%ecx
478daf:	50                   	push   %eax
478db0:	ff 51 18             	call   *0x18(%ecx)
478db3:	85 c0                	test   %eax,%eax
478db5:	78 60                	js     0x478e17
478db7:	8b 44 24 20          	mov    0x20(%esp),%eax
478dbb:	8d 54 24 10          	lea    0x10(%esp),%edx
478dbf:	52                   	push   %edx
478dc0:	68 0c 2c 49 00       	push   $0x492c0c
478dc5:	50                   	push   %eax
478dc6:	8b 08                	mov    (%eax),%ecx
478dc8:	ff 11                	call   *(%ecx)
478dca:	85 c0                	test   %eax,%eax
478dcc:	78 49                	js     0x478e17
478dce:	8b 44 24 20          	mov    0x20(%esp),%eax
478dd2:	50                   	push   %eax
478dd3:	8b 08                	mov    (%eax),%ecx
478dd5:	ff 51 08             	call   *0x8(%ecx)
478dd8:	8b 54 24 2c          	mov    0x2c(%esp),%edx
478ddc:	8d 74 24 60          	lea    0x60(%esp),%esi
478de0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
478de4:	83 ec 10             	sub    $0x10,%esp
478de7:	8b fc                	mov    %esp,%edi
478de9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478dea:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478deb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478dec:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478ded:	e8 86 ec fd ff       	call   0x457a78
478df2:	83 c4 10             	add    $0x10,%esp
478df5:	83 f8 01             	cmp    $0x1,%eax
478df8:	75 0f                	jne    0x478e09
478dfa:	8b 74 24 30          	mov    0x30(%esp),%esi
478dfe:	3b 74 24 24          	cmp    0x24(%esp),%esi
478e02:	74 22                	je     0x478e26
478e04:	46                   	inc    %esi
478e05:	89 74 24 30          	mov    %esi,0x30(%esp)
478e09:	8b 44 24 10          	mov    0x10(%esp),%eax
478e0d:	50                   	push   %eax
478e0e:	8b 08                	mov    (%eax),%ecx
478e10:	ff 51 08             	call   *0x8(%ecx)
478e13:	89 5c 24 10          	mov    %ebx,0x10(%esp)
478e17:	8b 44 24 18          	mov    0x18(%esp),%eax
478e1b:	50                   	push   %eax
478e1c:	8b 08                	mov    (%eax),%ecx
478e1e:	ff 51 08             	call   *0x8(%ecx)
478e21:	e9 56 ff ff ff       	jmp    0x478d7c
478e26:	8b 44 24 18          	mov    0x18(%esp),%eax
478e2a:	50                   	push   %eax
478e2b:	8b 08                	mov    (%eax),%ecx
478e2d:	ff 51 08             	call   *0x8(%ecx)
478e30:	8b 44 24 28          	mov    0x28(%esp),%eax
478e34:	50                   	push   %eax
478e35:	8b 08                	mov    (%eax),%ecx
478e37:	ff 51 08             	call   *0x8(%ecx)
478e3a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
478e3e:	50                   	push   %eax
478e3f:	8b 08                	mov    (%eax),%ecx
478e41:	ff 51 08             	call   *0x8(%ecx)
478e44:	8b cb                	mov    %ebx,%ecx
478e46:	eb 78                	jmp    0x478ec0
478e48:	8b 3d a4 f1 48 00    	mov    0x48f1a4,%edi
478e4e:	6a 01                	push   $0x1
478e50:	ff d7                	call   *%edi
478e52:	8b f0                	mov    %eax,%esi
478e54:	c7 44 24 34 0c 2c 49 	movl   $0x492c0c,0x34(%esp)
478e5b:	00
478e5c:	8b 44 24 28          	mov    0x28(%esp),%eax
478e60:	8d 4c 24 60          	lea    0x60(%esp),%ecx
478e64:	f7 d8                	neg    %eax
478e66:	89 5c 24 38          	mov    %ebx,0x38(%esp)
478e6a:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
478e6e:	1b c0                	sbb    %eax,%eax
478e70:	23 c1                	and    %ecx,%eax
478e72:	8d 4c 24 34          	lea    0x34(%esp),%ecx
478e76:	51                   	push   %ecx
478e77:	6a 01                	push   $0x1
478e79:	ff 74 24 38          	push   0x38(%esp)
478e7d:	6a 02                	push   $0x2
478e7f:	6a 15                	push   $0x15
478e81:	53                   	push   %ebx
478e82:	50                   	push   %eax
478e83:	53                   	push   %ebx
478e84:	ff 15 6c f8 48 00    	call   *0x48f86c
478e8a:	85 c0                	test   %eax,%eax
478e8c:	78 06                	js     0x478e94
478e8e:	8b 44 24 38          	mov    0x38(%esp),%eax
478e92:	eb 21                	jmp    0x478eb5
478e94:	8d 44 24 24          	lea    0x24(%esp),%eax
478e98:	89 5c 24 24          	mov    %ebx,0x24(%esp)
478e9c:	50                   	push   %eax
478e9d:	68 0c 2c 49 00       	push   $0x492c0c
478ea2:	53                   	push   %ebx
478ea3:	ff 74 24 3c          	push   0x3c(%esp)
478ea7:	ff 15 70 f8 48 00    	call   *0x48f870
478ead:	85 c0                	test   %eax,%eax
478eaf:	78 79                	js     0x478f2a
478eb1:	8b 44 24 24          	mov    0x24(%esp),%eax
478eb5:	56                   	push   %esi
478eb6:	89 44 24 14          	mov    %eax,0x14(%esp)
478eba:	ff d7                	call   *%edi
478ebc:	8b 4c 24 28          	mov    0x28(%esp),%ecx
478ec0:	8b 44 24 10          	mov    0x10(%esp),%eax
478ec4:	85 c0                	test   %eax,%eax
478ec6:	74 55                	je     0x478f1d
478ec8:	85 c9                	test   %ecx,%ecx
478eca:	74 36                	je     0x478f02
478ecc:	8b 54 24 2c          	mov    0x2c(%esp),%edx
478ed0:	8d 74 24 60          	lea    0x60(%esp),%esi
478ed4:	83 ec 10             	sub    $0x10,%esp
478ed7:	8b c8                	mov    %eax,%ecx
478ed9:	8b fc                	mov    %esp,%edi
478edb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478edc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478edd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478ede:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478edf:	e8 94 eb fd ff       	call   0x457a78
478ee4:	83 c4 10             	add    $0x10,%esp
478ee7:	85 c0                	test   %eax,%eax
478ee9:	8b 44 24 10          	mov    0x10(%esp),%eax
478eed:	75 13                	jne    0x478f02
478eef:	8b 08                	mov    (%eax),%ecx
478ef1:	50                   	push   %eax
478ef2:	ff 51 08             	call   *0x8(%ecx)
478ef5:	53                   	push   %ebx
478ef6:	53                   	push   %ebx
478ef7:	53                   	push   %ebx
478ef8:	68 a0 8c 02 80       	push   $0x80028ca0
478efd:	e9 50 fe ff ff       	jmp    0x478d52
478f02:	6a 09                	push   $0x9
478f04:	59                   	pop    %ecx
478f05:	89 44 24 48          	mov    %eax,0x48(%esp)
478f09:	8d 44 24 40          	lea    0x40(%esp),%eax
478f0d:	66 89 4c 24 40       	mov    %cx,0x40(%esp)
478f12:	8b 4d 0c             	mov    0xc(%ebp),%ecx
478f15:	50                   	push   %eax
478f16:	e8 e9 e8 fe ff       	call   0x467804
478f1b:	eb 1f                	jmp    0x478f3c
478f1d:	53                   	push   %ebx
478f1e:	53                   	push   %ebx
478f1f:	53                   	push   %ebx
478f20:	68 06 00 02 80       	push   $0x80020006
478f25:	e9 28 fe ff ff       	jmp    0x478d52
478f2a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
478f2e:	53                   	push   %ebx
478f2f:	53                   	push   %ebx
478f30:	53                   	push   %ebx
478f31:	50                   	push   %eax
478f32:	e8 a4 07 00 00       	call   0x4796db
478f37:	56                   	push   %esi
478f38:	8b d8                	mov    %eax,%ebx
478f3a:	ff d7                	call   *%edi
478f3c:	8d 4c 24 50          	lea    0x50(%esp),%ecx
478f40:	e8 1f cb f8 ff       	call   0x405a64
478f45:	8d 44 24 40          	lea    0x40(%esp),%eax
478f49:	50                   	push   %eax
478f4a:	ff 15 5c f4 48 00    	call   *0x48f45c
478f50:	5f                   	pop    %edi
478f51:	5e                   	pop    %esi
478f52:	8b c3                	mov    %ebx,%eax
478f54:	5b                   	pop    %ebx
478f55:	8b e5                	mov    %ebp,%esp
478f57:	5d                   	pop    %ebp
478f58:	c2 08 00             	ret    $0x8
478f5b:	55                   	push   %ebp
478f5c:	8b ec                	mov    %esp,%ebp
478f5e:	81 ec a0 02 00 00    	sub    $0x2a0,%esp
478f64:	53                   	push   %ebx
478f65:	57                   	push   %edi
478f66:	8b d9                	mov    %ecx,%ebx
478f68:	8b 4d 0c             	mov    0xc(%ebp),%ecx
478f6b:	68 10 f9 48 00       	push   $0x48f910
478f70:	e8 83 0c f9 ff       	call   0x409bf8
478f75:	8b 7d 08             	mov    0x8(%ebp),%edi
478f78:	8b 57 04             	mov    0x4(%edi),%edx
478f7b:	8b 0a                	mov    (%edx),%ecx
478f7d:	e8 5b 04 f9 ff       	call   0x4093dd
478f82:	84 c0                	test   %al,%al
478f84:	75 15                	jne    0x478f9b
478f86:	8b 03                	mov    (%ebx),%eax
478f88:	6a 00                	push   $0x0
478f8a:	6a 01                	push   $0x1
478f8c:	8b 48 04             	mov    0x4(%eax),%ecx
478f8f:	03 cb                	add    %ebx,%ecx
478f91:	e8 0d db fd ff       	call   0x456aa3
478f96:	e9 1f 02 00 00       	jmp    0x4791ba
478f9b:	56                   	push   %esi
478f9c:	33 f6                	xor    %esi,%esi
478f9e:	46                   	inc    %esi
478f9f:	89 75 e4             	mov    %esi,-0x1c(%ebp)
478fa2:	39 77 08             	cmp    %esi,0x8(%edi)
478fa5:	76 1f                	jbe    0x478fc6
478fa7:	8b 4a 04             	mov    0x4(%edx),%ecx
478faa:	e8 ed 0c f9 ff       	call   0x409c9c
478faf:	8b f0                	mov    %eax,%esi
478fb1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
478fb4:	83 fe 01             	cmp    $0x1,%esi
478fb7:	0f 8c ec 01 00 00    	jl     0x4791a9
478fbd:	83 fe 07             	cmp    $0x7,%esi
478fc0:	0f 8f e3 01 00 00    	jg     0x4791a9
478fc6:	8b 47 04             	mov    0x4(%edi),%eax
478fc9:	8b 00                	mov    (%eax),%eax
478fcb:	83 78 0c 08          	cmpl   $0x8,0xc(%eax)
478fcf:	75 04                	jne    0x478fd5
478fd1:	8b 38                	mov    (%eax),%edi
478fd3:	eb 02                	jmp    0x478fd7
478fd5:	33 ff                	xor    %edi,%edi
478fd7:	83 78 0c 08          	cmpl   $0x8,0xc(%eax)
478fdb:	8b 7f 08             	mov    0x8(%edi),%edi
478fde:	75 04                	jne    0x478fe4
478fe0:	8b 00                	mov    (%eax),%eax
478fe2:	eb 02                	jmp    0x478fe6
478fe4:	33 c0                	xor    %eax,%eax
478fe6:	66 83 38 09          	cmpw   $0x9,(%eax)
478fea:	0f 94 c0             	sete   %al
478fed:	88 45 0b             	mov    %al,0xb(%ebp)
478ff0:	83 fe 05             	cmp    $0x5,%esi
478ff3:	0f 85 83 00 00 00    	jne    0x47907c
478ff9:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
478ffd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
479000:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
479004:	e8 ec 03 00 00       	call   0x4793f5
479009:	84 c0                	test   %al,%al
47900b:	74 47                	je     0x479054
47900d:	8b 07                	mov    (%edi),%eax
47900f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
479012:	8b 30                	mov    (%eax),%esi
479014:	e8 dc 03 00 00       	call   0x4793f5
479019:	84 c0                	test   %al,%al
47901b:	8b 45 dc             	mov    -0x24(%ebp),%eax
47901e:	75 05                	jne    0x479025
479020:	b8 5f b7 43 00       	mov    $0x43b75f,%eax
479025:	8d 4d 08             	lea    0x8(%ebp),%ecx
479028:	51                   	push   %ecx
479029:	56                   	push   %esi
47902a:	6a 06                	push   $0x6
47902c:	ff d0                	call   *%eax
47902e:	68 04 01 00 00       	push   $0x104
479033:	8d 85 60 fd ff ff    	lea    -0x2a0(%ebp),%eax
479039:	50                   	push   %eax
47903a:	ff 75 08             	push   0x8(%ebp)
47903d:	ff 15 a8 f1 48 00    	call   *0x48f1a8
479043:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479046:	8d 85 60 fd ff ff    	lea    -0x2a0(%ebp),%eax
47904c:	50                   	push   %eax
47904d:	e8 a6 0b f9 ff       	call   0x409bf8
479052:	eb 10                	jmp    0x479064
479054:	8b 03                	mov    (%ebx),%eax
479056:	6a 00                	push   $0x0
479058:	6a 01                	push   $0x1
47905a:	8b 48 04             	mov    0x4(%eax),%ecx
47905d:	03 cb                	add    %ebx,%ecx
47905f:	e8 3f da fd ff       	call   0x456aa3
479064:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
479068:	0f 84 4b 01 00 00    	je     0x4791b9
47906e:	ff 75 d4             	push   -0x2c(%ebp)
479071:	ff 15 98 f1 48 00    	call   *0x48f198
479077:	e9 3d 01 00 00       	jmp    0x4791b9
47907c:	83 fe 07             	cmp    $0x7,%esi
47907f:	75 7c                	jne    0x4790fd
479081:	84 c0                	test   %al,%al
479083:	0f 84 20 01 00 00    	je     0x4791a9
479089:	8b 07                	mov    (%edi),%eax
47908b:	8d 4d 08             	lea    0x8(%ebp),%ecx
47908e:	51                   	push   %ecx
47908f:	68 00 08 00 00       	push   $0x800
479094:	6a 00                	push   $0x0
479096:	57                   	push   %edi
479097:	ff 50 10             	call   *0x10(%eax)
47909a:	85 c0                	test   %eax,%eax
47909c:	0f 85 07 01 00 00    	jne    0x4791a9
4790a2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4790a5:	85 c9                	test   %ecx,%ecx
4790a7:	0f 84 fc 00 00 00    	je     0x4791a9
4790ad:	8b 01                	mov    (%ecx),%eax
4790af:	8d 55 fc             	lea    -0x4(%ebp),%edx
4790b2:	52                   	push   %edx
4790b3:	51                   	push   %ecx
4790b4:	ff 50 0c             	call   *0xc(%eax)
4790b7:	8b 75 fc             	mov    -0x4(%ebp),%esi
4790ba:	8d 7d d0             	lea    -0x30(%ebp),%edi
4790bd:	8b 45 08             	mov    0x8(%ebp),%eax
4790c0:	ff 75 fc             	push   -0x4(%ebp)
4790c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4790c4:	50                   	push   %eax
4790c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4790c6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4790c7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4790c8:	8b 08                	mov    (%eax),%ecx
4790ca:	ff 51 4c             	call   *0x4c(%ecx)
4790cd:	6a 28                	push   $0x28
4790cf:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4790d5:	50                   	push   %eax
4790d6:	8d 45 d0             	lea    -0x30(%ebp),%eax
4790d9:	50                   	push   %eax
4790da:	ff 15 50 f8 48 00    	call   *0x48f850
4790e0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4790e3:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4790e9:	50                   	push   %eax
4790ea:	e8 09 0b f9 ff       	call   0x409bf8
4790ef:	8b 45 08             	mov    0x8(%ebp),%eax
4790f2:	8b 08                	mov    (%eax),%ecx
4790f4:	50                   	push   %eax
4790f5:	ff 51 08             	call   *0x8(%ecx)
4790f8:	e9 bc 00 00 00       	jmp    0x4791b9
4790fd:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
479101:	8d 4d c0             	lea    -0x40(%ebp),%ecx
479104:	8b 07                	mov    (%edi),%eax