404cc2:	8b 7d 18             	mov    0x18(%ebp),%edi
404cc5:	8b 57 0c             	mov    0xc(%edi),%edx
404cc8:	8b f2                	mov    %edx,%esi
404cca:	8b 5f 10             	mov    0x10(%edi),%ebx
404ccd:	89 55 fc             	mov    %edx,-0x4(%ebp)
404cd0:	85 c9                	test   %ecx,%ecx
404cd2:	78 2d                	js     0x404d01
404cd4:	6b c2 14             	imul   $0x14,%edx,%eax
404cd7:	83 c3 08             	add    $0x8,%ebx
404cda:	03 c3                	add    %ebx,%eax
404cdc:	8b 5d 10             	mov    0x10(%ebp),%ebx
404cdf:	83 fa ff             	cmp    $0xffffffff,%edx
404ce2:	74 3d                	je     0x404d21
404ce4:	83 e8 14             	sub    $0x14,%eax
404ce7:	4a                   	dec    %edx
404ce8:	39 58 fc             	cmp    %ebx,-0x4(%eax)
404ceb:	7d 04                	jge    0x404cf1
404ced:	3b 18                	cmp    (%eax),%ebx
404cef:	7e 05                	jle    0x404cf6
404cf1:	83 fa ff             	cmp    $0xffffffff,%edx
404cf4:	75 07                	jne    0x404cfd
404cf6:	8b 75 fc             	mov    -0x4(%ebp),%esi
404cf9:	49                   	dec    %ecx
404cfa:	89 55 fc             	mov    %edx,-0x4(%ebp)
404cfd:	85 c9                	test   %ecx,%ecx
404cff:	79 de                	jns    0x404cdf
404d01:	42                   	inc    %edx
404d02:	3b 77 0c             	cmp    0xc(%edi),%esi
404d05:	77 1a                	ja     0x404d21
404d07:	3b d6                	cmp    %esi,%edx
404d09:	77 16                	ja     0x404d21
404d0b:	8b 45 08             	mov    0x8(%ebp),%eax
404d0e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404d11:	5f                   	pop    %edi
404d12:	89 70 0c             	mov    %esi,0xc(%eax)
404d15:	5e                   	pop    %esi
404d16:	89 08                	mov    %ecx,(%eax)
404d18:	89 50 04             	mov    %edx,0x4(%eax)
404d1b:	89 48 08             	mov    %ecx,0x8(%eax)
404d1e:	5b                   	pop    %ebx
404d1f:	c9                   	leave
404d20:	c3                   	ret
404d21:	e8 04 58 00 00       	call   0x40a52a
404d26:	cc                   	int3
404d27:	55                   	push   %ebp
404d28:	8b ec                	mov    %esp,%ebp
404d2a:	83 ec 18             	sub    $0x18,%esp
404d2d:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
404d31:	8d 45 e8             	lea    -0x18(%ebp),%eax
404d34:	33 05 c0 10 42 00    	xor    0x4210c0,%eax
404d3a:	8b 4d 08             	mov    0x8(%ebp),%ecx
404d3d:	89 45 f0             	mov    %eax,-0x10(%ebp)
404d40:	8b 45 0c             	mov    0xc(%ebp),%eax
404d43:	89 45 f4             	mov    %eax,-0xc(%ebp)
404d46:	8b 45 14             	mov    0x14(%ebp),%eax
404d49:	40                   	inc    %eax
404d4a:	c7 45 ec f7 4e 40 00 	movl   $0x404ef7,-0x14(%ebp)
404d51:	89 4d f8             	mov    %ecx,-0x8(%ebp)
404d54:	89 45 fc             	mov    %eax,-0x4(%ebp)
404d57:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404d5d:	89 45 e8             	mov    %eax,-0x18(%ebp)
404d60:	8d 45 e8             	lea    -0x18(%ebp),%eax
404d63:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404d69:	ff 75 18             	push   0x18(%ebp)
404d6c:	51                   	push   %ecx
404d6d:	ff 75 10             	push   0x10(%ebp)
404d70:	e8 5b 13 00 00       	call   0x4060d0
404d75:	8b c8                	mov    %eax,%ecx
404d77:	8b 45 e8             	mov    -0x18(%ebp),%eax
404d7a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404d80:	8b c1                	mov    %ecx,%eax
404d82:	c9                   	leave
404d83:	c3                   	ret
404d84:	55                   	push   %ebp
404d85:	8b ec                	mov    %esp,%ebp
404d87:	83 ec 3c             	sub    $0x3c,%esp
404d8a:	53                   	push   %ebx
404d8b:	81 7d 08 23 01 00 00 	cmpl   $0x123,0x8(%ebp)
404d92:	75 12                	jne    0x404da6
404d94:	b8 48 4e 40 00       	mov    $0x404e48,%eax
404d99:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404d9c:	89 01                	mov    %eax,(%ecx)
404d9e:	33 c0                	xor    %eax,%eax
404da0:	40                   	inc    %eax
404da1:	e9 cb 00 00 00       	jmp    0x404e71
404da6:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
404daa:	c7 45 c8 94 4f 40 00 	movl   $0x404f94,-0x38(%ebp)
404db1:	a1 c0 10 42 00       	mov    0x4210c0,%eax
404db6:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
404db9:	33 c1                	xor    %ecx,%eax
404dbb:	89 45 cc             	mov    %eax,-0x34(%ebp)
404dbe:	8b 45 18             	mov    0x18(%ebp),%eax
404dc1:	89 45 d0             	mov    %eax,-0x30(%ebp)
404dc4:	8b 45 0c             	mov    0xc(%ebp),%eax
404dc7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404dca:	8b 45 1c             	mov    0x1c(%ebp),%eax
404dcd:	89 45 d8             	mov    %eax,-0x28(%ebp)
404dd0:	8b 45 20             	mov    0x20(%ebp),%eax
404dd3:	89 45 dc             	mov    %eax,-0x24(%ebp)
404dd6:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
404dda:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
404dde:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
404de2:	89 65 e0             	mov    %esp,-0x20(%ebp)
404de5:	89 6d e4             	mov    %ebp,-0x1c(%ebp)
404de8:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404dee:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404df1:	8d 45 c4             	lea    -0x3c(%ebp),%eax
404df4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404dfa:	8b 45 08             	mov    0x8(%ebp),%eax
404dfd:	ff 30                	push   (%eax)
404dff:	e8 8b 31 01 00       	call   0x417f8f
404e04:	59                   	pop    %ecx
404e05:	8b 4d 08             	mov    0x8(%ebp),%ecx
404e08:	89 01                	mov    %eax,(%ecx)
404e0a:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404e11:	8b 45 08             	mov    0x8(%ebp),%eax
404e14:	89 45 ec             	mov    %eax,-0x14(%ebp)
404e17:	8b 45 10             	mov    0x10(%ebp),%eax
404e1a:	89 45 f0             	mov    %eax,-0x10(%ebp)
404e1d:	e8 7a 04 00 00       	call   0x40529c
404e22:	8b 40 08             	mov    0x8(%eax),%eax
404e25:	89 45 fc             	mov    %eax,-0x4(%ebp)
404e28:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404e2b:	e8 09 2a 01 00       	call   0x417839
404e30:	8b 45 fc             	mov    -0x4(%ebp),%eax
404e33:	89 45 f4             	mov    %eax,-0xc(%ebp)
404e36:	8d 45 ec             	lea    -0x14(%ebp),%eax
404e39:	50                   	push   %eax
404e3a:	8b 45 08             	mov    0x8(%ebp),%eax
404e3d:	ff 30                	push   (%eax)
404e3f:	ff 55 f4             	call   *-0xc(%ebp)
404e42:	59                   	pop    %ecx
404e43:	59                   	pop    %ecx
404e44:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404e48:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
404e4c:	74 17                	je     0x404e65
404e4e:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
404e55:	8b 03                	mov    (%ebx),%eax
404e57:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
404e5a:	89 03                	mov    %eax,(%ebx)
404e5c:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
404e63:	eb 09                	jmp    0x404e6e
404e65:	8b 45 c4             	mov    -0x3c(%ebp),%eax
404e68:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404e6e:	8b 45 f8             	mov    -0x8(%ebp),%eax
404e71:	5b                   	pop    %ebx
404e72:	c9                   	leave
404e73:	c3                   	ret
404e74:	55                   	push   %ebp
404e75:	8b ec                	mov    %esp,%ebp
404e77:	51                   	push   %ecx
404e78:	53                   	push   %ebx
404e79:	8b 45 0c             	mov    0xc(%ebp),%eax
404e7c:	83 c0 0c             	add    $0xc,%eax
404e7f:	89 45 fc             	mov    %eax,-0x4(%ebp)
404e82:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
404e89:	8b 03                	mov    (%ebx),%eax
404e8b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404e91:	8b 45 08             	mov    0x8(%ebp),%eax
404e94:	8b 5d 0c             	mov    0xc(%ebp),%ebx
404e97:	8b 6d fc             	mov    -0x4(%ebp),%ebp
404e9a:	8b 63 fc             	mov    -0x4(%ebx),%esp
404e9d:	ff e0                	jmp    *%eax
404e9f:	5b                   	pop    %ebx
404ea0:	c9                   	leave
404ea1:	c2 08 00             	ret    $0x8
404ea4:	55                   	push   %ebp
404ea5:	8b ec                	mov    %esp,%ebp
404ea7:	51                   	push   %ecx
404ea8:	51                   	push   %ecx
404ea9:	53                   	push   %ebx
404eaa:	56                   	push   %esi
404eab:	57                   	push   %edi
404eac:	64 8b 35 00 00 00 00 	mov    %fs:0x0,%esi
404eb3:	89 75 f8             	mov    %esi,-0x8(%ebp)
404eb6:	c7 45 fc ce 4e 40 00 	movl   $0x404ece,-0x4(%ebp)
404ebd:	6a 00                	push   $0x0
404ebf:	ff 75 0c             	push   0xc(%ebp)
404ec2:	ff 75 fc             	push   -0x4(%ebp)
404ec5:	ff 75 08             	push   0x8(%ebp)
404ec8:	ff 15 84 90 41 00    	call   *0x419084
404ece:	8b 45 0c             	mov    0xc(%ebp),%eax
404ed1:	8b 40 04             	mov    0x4(%eax),%eax
404ed4:	83 e0 fd             	and    $0xfffffffd,%eax
404ed7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404eda:	89 41 04             	mov    %eax,0x4(%ecx)
404edd:	64 8b 3d 00 00 00 00 	mov    %fs:0x0,%edi
404ee4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
404ee7:	89 3b                	mov    %edi,(%ebx)
404ee9:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
404ef0:	5f                   	pop    %edi
404ef1:	5e                   	pop    %esi
404ef2:	5b                   	pop    %ebx
404ef3:	c9                   	leave
404ef4:	c2 08 00             	ret    $0x8
404ef7:	55                   	push   %ebp
404ef8:	8b ec                	mov    %esp,%ebp
404efa:	56                   	push   %esi
404efb:	fc                   	cld
404efc:	8b 75 0c             	mov    0xc(%ebp),%esi
404eff:	8b 4e 08             	mov    0x8(%esi),%ecx
404f02:	33 ce                	xor    %esi,%ecx
404f04:	e8 bf f1 ff ff       	call   0x4040c8
404f09:	6a 00                	push   $0x0
404f0b:	56                   	push   %esi
404f0c:	ff 76 14             	push   0x14(%esi)
404f0f:	ff 76 0c             	push   0xc(%esi)
404f12:	6a 00                	push   $0x0
404f14:	ff 75 10             	push   0x10(%ebp)
404f17:	ff 76 10             	push   0x10(%esi)
404f1a:	ff 75 08             	push   0x8(%ebp)
404f1d:	e8 2a 0d 00 00       	call   0x405c4c
404f22:	83 c4 20             	add    $0x20,%esp
404f25:	5e                   	pop    %esi
404f26:	5d                   	pop    %ebp
404f27:	c3                   	ret
404f28:	55                   	push   %ebp
404f29:	8b ec                	mov    %esp,%ebp
404f2b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404f2e:	56                   	push   %esi
404f2f:	8b 75 08             	mov    0x8(%ebp),%esi
404f32:	89 0e                	mov    %ecx,(%esi)
404f34:	e8 63 03 00 00       	call   0x40529c
404f39:	8b 48 24             	mov    0x24(%eax),%ecx
404f3c:	89 4e 04             	mov    %ecx,0x4(%esi)
404f3f:	e8 58 03 00 00       	call   0x40529c
404f44:	89 70 24             	mov    %esi,0x24(%eax)
404f47:	8b c6                	mov    %esi,%eax
404f49:	5e                   	pop    %esi
404f4a:	5d                   	pop    %ebp
404f4b:	c3                   	ret
404f4c:	55                   	push   %ebp
404f4d:	8b ec                	mov    %esp,%ebp
404f4f:	56                   	push   %esi
404f50:	e8 47 03 00 00       	call   0x40529c
404f55:	8b 75 08             	mov    0x8(%ebp),%esi
404f58:	3b 70 24             	cmp    0x24(%eax),%esi
404f5b:	75 0e                	jne    0x404f6b
404f5d:	8b 76 04             	mov    0x4(%esi),%esi
404f60:	e8 37 03 00 00       	call   0x40529c
404f65:	89 70 24             	mov    %esi,0x24(%eax)
404f68:	5e                   	pop    %esi
404f69:	5d                   	pop    %ebp
404f6a:	c3                   	ret
404f6b:	e8 2c 03 00 00       	call   0x40529c
404f70:	8b 48 24             	mov    0x24(%eax),%ecx
404f73:	83 c1 04             	add    $0x4,%ecx
404f76:	eb 07                	jmp    0x404f7f
404f78:	3b f0                	cmp    %eax,%esi
404f7a:	74 0b                	je     0x404f87
404f7c:	8d 48 04             	lea    0x4(%eax),%ecx
404f7f:	8b 01                	mov    (%ecx),%eax
404f81:	85 c0                	test   %eax,%eax
404f83:	74 09                	je     0x404f8e
404f85:	eb f1                	jmp    0x404f78
404f87:	8b 46 04             	mov    0x4(%esi),%eax
404f8a:	89 01                	mov    %eax,(%ecx)
404f8c:	eb da                	jmp    0x404f68
404f8e:	e8 97 55 00 00       	call   0x40a52a
404f93:	cc                   	int3
404f94:	55                   	push   %ebp
404f95:	8b ec                	mov    %esp,%ebp
404f97:	51                   	push   %ecx
404f98:	53                   	push   %ebx
404f99:	fc                   	cld
404f9a:	8b 45 0c             	mov    0xc(%ebp),%eax
404f9d:	8b 48 08             	mov    0x8(%eax),%ecx
404fa0:	33 4d 0c             	xor    0xc(%ebp),%ecx
404fa3:	e8 20 f1 ff ff       	call   0x4040c8
404fa8:	8b 45 08             	mov    0x8(%ebp),%eax
404fab:	8b 40 04             	mov    0x4(%eax),%eax
404fae:	83 e0 66             	and    $0x66,%eax
404fb1:	74 11                	je     0x404fc4
404fb3:	8b 45 0c             	mov    0xc(%ebp),%eax
404fb6:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
404fbd:	33 c0                	xor    %eax,%eax
404fbf:	40                   	inc    %eax
404fc0:	eb 6c                	jmp    0x40502e
404fc2:	eb 6a                	jmp    0x40502e
404fc4:	6a 01                	push   $0x1
404fc6:	8b 45 0c             	mov    0xc(%ebp),%eax
404fc9:	ff 70 18             	push   0x18(%eax)
404fcc:	8b 45 0c             	mov    0xc(%ebp),%eax
404fcf:	ff 70 14             	push   0x14(%eax)
404fd2:	8b 45 0c             	mov    0xc(%ebp),%eax
404fd5:	ff 70 0c             	push   0xc(%eax)
404fd8:	6a 00                	push   $0x0
404fda:	ff 75 10             	push   0x10(%ebp)
404fdd:	8b 45 0c             	mov    0xc(%ebp),%eax
404fe0:	ff 70 10             	push   0x10(%eax)
404fe3:	ff 75 08             	push   0x8(%ebp)
404fe6:	e8 61 0c 00 00       	call   0x405c4c
404feb:	83 c4 20             	add    $0x20,%esp
404fee:	8b 45 0c             	mov    0xc(%ebp),%eax
404ff1:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
404ff5:	75 0b                	jne    0x405002
404ff7:	ff 75 08             	push   0x8(%ebp)
404ffa:	ff 75 0c             	push   0xc(%ebp)
404ffd:	e8 a2 fe ff ff       	call   0x404ea4
405002:	6a 00                	push   $0x0
405004:	6a 00                	push   $0x0
405006:	6a 00                	push   $0x0
405008:	6a 00                	push   $0x0
40500a:	6a 00                	push   $0x0
40500c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40500f:	50                   	push   %eax
405010:	68 23 01 00 00       	push   $0x123
405015:	e8 6a fd ff ff       	call   0x404d84
40501a:	83 c4 1c             	add    $0x1c,%esp
40501d:	8b 45 fc             	mov    -0x4(%ebp),%eax
405020:	8b 5d 0c             	mov    0xc(%ebp),%ebx
405023:	8b 63 1c             	mov    0x1c(%ebx),%esp
405026:	8b 6b 20             	mov    0x20(%ebx),%ebp
405029:	ff e0                	jmp    *%eax
40502b:	33 c0                	xor    %eax,%eax
40502d:	40                   	inc    %eax
40502e:	5b                   	pop    %ebx
40502f:	c9                   	leave
405030:	c3                   	ret
405031:	55                   	push   %ebp
405032:	8b ec                	mov    %esp,%ebp
405034:	83 ec 08             	sub    $0x8,%esp
405037:	53                   	push   %ebx
405038:	56                   	push   %esi
405039:	57                   	push   %edi
40503a:	fc                   	cld
40503b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40503e:	33 c0                	xor    %eax,%eax
405040:	50                   	push   %eax
405041:	50                   	push   %eax
405042:	50                   	push   %eax
405043:	ff 75 fc             	push   -0x4(%ebp)
405046:	ff 75 14             	push   0x14(%ebp)
405049:	ff 75 10             	push   0x10(%ebp)
40504c:	ff 75 0c             	push   0xc(%ebp)
40504f:	ff 75 08             	push   0x8(%ebp)
405052:	e8 f5 0b 00 00       	call   0x405c4c
405057:	83 c4 20             	add    $0x20,%esp
40505a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40505d:	5f                   	pop    %edi
40505e:	5e                   	pop    %esi
40505f:	5b                   	pop    %ebx
405060:	8b 45 f8             	mov    -0x8(%ebp),%eax
405063:	8b e5                	mov    %ebp,%esp
405065:	5d                   	pop    %ebp
405066:	c3                   	ret
405067:	cc                   	int3
405068:	cc                   	int3
405069:	cc                   	int3
40506a:	cc                   	int3