479c70:	33 f6                	xor    %esi,%esi
479c72:	56                   	push   %esi
479c73:	56                   	push   %esi
479c74:	56                   	push   %esi
479c75:	ff 75 08             	push   0x8(%ebp)
479c78:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
479c7e:	e8 3e c6 ff ff       	call   0x4762c1
479c83:	83 4d 08 ff          	orl    $0xffffffff,0x8(%ebp)
479c87:	89 75 fc             	mov    %esi,-0x4(%ebp)
479c8a:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
479c90:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
479c94:	e8 8b c6 ff ff       	call   0x476324
479c99:	83 f8 01             	cmp    $0x1,%eax
479c9c:	75 06                	jne    0x479ca4
479c9e:	8b 45 e8             	mov    -0x18(%ebp),%eax
479ca1:	89 45 08             	mov    %eax,0x8(%ebp)
479ca4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
479ca8:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
479cae:	e8 66 c6 ff ff       	call   0x476319
479cb3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
479cb6:	8b 45 08             	mov    0x8(%ebp),%eax
479cb9:	5f                   	pop    %edi
479cba:	5e                   	pop    %esi
479cbb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
479cc2:	5b                   	pop    %ebx
479cc3:	c9                   	leave
479cc4:	c2 04 00             	ret    $0x4
479cc7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
479cca:	e8 4a 62 fc ff       	call   0x43ff19
479ccf:	b8 a4 9c 47 00       	mov    $0x479ca4,%eax
479cd4:	c3                   	ret
479cd5:	b8 51 3f 48 00       	mov    $0x483f51,%eax
479cda:	e8 9d df f9 ff       	call   0x417c7c
479cdf:	81 ec ac 00 00 00    	sub    $0xac,%esp
479ce5:	53                   	push   %ebx
479ce6:	56                   	push   %esi
479ce7:	57                   	push   %edi
479ce8:	89 65 f0             	mov    %esp,-0x10(%ebp)
479ceb:	33 f6                	xor    %esi,%esi
479ced:	56                   	push   %esi
479cee:	56                   	push   %esi
479cef:	6a 01                	push   $0x1
479cf1:	ff 75 08             	push   0x8(%ebp)
479cf4:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
479cfa:	e8 c2 c5 ff ff       	call   0x4762c1
479cff:	83 4d 08 ff          	orl    $0xffffffff,0x8(%ebp)
479d03:	89 75 fc             	mov    %esi,-0x4(%ebp)
479d06:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
479d0c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
479d10:	e8 0f c6 ff ff       	call   0x476324
479d15:	83 f8 01             	cmp    $0x1,%eax
479d18:	75 06                	jne    0x479d20
479d1a:	8b 45 e8             	mov    -0x18(%ebp),%eax
479d1d:	89 45 08             	mov    %eax,0x8(%ebp)
479d20:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
479d24:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
479d2a:	e8 ea c5 ff ff       	call   0x476319
479d2f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
479d32:	8b 45 08             	mov    0x8(%ebp),%eax
479d35:	5f                   	pop    %edi
479d36:	5e                   	pop    %esi
479d37:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
479d3e:	5b                   	pop    %ebx
479d3f:	c9                   	leave
479d40:	c2 04 00             	ret    $0x4
479d43:	8b 4d ec             	mov    -0x14(%ebp),%ecx
479d46:	e8 ce 61 fc ff       	call   0x43ff19
479d4b:	b8 20 9d 47 00       	mov    $0x479d20,%eax
479d50:	c3                   	ret
479d51:	8b 01                	mov    (%ecx),%eax
479d53:	c3                   	ret
479d54:	53                   	push   %ebx
479d55:	56                   	push   %esi
479d56:	57                   	push   %edi
479d57:	8b 7c 24 10          	mov    0x10(%esp),%edi
479d5b:	8b df                	mov    %edi,%ebx
479d5d:	c1 e3 02             	shl    $0x2,%ebx
479d60:	53                   	push   %ebx
479d61:	8b f1                	mov    %ecx,%esi
479d63:	e8 ed 62 fc ff       	call   0x440055
479d68:	53                   	push   %ebx
479d69:	6a 00                	push   $0x0
479d6b:	50                   	push   %eax
479d6c:	89 06                	mov    %eax,(%esi)
479d6e:	e8 cd e4 f9 ff       	call   0x418240
479d73:	83 c4 10             	add    $0x10,%esp
479d76:	89 7e 04             	mov    %edi,0x4(%esi)
479d79:	5f                   	pop    %edi
479d7a:	8b c6                	mov    %esi,%eax
479d7c:	5e                   	pop    %esi
479d7d:	5b                   	pop    %ebx
479d7e:	c2 04 00             	ret    $0x4
479d81:	56                   	push   %esi
479d82:	57                   	push   %edi
479d83:	8b f1                	mov    %ecx,%esi
479d85:	33 ff                	xor    %edi,%edi
479d87:	39 7e 04             	cmp    %edi,0x4(%esi)
479d8a:	7e 11                	jle    0x479d9d
479d8c:	8b 06                	mov    (%esi),%eax
479d8e:	ff 34 b8             	push   (%eax,%edi,4)
479d91:	e8 08 c6 f9 ff       	call   0x41639e
479d96:	47                   	inc    %edi
479d97:	3b 7e 04             	cmp    0x4(%esi),%edi
479d9a:	59                   	pop    %ecx
479d9b:	7c ef                	jl     0x479d8c
479d9d:	ff 36                	push   (%esi)
479d9f:	e8 dc 62 fc ff       	call   0x440080
479da4:	59                   	pop    %ecx
479da5:	5f                   	pop    %edi
479da6:	5e                   	pop    %esi
479da7:	c3                   	ret
479da8:	56                   	push   %esi
479da9:	8b 74 24 08          	mov    0x8(%esp),%esi
479dad:	57                   	push   %edi
479dae:	8b f9                	mov    %ecx,%edi
479db0:	8b 07                	mov    (%edi),%eax
479db2:	c1 e6 02             	shl    $0x2,%esi
479db5:	ff 34 30             	push   (%eax,%esi,1)
479db8:	e8 e1 c5 f9 ff       	call   0x41639e
479dbd:	33 c0                	xor    %eax,%eax
479dbf:	39 44 24 14          	cmp    %eax,0x14(%esp)
479dc3:	59                   	pop    %ecx
479dc4:	74 0a                	je     0x479dd0
479dc6:	ff 74 24 10          	push   0x10(%esp)
479dca:	e8 4f ea f9 ff       	call   0x41881e
479dcf:	59                   	pop    %ecx
479dd0:	8b 0f                	mov    (%edi),%ecx
479dd2:	5f                   	pop    %edi
479dd3:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
479dd6:	5e                   	pop    %esi
479dd7:	c2 08 00             	ret    $0x8
479dda:	8b 44 24 04          	mov    0x4(%esp),%eax
479dde:	3b 41 04             	cmp    0x4(%ecx),%eax
479de1:	7c 08                	jl     0x479deb
479de3:	85 c0                	test   %eax,%eax
479de5:	7c 04                	jl     0x479deb
479de7:	33 c0                	xor    %eax,%eax
479de9:	eb 05                	jmp    0x479df0
479deb:	8b 09                	mov    (%ecx),%ecx
479ded:	8b 04 81             	mov    (%ecx,%eax,4),%eax
479df0:	c2 04 00             	ret    $0x4
479df3:	55                   	push   %ebp
479df4:	8b ec                	mov    %esp,%ebp
479df6:	51                   	push   %ecx
479df7:	8b 45 10             	mov    0x10(%ebp),%eax
479dfa:	53                   	push   %ebx
479dfb:	56                   	push   %esi
479dfc:	89 45 fc             	mov    %eax,-0x4(%ebp)
479dff:	83 65 fc 01          	andl   $0x1,-0x4(%ebp)
479e03:	57                   	push   %edi
479e04:	bf ec 01 49 00       	mov    $0x4901ec,%edi
479e09:	74 4e                	je     0x479e59
479e0b:	8b 35 80 fe 4a 00    	mov    0x4afe80,%esi
479e11:	6a 00                	push   $0x0
479e13:	bb 71 92 48 00       	mov    $0x489271,%ebx
479e18:	53                   	push   %ebx
479e19:	6a 01                	push   $0x1
479e1b:	57                   	push   %edi
479e1c:	ff 75 08             	push   0x8(%ebp)
479e1f:	ff d6                	call   *%esi
479e21:	85 c0                	test   %eax,%eax
479e23:	75 0e                	jne    0x479e33
479e25:	50                   	push   %eax
479e26:	53                   	push   %ebx
479e27:	6a 01                	push   $0x1
479e29:	57                   	push   %edi
479e2a:	ff 75 0c             	push   0xc(%ebp)
479e2d:	ff d6                	call   *%esi
479e2f:	85 c0                	test   %eax,%eax
479e31:	74 23                	je     0x479e56
479e33:	33 f6                	xor    %esi,%esi
479e35:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
479e39:	74 12                	je     0x479e4d
479e3b:	8b 1d a4 fe 4a 00    	mov    0x4afea4,%ebx
479e41:	57                   	push   %edi
479e42:	ff 75 0c             	push   0xc(%ebp)
479e45:	ff d3                	call   *%ebx
479e47:	57                   	push   %edi
479e48:	ff 75 08             	push   0x8(%ebp)
479e4b:	ff d3                	call   *%ebx
479e4d:	8b c6                	mov    %esi,%eax
479e4f:	5f                   	pop    %edi
479e50:	5e                   	pop    %esi
479e51:	5b                   	pop    %ebx
479e52:	c9                   	leave
479e53:	c2 0c 00             	ret    $0xc
479e56:	8b 45 10             	mov    0x10(%ebp),%eax
479e59:	33 db                	xor    %ebx,%ebx
479e5b:	a8 02                	test   $0x2,%al
479e5d:	74 05                	je     0x479e64
479e5f:	bb 80 88 4a 00       	mov    $0x4a8880,%ebx
479e64:	a8 04                	test   $0x4,%al
479e66:	74 05                	je     0x479e6d
479e68:	bb 94 88 4a 00       	mov    $0x4a8894,%ebx
479e6d:	83 e0 06             	and    $0x6,%eax
479e70:	3c 06                	cmp    $0x6,%al
479e72:	75 05                	jne    0x479e79
479e74:	bb 8c 88 4a 00       	mov    $0x4a888c,%ebx
479e79:	85 db                	test   %ebx,%ebx
479e7b:	74 56                	je     0x479ed3
479e7d:	8d 45 10             	lea    0x10(%ebp),%eax
479e80:	50                   	push   %eax
479e81:	68 06 00 02 00       	push   $0x20006
479e86:	6a 00                	push   $0x0
479e88:	68 dc 01 49 00       	push   $0x4901dc
479e8d:	ff 75 0c             	push   0xc(%ebp)
479e90:	ff 15 8c fe 4a 00    	call   *0x4afe8c
479e96:	8b f0                	mov    %eax,%esi
479e98:	f7 de                	neg    %esi
479e9a:	1b f6                	sbb    %esi,%esi
479e9c:	46                   	inc    %esi
479e9d:	74 96                	je     0x479e35
479e9f:	53                   	push   %ebx
479ea0:	ff 15 88 03 4b 00    	call   *0x4b0388
479ea6:	40                   	inc    %eax
479ea7:	50                   	push   %eax
479ea8:	53                   	push   %ebx
479ea9:	6a 01                	push   $0x1
479eab:	6a 00                	push   $0x0
479ead:	68 cc 01 49 00       	push   $0x4901cc
479eb2:	ff 75 10             	push   0x10(%ebp)
479eb5:	ff 15 a0 fe 4a 00    	call   *0x4afea0
479ebb:	ff 75 10             	push   0x10(%ebp)
479ebe:	8b f0                	mov    %eax,%esi
479ec0:	f7 de                	neg    %esi
479ec2:	1b f6                	sbb    %esi,%esi
479ec4:	46                   	inc    %esi
479ec5:	ff 15 ac fe 4a 00    	call   *0x4afeac
479ecb:	85 f6                	test   %esi,%esi
479ecd:	0f 84 62 ff ff ff    	je     0x479e35
479ed3:	33 c0                	xor    %eax,%eax
479ed5:	40                   	inc    %eax
479ed6:	e9 74 ff ff ff       	jmp    0x479e4f
479edb:	b8 20 40 48 00       	mov    $0x484020,%eax
479ee0:	e8 97 dd f9 ff       	call   0x417c7c
479ee5:	83 ec 0c             	sub    $0xc,%esp
479ee8:	53                   	push   %ebx
479ee9:	56                   	push   %esi
479eea:	57                   	push   %edi
479eeb:	e8 06 63 fc ff       	call   0x4401f6
479ef0:	8b 10                	mov    (%eax),%edx
479ef2:	8b c8                	mov    %eax,%ecx
479ef4:	ff 52 0c             	call   *0xc(%edx)
479ef7:	83 c0 10             	add    $0x10,%eax
479efa:	89 45 ec             	mov    %eax,-0x14(%ebp)
479efd:	33 db                	xor    %ebx,%ebx
479eff:	89 5d fc             	mov    %ebx,-0x4(%ebp)
479f02:	e8 ef 62 fc ff       	call   0x4401f6
479f07:	8b 10                	mov    (%eax),%edx
479f09:	8b c8                	mov    %eax,%ecx
479f0b:	ff 52 0c             	call   *0xc(%edx)
479f0e:	8d 78 10             	lea    0x10(%eax),%edi
479f11:	89 7d e8             	mov    %edi,-0x18(%ebp)
479f14:	be 00 00 00 80       	mov    $0x80000000,%esi
479f19:	39 75 14             	cmp    %esi,0x14(%ebp)
479f1c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
479f20:	89 5d f0             	mov    %ebx,-0x10(%ebp)
479f23:	75 16                	jne    0x479f3b
479f25:	8d 45 f0             	lea    -0x10(%ebp),%eax
479f28:	50                   	push   %eax
479f29:	68 19 00 02 00       	push   $0x20019
479f2e:	53                   	push   %ebx
479f2f:	68 c8 9b 48 00       	push   $0x489bc8
479f34:	56                   	push   %esi
479f35:	ff 15 8c fe 4a 00    	call   *0x4afe8c
479f3b:	8b 5d 08             	mov    0x8(%ebp),%ebx
479f3e:	eb 31                	jmp    0x479f71
479f40:	83 c3 04             	add    $0x4,%ebx
479f43:	39 75 14             	cmp    %esi,0x14(%ebp)
479f46:	75 05                	jne    0x479f4d
479f48:	80 38 00             	cmpb   $0x0,(%eax)
479f4b:	74 24                	je     0x479f71
479f4d:	ff 75 10             	push   0x10(%ebp)
479f50:	ff 75 0c             	push   0xc(%ebp)
479f53:	50                   	push   %eax
479f54:	8d 45 ec             	lea    -0x14(%ebp),%eax
479f57:	50                   	push   %eax
479f58:	e8 9b e1 fd ff       	call   0x4580f8
479f5d:	39 75 14             	cmp    %esi,0x14(%ebp)
479f60:	8b 45 ec             	mov    -0x14(%ebp),%eax
479f63:	75 06                	jne    0x479f6b
479f65:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
479f69:	74 06                	je     0x479f71
479f6b:	50                   	push   %eax
479f6c:	e8 82 4b ff ff       	call   0x46eaf3
479f71:	8b 03                	mov    (%ebx),%eax
479f73:	85 c0                	test   %eax,%eax
479f75:	75 c9                	jne    0x479f40
479f77:	39 45 f0             	cmp    %eax,-0x10(%ebp)
479f7a:	74 09                	je     0x479f85
479f7c:	ff 75 f0             	push   -0x10(%ebp)
479f7f:	ff 15 ac fe 4a 00    	call   *0x4afeac
479f85:	8d 4f f0             	lea    -0x10(%edi),%ecx
479f88:	e8 c5 73 f8 ff       	call   0x401352
479f8d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
479f90:	83 c1 f0             	add    $0xfffffff0,%ecx
479f93:	e8 ba 73 f8 ff       	call   0x401352
479f98:	8b 4d f4             	mov    -0xc(%ebp),%ecx
479f9b:	5f                   	pop    %edi
479f9c:	33 c0                	xor    %eax,%eax
479f9e:	5e                   	pop    %esi
479f9f:	40                   	inc    %eax
479fa0:	5b                   	pop    %ebx
479fa1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
479fa8:	c9                   	leave
479fa9:	c2 10 00             	ret    $0x10
479fac:	b8 40 40 48 00       	mov    $0x484040,%eax
479fb1:	e8 c6 dc f9 ff       	call   0x417c7c
479fb6:	81 ec 18 01 00 00    	sub    $0x118,%esp
479fbc:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
479fc1:	53                   	push   %ebx
479fc2:	56                   	push   %esi
479fc3:	57                   	push   %edi
479fc4:	89 45 f0             	mov    %eax,-0x10(%ebp)
479fc7:	e8 2a 62 fc ff       	call   0x4401f6
479fcc:	8b 10                	mov    (%eax),%edx
479fce:	8b c8                	mov    %eax,%ecx
479fd0:	ff 52 0c             	call   *0xc(%edx)
479fd3:	83 c0 10             	add    $0x10,%eax
479fd6:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
479fdc:	33 db                	xor    %ebx,%ebx
479fde:	89 5d fc             	mov    %ebx,-0x4(%ebp)
479fe1:	e8 10 62 fc ff       	call   0x4401f6
479fe6:	8b 10                	mov    (%eax),%edx
479fe8:	8b c8                	mov    %eax,%ecx
479fea:	ff 52 0c             	call   *0xc(%edx)
479fed:	83 c0 10             	add    $0x10,%eax
479ff0:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
479ff6:	bf 00 00 00 80       	mov    $0x80000000,%edi
479ffb:	39 7d 18             	cmp    %edi,0x18(%ebp)
479ffe:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
47a002:	89 9d e0 fe ff ff    	mov    %ebx,-0x120(%ebp)
47a008:	75 19                	jne    0x47a023
47a00a:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
47a010:	50                   	push   %eax
47a011:	68 19 00 02 00       	push   $0x20019
47a016:	53                   	push   %ebx
47a017:	68 c8 9b 48 00       	push   $0x489bc8
47a01c:	57                   	push   %edi
47a01d:	ff 15 8c fe 4a 00    	call   *0x4afe8c
47a023:	8b 45 08             	mov    0x8(%ebp),%eax
47a026:	8b 30                	mov    (%eax),%esi
47a028:	3b f3                	cmp    %ebx,%esi
47a02a:	c7 85 dc fe ff ff 01 	movl   $0x1,-0x124(%ebp)
47a031:	00 00 00
47a034:	0f 84 d4 00 00 00    	je     0x47a10e
47a03a:	8b 1d 88 03 4b 00    	mov    0x4b0388,%ebx
47a040:	83 45 08 04          	addl   $0x4,0x8(%ebp)
47a044:	39 7d 18             	cmp    %edi,0x18(%ebp)
47a047:	75 09                	jne    0x47a052