469ccd:	3b f7                	cmp    %edi,%esi
469ccf:	7c e3                	jl     0x469cb4
469cd1:	8b c7                	mov    %edi,%eax
469cd3:	5f                   	pop    %edi
469cd4:	5e                   	pop    %esi
469cd5:	5d                   	pop    %ebp
469cd6:	c2 08 00             	ret    $0x8
469cd9:	ff 15 4c 75 4a 00    	call   *0x4a754c
469cdf:	cc                   	int3
469ce0:	8b ff                	mov    %edi,%edi
469ce2:	55                   	push   %ebp
469ce3:	8b ec                	mov    %esp,%ebp
469ce5:	83 ec 10             	sub    $0x10,%esp
469ce8:	8b 45 0c             	mov    0xc(%ebp),%eax
469ceb:	56                   	push   %esi
469cec:	8b 75 08             	mov    0x8(%ebp),%esi
469cef:	89 45 f5             	mov    %eax,-0xb(%ebp)
469cf2:	8b 45 10             	mov    0x10(%ebp),%eax
469cf5:	89 45 f9             	mov    %eax,-0x7(%ebp)
469cf8:	8d 45 f0             	lea    -0x10(%ebp),%eax
469cfb:	6a 0d                	push   $0xd
469cfd:	50                   	push   %eax
469cfe:	c6 45 f0 03          	movb   $0x3,-0x10(%ebp)
469d02:	89 75 f1             	mov    %esi,-0xf(%ebp)
469d05:	e8 88 ff ff ff       	call   0x469c92
469d0a:	51                   	push   %ecx
469d0b:	8b ce                	mov    %esi,%ecx
469d0d:	e8 5d 45 fb ff       	call   0x41e26f
469d12:	5e                   	pop    %esi
469d13:	c9                   	leave
469d14:	c2 0c 00             	ret    $0xc
469d17:	8b ff                	mov    %edi,%edi
469d19:	55                   	push   %ebp
469d1a:	8b ec                	mov    %esp,%ebp
469d1c:	8b 55 08             	mov    0x8(%ebp),%edx
469d1f:	85 d2                	test   %edx,%edx
469d21:	78 0f                	js     0x469d32
469d23:	3b 51 08             	cmp    0x8(%ecx),%edx
469d26:	7d 0a                	jge    0x469d32
469d28:	8b 41 04             	mov    0x4(%ecx),%eax
469d2b:	8a 04 02             	mov    (%edx,%eax,1),%al
469d2e:	5d                   	pop    %ebp
469d2f:	c2 04 00             	ret    $0x4
469d32:	ff 15 4c 75 4a 00    	call   *0x4a754c
469d38:	cc                   	int3
469d39:	cc                   	int3
469d3a:	cc                   	int3
469d3b:	cc                   	int3
469d3c:	cc                   	int3
469d3d:	cc                   	int3
469d3e:	cc                   	int3
469d3f:	cc                   	int3
469d40:	8b ff                	mov    %edi,%edi
469d42:	55                   	push   %ebp
469d43:	8b ec                	mov    %esp,%ebp
469d45:	83 e4 f8             	and    $0xfffffff8,%esp
469d48:	83 ec 18             	sub    $0x18,%esp
469d4b:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
469d50:	33 c4                	xor    %esp,%eax
469d52:	89 44 24 14          	mov    %eax,0x14(%esp)
469d56:	a1 74 65 4a 00       	mov    0x4a6574,%eax
469d5b:	56                   	push   %esi
469d5c:	8b 75 08             	mov    0x8(%ebp),%esi
469d5f:	57                   	push   %edi
469d60:	8b 48 48             	mov    0x48(%eax),%ecx
469d63:	8b 79 04             	mov    0x4(%ecx),%edi
469d66:	e8 b5 42 fc ff       	call   0x42e020
469d6b:	8d 46 04             	lea    0x4(%esi),%eax
469d6e:	50                   	push   %eax
469d6f:	8d 44 24 10          	lea    0x10(%esp),%eax
469d73:	50                   	push   %eax
469d74:	ff 15 24 7d 4a 00    	call   *0x4a7d24
469d7a:	8d 44 24 0c          	lea    0xc(%esp),%eax
469d7e:	8b cf                	mov    %edi,%ecx
469d80:	50                   	push   %eax
469d81:	e8 f1 54 fb ff       	call   0x41f277
469d86:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
469d8a:	5f                   	pop    %edi
469d8b:	5e                   	pop    %esi
469d8c:	33 cc                	xor    %esp,%ecx
469d8e:	e8 6d 61 02 00       	call   0x48ff00
469d93:	8b e5                	mov    %ebp,%esp
469d95:	5d                   	pop    %ebp
469d96:	c2 04 00             	ret    $0x4
469d99:	8b ff                	mov    %edi,%edi
469d9b:	55                   	push   %ebp
469d9c:	8b ec                	mov    %esp,%ebp
469d9e:	83 ec 10             	sub    $0x10,%esp
469da1:	56                   	push   %esi
469da2:	8d 45 f4             	lea    -0xc(%ebp),%eax
469da5:	8b f1                	mov    %ecx,%esi
469da7:	50                   	push   %eax
469da8:	ff 15 e8 7c 4a 00    	call   *0x4a7ce8
469dae:	8d 45 f4             	lea    -0xc(%ebp),%eax
469db1:	50                   	push   %eax
469db2:	8b 46 08             	mov    0x8(%esi),%eax
469db5:	ff 70 20             	push   0x20(%eax)
469db8:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
469dbe:	ff 75 f8             	push   -0x8(%ebp)
469dc1:	8d 46 0c             	lea    0xc(%esi),%eax
469dc4:	ff 75 f4             	push   -0xc(%ebp)
469dc7:	50                   	push   %eax
469dc8:	ff 15 f8 7c 4a 00    	call   *0x4a7cf8
469dce:	85 c0                	test   %eax,%eax
469dd0:	74 17                	je     0x469de9
469dd2:	8b 4e 08             	mov    0x8(%esi),%ecx
469dd5:	8d 45 f4             	lea    -0xc(%ebp),%eax
469dd8:	50                   	push   %eax
469dd9:	e8 b2 a3 fc ff       	call   0x434190
469dde:	8b 45 f4             	mov    -0xc(%ebp),%eax
469de1:	89 06                	mov    %eax,(%esi)
469de3:	8b 45 f8             	mov    -0x8(%ebp),%eax
469de6:	89 46 04             	mov    %eax,0x4(%esi)
469de9:	8b 45 08             	mov    0x8(%ebp),%eax
469dec:	8b 0e                	mov    (%esi),%ecx
469dee:	89 08                	mov    %ecx,(%eax)
469df0:	8b 4e 04             	mov    0x4(%esi),%ecx
469df3:	89 48 04             	mov    %ecx,0x4(%eax)
469df6:	5e                   	pop    %esi
469df7:	c9                   	leave
469df8:	c2 04 00             	ret    $0x4
469dfb:	8b ff                	mov    %edi,%edi
469dfd:	55                   	push   %ebp
469dfe:	8b ec                	mov    %esp,%ebp
469e00:	83 e4 f8             	and    $0xfffffff8,%esp
469e03:	83 ec 30             	sub    $0x30,%esp
469e06:	56                   	push   %esi
469e07:	57                   	push   %edi
469e08:	8b f9                	mov    %ecx,%edi
469e0a:	ff 15 44 7d 4a 00    	call   *0x4a7d44
469e10:	8b 57 08             	mov    0x8(%edi),%edx
469e13:	3b 42 20             	cmp    0x20(%edx),%eax
469e16:	0f 85 a0 00 00 00    	jne    0x469ebc
469e1c:	8d 44 24 14          	lea    0x14(%esp),%eax
469e20:	50                   	push   %eax
469e21:	ff 15 e8 7c 4a 00    	call   *0x4a7ce8
469e27:	8d 44 24 14          	lea    0x14(%esp),%eax
469e2b:	50                   	push   %eax
469e2c:	8b 47 08             	mov    0x8(%edi),%eax
469e2f:	ff 70 20             	push   0x20(%eax)
469e32:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
469e38:	8d 44 24 14          	lea    0x14(%esp),%eax
469e3c:	8b cf                	mov    %edi,%ecx
469e3e:	50                   	push   %eax
469e3f:	e8 80 00 00 00       	call   0x469ec4
469e44:	84 c0                	test   %al,%al
469e46:	75 74                	jne    0x469ebc
469e48:	8b 75 08             	mov    0x8(%ebp),%esi
469e4b:	8d 44 24 14          	lea    0x14(%esp),%eax
469e4f:	56                   	push   %esi
469e50:	50                   	push   %eax
469e51:	8d 44 24 14          	lea    0x14(%esp),%eax
469e55:	8b cf                	mov    %edi,%ecx
469e57:	50                   	push   %eax
469e58:	e8 d6 00 00 00       	call   0x469f33
469e5d:	33 c0                	xor    %eax,%eax
469e5f:	33 c9                	xor    %ecx,%ecx
469e61:	89 44 24 1c          	mov    %eax,0x1c(%esp)
469e65:	41                   	inc    %ecx
469e66:	89 44 24 28          	mov    %eax,0x28(%esp)
469e6a:	89 44 24 30          	mov    %eax,0x30(%esp)
469e6e:	89 44 24 34          	mov    %eax,0x34(%esp)
469e72:	8b 06                	mov    (%esi),%eax
469e74:	89 44 24 20          	mov    %eax,0x20(%esp)
469e78:	8b 46 04             	mov    0x4(%esi),%eax
469e7b:	89 44 24 24          	mov    %eax,0x24(%esp)
469e7f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
469e83:	6a 1c                	push   $0x1c
469e85:	50                   	push   %eax
469e86:	51                   	push   %ecx
469e87:	89 4c 24 38          	mov    %ecx,0x38(%esp)
469e8b:	ff 15 44 7e 4a 00    	call   *0x4a7e44
469e91:	8d 44 24 0c          	lea    0xc(%esp),%eax
469e95:	50                   	push   %eax
469e96:	8b 47 08             	mov    0x8(%edi),%eax
469e99:	ff 70 20             	push   0x20(%eax)
469e9c:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
469ea2:	8b 4f 08             	mov    0x8(%edi),%ecx
469ea5:	8d 44 24 0c          	lea    0xc(%esp),%eax
469ea9:	50                   	push   %eax
469eaa:	e8 e1 a2 fc ff       	call   0x434190
469eaf:	8b 44 24 0c          	mov    0xc(%esp),%eax
469eb3:	89 07                	mov    %eax,(%edi)
469eb5:	8b 44 24 10          	mov    0x10(%esp),%eax
469eb9:	89 47 04             	mov    %eax,0x4(%edi)
469ebc:	5f                   	pop    %edi
469ebd:	5e                   	pop    %esi
469ebe:	8b e5                	mov    %ebp,%esp
469ec0:	5d                   	pop    %ebp
469ec1:	c2 04 00             	ret    $0x4
469ec4:	8b ff                	mov    %edi,%edi
469ec6:	55                   	push   %ebp
469ec7:	8b ec                	mov    %esp,%ebp
469ec9:	83 ec 0c             	sub    $0xc,%esp
469ecc:	56                   	push   %esi
469ecd:	8b 75 08             	mov    0x8(%ebp),%esi
469ed0:	57                   	push   %edi
469ed1:	8b f9                	mov    %ecx,%edi
469ed3:	ff 76 04             	push   0x4(%esi)
469ed6:	ff 36                	push   (%esi)
469ed8:	8d 47 0c             	lea    0xc(%edi),%eax
469edb:	50                   	push   %eax
469edc:	ff 15 f8 7c 4a 00    	call   *0x4a7cf8
469ee2:	85 c0                	test   %eax,%eax
469ee4:	75 45                	jne    0x469f2b
469ee6:	8b 07                	mov    (%edi),%eax
469ee8:	89 45 f4             	mov    %eax,-0xc(%ebp)
469eeb:	8b 47 04             	mov    0x4(%edi),%eax
469eee:	8b 7f 08             	mov    0x8(%edi),%edi
469ef1:	8b cf                	mov    %edi,%ecx
469ef3:	89 45 f8             	mov    %eax,-0x8(%ebp)
469ef6:	8d 45 f4             	lea    -0xc(%ebp),%eax
469ef9:	50                   	push   %eax
469efa:	e8 38 a3 fc ff       	call   0x434237
469eff:	8b 06                	mov    (%esi),%eax
469f01:	8b 4e 04             	mov    0x4(%esi),%ecx
469f04:	39 45 f4             	cmp    %eax,-0xc(%ebp)
469f07:	75 05                	jne    0x469f0e
469f09:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
469f0c:	74 1d                	je     0x469f2b
469f0e:	8d 45 f4             	lea    -0xc(%ebp),%eax
469f11:	50                   	push   %eax
469f12:	ff 77 20             	push   0x20(%edi)
469f15:	ff 15 60 7d 4a 00    	call   *0x4a7d60
469f1b:	ff 75 f8             	push   -0x8(%ebp)
469f1e:	ff 75 f4             	push   -0xc(%ebp)
469f21:	ff 15 48 7e 4a 00    	call   *0x4a7e48
469f27:	b0 01                	mov    $0x1,%al
469f29:	eb 02                	jmp    0x469f2d
469f2b:	32 c0                	xor    %al,%al
469f2d:	5f                   	pop    %edi
469f2e:	5e                   	pop    %esi
469f2f:	c9                   	leave
469f30:	c2 04 00             	ret    $0x4
469f33:	8b ff                	mov    %edi,%edi
469f35:	55                   	push   %ebp
469f36:	8b ec                	mov    %esp,%ebp
469f38:	83 ec 10             	sub    $0x10,%esp
469f3b:	53                   	push   %ebx
469f3c:	56                   	push   %esi
469f3d:	8b 75 10             	mov    0x10(%ebp),%esi
469f40:	57                   	push   %edi
469f41:	8b 7d 0c             	mov    0xc(%ebp),%edi
469f44:	8b 06                	mov    (%esi),%eax
469f46:	8b 56 04             	mov    0x4(%esi),%edx
469f49:	8b 75 08             	mov    0x8(%ebp),%esi
469f4c:	8b 1f                	mov    (%edi),%ebx
469f4e:	03 c3                	add    %ebx,%eax
469f50:	03 57 04             	add    0x4(%edi),%edx
469f53:	89 45 f8             	mov    %eax,-0x8(%ebp)
469f56:	89 06                	mov    %eax,(%esi)
469f58:	8b c6                	mov    %esi,%eax
469f5a:	8b 75 10             	mov    0x10(%ebp),%esi
469f5d:	89 50 04             	mov    %edx,0x4(%eax)
469f60:	8b 41 0c             	mov    0xc(%ecx),%eax
469f63:	39 45 f8             	cmp    %eax,-0x8(%ebp)
469f66:	7e 08                	jle    0x469f70
469f68:	8b 41 14             	mov    0x14(%ecx),%eax
469f6b:	39 45 f8             	cmp    %eax,-0x8(%ebp)
469f6e:	7e 04                	jle    0x469f74
469f70:	2b c3                	sub    %ebx,%eax
469f72:	89 06                	mov    %eax,(%esi)
469f74:	8b 41 10             	mov    0x10(%ecx),%eax
469f77:	3b d0                	cmp    %eax,%edx
469f79:	7e 07                	jle    0x469f82
469f7b:	8b 41 18             	mov    0x18(%ecx),%eax
469f7e:	3b d0                	cmp    %eax,%edx
469f80:	7e 06                	jle    0x469f88
469f82:	2b 47 04             	sub    0x4(%edi),%eax
469f85:	89 46 04             	mov    %eax,0x4(%esi)
469f88:	8b 07                	mov    (%edi),%eax
469f8a:	89 45 f4             	mov    %eax,-0xc(%ebp)
469f8d:	8b 47 04             	mov    0x4(%edi),%eax
469f90:	89 45 f8             	mov    %eax,-0x8(%ebp)
469f93:	8d 45 f4             	lea    -0xc(%ebp),%eax
469f96:	50                   	push   %eax
469f97:	8b 41 08             	mov    0x8(%ecx),%eax
469f9a:	ff 70 20             	push   0x20(%eax)
469f9d:	ff 15 60 7d 4a 00    	call   *0x4a7d60
469fa3:	8b 16                	mov    (%esi),%edx
469fa5:	8b 45 08             	mov    0x8(%ebp),%eax
469fa8:	8b 76 04             	mov    0x4(%esi),%esi
469fab:	03 55 f4             	add    -0xc(%ebp),%edx
469fae:	8b 4d f8             	mov    -0x8(%ebp),%ecx
469fb1:	5f                   	pop    %edi
469fb2:	03 ce                	add    %esi,%ecx
469fb4:	89 10                	mov    %edx,(%eax)
469fb6:	5e                   	pop    %esi
469fb7:	89 48 04             	mov    %ecx,0x4(%eax)
469fba:	5b                   	pop    %ebx
469fbb:	c9                   	leave
469fbc:	c2 0c 00             	ret    $0xc
469fbf:	8b ff                	mov    %edi,%edi
469fc1:	55                   	push   %ebp
469fc2:	8b ec                	mov    %esp,%ebp
469fc4:	83 ec 38             	sub    $0x38,%esp
469fc7:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
469fcc:	33 c5                	xor    %ebp,%eax
469fce:	89 45 fc             	mov    %eax,-0x4(%ebp)
469fd1:	56                   	push   %esi
469fd2:	57                   	push   %edi
469fd3:	8b fa                	mov    %edx,%edi
469fd5:	8b f1                	mov    %ecx,%esi
469fd7:	e8 82 40 fd ff       	call   0x43e05e
469fdc:	84 c0                	test   %al,%al
469fde:	74 30                	je     0x46a010
469fe0:	6a 05                	push   $0x5
469fe2:	ff 15 f0 7d 4a 00    	call   *0x4a7df0
469fe8:	50                   	push   %eax
469fe9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
469fec:	ff 15 f8 76 4a 00    	call   *0x4a76f8
469ff2:	ff 75 d8             	push   -0x28(%ebp)
469ff5:	57                   	push   %edi
469ff6:	ff 76 04             	push   0x4(%esi)
469ff9:	ff 15 e4 7c 4a 00    	call   *0x4a7ce4
469fff:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46a002:	c7 45 d4 c0 15 40 00 	movl   $0x4015c0,-0x2c(%ebp)
46a009:	e8 c5 5d fb ff       	call   0x41fdd3
46a00e:	eb 58                	jmp    0x46a068
46a010:	8b 47 08             	mov    0x8(%edi),%eax
46a013:	33 c9                	xor    %ecx,%ecx
46a015:	2b 07                	sub    (%edi),%eax
46a017:	89 45 ec             	mov    %eax,-0x14(%ebp)
46a01a:	8b 47 0c             	mov    0xc(%edi),%eax
46a01d:	2b 47 04             	sub    0x4(%edi),%eax
46a020:	89 45 f0             	mov    %eax,-0x10(%ebp)
46a023:	33 c0                	xor    %eax,%eax
46a025:	40                   	inc    %eax
46a026:	89 4d dc             	mov    %ecx,-0x24(%ebp)
46a029:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46a02c:	c7 45 e4 00 c5 00 cf 	movl   $0xcf00c500,-0x1c(%ebp)
46a033:	c7 45 e8 00 df 00 ff 	movl   $0xff00df00,-0x18(%ebp)
46a03a:	c7 45 f4 00 dd 00 e6 	movl   $0xe600dd00,-0xc(%ebp)
46a041:	c7 45 f8 00 f3 00 ff 	movl   $0xff00f300,-0x8(%ebp)
46a048:	89 4d cc             	mov    %ecx,-0x34(%ebp)
46a04b:	89 45 d0             	mov    %eax,-0x30(%ebp)
46a04e:	85 f6                	test   %esi,%esi
46a050:	74 03                	je     0x46a055
46a052:	8b 4e 04             	mov    0x4(%esi),%ecx
46a055:	50                   	push   %eax
46a056:	50                   	push   %eax
46a057:	8d 45 cc             	lea    -0x34(%ebp),%eax
46a05a:	50                   	push   %eax
46a05b:	6a 02                	push   $0x2
46a05d:	8d 45 dc             	lea    -0x24(%ebp),%eax
46a060:	50                   	push   %eax
46a061:	51                   	push   %ecx
46a062:	ff 15 6c 70 4a 00    	call   *0x4a706c
46a068:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46a06b:	5f                   	pop    %edi