404d23:	85 c0                	test   %eax,%eax
404d25:	0f 84 82 00 00 00    	je     0x404dad
404d2b:	68 8c 49 40 00       	push   $0x40498c
404d30:	57                   	push   %edi
404d31:	8d 70 04             	lea    0x4(%eax),%esi
404d34:	6a 10                	push   $0x10
404d36:	5a                   	pop    %edx
404d37:	8b ce                	mov    %esi,%ecx
404d39:	89 38                	mov    %edi,(%eax)
404d3b:	e8 2c fc ff ff       	call   0x40496c
404d40:	8b 55 f8             	mov    -0x8(%ebp),%edx
404d43:	89 35 4c 21 4c 00    	mov    %esi,0x4c214c
404d49:	c7 45 f4 10 00 00 00 	movl   $0x10,-0xc(%ebp)
404d50:	8b fb                	mov    %ebx,%edi
404d52:	52                   	push   %edx
404d53:	e8 59 00 00 00       	call   0x404db1
404d58:	85 c0                	test   %eax,%eax
404d5a:	74 38                	je     0x404d94
404d5c:	66 83 38 3b          	cmpw   $0x3b,(%eax)
404d60:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404d63:	0f 84 a2 e2 06 00    	je     0x47300b
404d69:	51                   	push   %ecx
404d6a:	50                   	push   %eax
404d6b:	52                   	push   %edx
404d6c:	e8 ff 66 00 00       	call   0x40b470
404d71:	85 c0                	test   %eax,%eax
404d73:	78 21                	js     0x404d96
404d75:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404d78:	03 0d 4c 21 4c 00    	add    0x4c214c,%ecx
404d7e:	8d 45 d8             	lea    -0x28(%ebp),%eax
404d81:	50                   	push   %eax
404d82:	e8 52 00 00 00       	call   0x404dd9
404d87:	8b 55 f8             	mov    -0x8(%ebp),%edx
404d8a:	42                   	inc    %edx
404d8b:	83 45 f4 10          	addl   $0x10,-0xc(%ebp)
404d8f:	89 55 f8             	mov    %edx,-0x8(%ebp)
404d92:	eb be                	jmp    0x404d52
404d94:	b3 01                	mov    $0x1,%bl
404d96:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404d99:	e8 73 01 00 00       	call   0x404f11
404d9e:	8a c3                	mov    %bl,%al
404da0:	5f                   	pop    %edi
404da1:	5e                   	pop    %esi
404da2:	5b                   	pop    %ebx
404da3:	c9                   	leave
404da4:	c3                   	ret
404da5:	b0 01                	mov    $0x1,%al
404da7:	eb f7                	jmp    0x404da0
404da9:	32 c0                	xor    %al,%al
404dab:	eb f3                	jmp    0x404da0
404dad:	8b f3                	mov    %ebx,%esi
404daf:	eb 8f                	jmp    0x404d40
404db1:	55                   	push   %ebp
404db2:	8b ec                	mov    %esp,%ebp
404db4:	8b 0d 14 21 4c 00    	mov    0x4c2114,%ecx
404dba:	85 c9                	test   %ecx,%ecx
404dbc:	74 17                	je     0x404dd5
404dbe:	8b 45 08             	mov    0x8(%ebp),%eax
404dc1:	3b 05 10 21 4c 00    	cmp    0x4c2110,%eax
404dc7:	7f 0c                	jg     0x404dd5
404dc9:	85 c0                	test   %eax,%eax
404dcb:	7e 08                	jle    0x404dd5
404dcd:	8b 44 81 fc          	mov    -0x4(%ecx,%eax,4),%eax
404dd1:	5d                   	pop    %ebp
404dd2:	c2 04 00             	ret    $0x4
404dd5:	33 c0                	xor    %eax,%eax
404dd7:	eb f8                	jmp    0x404dd1
404dd9:	55                   	push   %ebp
404dda:	8b ec                	mov    %esp,%ebp
404ddc:	51                   	push   %ecx
404ddd:	53                   	push   %ebx
404dde:	8b 5d 08             	mov    0x8(%ebp),%ebx
404de1:	56                   	push   %esi
404de2:	8b f1                	mov    %ecx,%esi
404de4:	3b f3                	cmp    %ebx,%esi
404de6:	0f 84 af 00 00 00    	je     0x404e9b
404dec:	57                   	push   %edi
404ded:	e8 3e 01 00 00       	call   0x404f30
404df2:	8b 43 08             	mov    0x8(%ebx),%eax
404df5:	39 46 0c             	cmp    %eax,0xc(%esi)
404df8:	73 34                	jae    0x404e2e
404dfa:	6a 08                	push   $0x8
404dfc:	5a                   	pop    %edx
404dfd:	3b c2                	cmp    %edx,%eax
404dff:	0f 83 d2 00 00 00    	jae    0x404ed7
404e05:	89 56 0c             	mov    %edx,0xc(%esi)
404e08:	33 c9                	xor    %ecx,%ecx
404e0a:	8b c2                	mov    %edx,%eax
404e0c:	6a 04                	push   $0x4
404e0e:	5a                   	pop    %edx
404e0f:	f7 e2                	mul    %edx
404e11:	0f 90 c1             	seto   %cl
404e14:	f7 d9                	neg    %ecx
404e16:	0b c8                	or     %eax,%ecx
404e18:	51                   	push   %ecx
404e19:	e8 cc a6 01 00       	call   0x41f4ea
404e1e:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
404e22:	59                   	pop    %ecx
404e23:	8b f8                	mov    %eax,%edi
404e25:	0f 85 d4 df 06 00    	jne    0x472dff
404e2b:	89 7e 04             	mov    %edi,0x4(%esi)
404e2e:	8b 43 08             	mov    0x8(%ebx),%eax
404e31:	33 db                	xor    %ebx,%ebx
404e33:	89 46 08             	mov    %eax,0x8(%esi)
404e36:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404e39:	85 c0                	test   %eax,%eax
404e3b:	74 5d                	je     0x404e9a
404e3d:	6a 0c                	push   $0xc
404e3f:	e8 a6 a6 01 00       	call   0x41f4ea
404e44:	8b f8                	mov    %eax,%edi
404e46:	59                   	pop    %ecx
404e47:	85 ff                	test   %edi,%edi
404e49:	0f 84 99 00 00 00    	je     0x404ee8
404e4f:	8b 45 08             	mov    0x8(%ebp),%eax
404e52:	8b 48 04             	mov    0x4(%eax),%ecx
404e55:	8b 1c 99             	mov    (%ecx,%ebx,4),%ebx
404e58:	66 8b 4b 08          	mov    0x8(%ebx),%cx
404e5c:	66 89 4f 08          	mov    %cx,0x8(%edi)
404e60:	0f b7 47 08          	movzwl 0x8(%edi),%eax
404e64:	66 8b 4b 0a          	mov    0xa(%ebx),%cx
404e68:	66 89 4f 0a          	mov    %cx,0xa(%edi)
404e6c:	66 83 f8 3f          	cmp    $0x3f,%ax
404e70:	7e 31                	jle    0x404ea3
404e72:	6a 10                	push   $0x10
404e74:	59                   	pop    %ecx
404e75:	66 3b c1             	cmp    %cx,%ax
404e78:	0f 84 8f df 06 00    	je     0x472e0d
404e7e:	66 83 f8 20          	cmp    $0x20,%ax
404e82:	74 5a                	je     0x404ede
404e84:	8b 03                	mov    (%ebx),%eax
404e86:	89 07                	mov    %eax,(%edi)
404e88:	8b 5d fc             	mov    -0x4(%ebp),%ebx
404e8b:	8b 46 04             	mov    0x4(%esi),%eax
404e8e:	89 3c 98             	mov    %edi,(%eax,%ebx,4)
404e91:	43                   	inc    %ebx
404e92:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404e95:	3b 5e 08             	cmp    0x8(%esi),%ebx
404e98:	72 a3                	jb     0x404e3d
404e9a:	5f                   	pop    %edi
404e9b:	8b c6                	mov    %esi,%eax
404e9d:	5e                   	pop    %esi
404e9e:	5b                   	pop    %ebx
404e9f:	c9                   	leave
404ea0:	c2 04 00             	ret    $0x4
404ea3:	66 83 f8 30          	cmp    $0x30,%ax
404ea7:	7c c9                	jl     0x404e72
404ea9:	6a 10                	push   $0x10
404eab:	58                   	pop    %eax
404eac:	50                   	push   %eax
404ead:	e8 38 a6 01 00       	call   0x41f4ea
404eb2:	8b d0                	mov    %eax,%edx
404eb4:	59                   	pop    %ecx
404eb5:	85 d2                	test   %edx,%edx
404eb7:	74 2b                	je     0x404ee4
404eb9:	8b 03                	mov    (%ebx),%eax
404ebb:	8b 08                	mov    (%eax),%ecx
404ebd:	89 0a                	mov    %ecx,(%edx)
404ebf:	8b 48 04             	mov    0x4(%eax),%ecx
404ec2:	89 4a 04             	mov    %ecx,0x4(%edx)
404ec5:	8b 48 08             	mov    0x8(%eax),%ecx
404ec8:	89 4a 08             	mov    %ecx,0x8(%edx)
404ecb:	8b 40 0c             	mov    0xc(%eax),%eax
404ece:	89 42 0c             	mov    %eax,0xc(%edx)
404ed1:	ff 00                	incl   (%eax)
404ed3:	89 17                	mov    %edx,(%edi)
404ed5:	eb b1                	jmp    0x404e88
404ed7:	8b d0                	mov    %eax,%edx
404ed9:	e9 27 ff ff ff       	jmp    0x404e05
404ede:	dd 03                	fldl   (%ebx)
404ee0:	dd 1f                	fstpl  (%edi)
404ee2:	eb a4                	jmp    0x404e88
404ee4:	33 d2                	xor    %edx,%edx
404ee6:	eb eb                	jmp    0x404ed3
404ee8:	33 ff                	xor    %edi,%edi
404eea:	eb 9f                	jmp    0x404e8b
404eec:	55                   	push   %ebp
404eed:	8b ec                	mov    %esp,%ebp
404eef:	53                   	push   %ebx
404ef0:	56                   	push   %esi
404ef1:	8b da                	mov    %edx,%ebx
404ef3:	57                   	push   %edi
404ef4:	8b 7d 08             	mov    0x8(%ebp),%edi
404ef7:	8b f3                	mov    %ebx,%esi
404ef9:	0f af f7             	imul   %edi,%esi
404efc:	03 f1                	add    %ecx,%esi
404efe:	eb 07                	jmp    0x404f07
404f00:	2b f3                	sub    %ebx,%esi
404f02:	8b ce                	mov    %esi,%ecx
404f04:	ff 55 0c             	call   *0xc(%ebp)
404f07:	4f                   	dec    %edi
404f08:	79 f6                	jns    0x404f00
404f0a:	5f                   	pop    %edi
404f0b:	5e                   	pop    %esi
404f0c:	5b                   	pop    %ebx
404f0d:	5d                   	pop    %ebp
404f0e:	c2 08 00             	ret    $0x8
404f11:	56                   	push   %esi
404f12:	8b f1                	mov    %ecx,%esi
404f14:	c7 06 b4 dd 49 00    	movl   $0x49ddb4,(%esi)
404f1a:	e8 11 00 00 00       	call   0x404f30
404f1f:	ff 76 04             	push   0x4(%esi)
404f22:	e8 37 a6 01 00       	call   0x41f55e
404f27:	59                   	pop    %ecx
404f28:	5e                   	pop    %esi
404f29:	c3                   	ret
404f2a:	cc                   	int3
404f2b:	cc                   	int3
404f2c:	cc                   	int3
404f2d:	cc                   	int3
404f2e:	cc                   	int3
404f2f:	cc                   	int3
404f30:	55                   	push   %ebp
404f31:	8b ec                	mov    %esp,%ebp
404f33:	51                   	push   %ecx
404f34:	53                   	push   %ebx
404f35:	56                   	push   %esi
404f36:	8b d9                	mov    %ecx,%ebx
404f38:	33 f6                	xor    %esi,%esi
404f3a:	39 73 08             	cmp    %esi,0x8(%ebx)
404f3d:	76 7c                	jbe    0x404fbb
404f3f:	57                   	push   %edi
404f40:	8b 43 04             	mov    0x4(%ebx),%eax
404f43:	8b 3c b0             	mov    (%eax,%esi,4),%edi
404f46:	85 ff                	test   %edi,%edi
404f48:	74 13                	je     0x404f5d
404f4a:	0f b7 47 08          	movzwl 0x8(%edi),%eax
404f4e:	66 83 f8 3f          	cmp    $0x3f,%ax
404f52:	7e 28                	jle    0x404f7c
404f54:	57                   	push   %edi
404f55:	e8 04 a6 01 00       	call   0x41f55e
404f5a:	83 c4 04             	add    $0x4,%esp
404f5d:	8b 43 04             	mov    0x4(%ebx),%eax
404f60:	46                   	inc    %esi
404f61:	c7 44 b0 fc 00 00 00 	movl   $0x0,-0x4(%eax,%esi,4)
404f68:	00
404f69:	3b 73 08             	cmp    0x8(%ebx),%esi
404f6c:	72 d2                	jb     0x404f40
404f6e:	5f                   	pop    %edi
404f6f:	5e                   	pop    %esi
404f70:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
404f77:	5b                   	pop    %ebx
404f78:	8b e5                	mov    %ebp,%esp
404f7a:	5d                   	pop    %ebp
404f7b:	c3                   	ret
404f7c:	66 83 f8 30          	cmp    $0x30,%ax
404f80:	7c d2                	jl     0x404f54
404f82:	8b 0f                	mov    (%edi),%ecx
404f84:	89 4d fc             	mov    %ecx,-0x4(%ebp)
404f87:	85 c9                	test   %ecx,%ecx
404f89:	74 c9                	je     0x404f54
404f8b:	8b 41 0c             	mov    0xc(%ecx),%eax
404f8e:	ff 08                	decl   (%eax)
404f90:	8b 41 0c             	mov    0xc(%ecx),%eax
404f93:	83 38 00             	cmpl   $0x0,(%eax)
404f96:	75 18                	jne    0x404fb0
404f98:	ff 31                	push   (%ecx)
404f9a:	e8 bf a5 01 00       	call   0x41f55e
404f9f:	8b 45 fc             	mov    -0x4(%ebp),%eax
404fa2:	ff 70 0c             	push   0xc(%eax)
404fa5:	e8 b4 a5 01 00       	call   0x41f55e
404faa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404fad:	83 c4 08             	add    $0x8,%esp
404fb0:	51                   	push   %ecx
404fb1:	e8 a8 a5 01 00       	call   0x41f55e
404fb6:	83 c4 04             	add    $0x4,%esp
404fb9:	eb 99                	jmp    0x404f54
404fbb:	89 73 08             	mov    %esi,0x8(%ebx)
404fbe:	5e                   	pop    %esi
404fbf:	5b                   	pop    %ebx
404fc0:	8b e5                	mov    %ebp,%esp
404fc2:	5d                   	pop    %ebp
404fc3:	c3                   	ret
404fc4:	55                   	push   %ebp
404fc5:	8b ec                	mov    %esp,%ebp
404fc7:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
404fcb:	56                   	push   %esi
404fcc:	8b f1                	mov    %ecx,%esi
404fce:	0f 84 48 de 06 00    	je     0x472e1c
404fd4:	57                   	push   %edi
404fd5:	68 11 4f 40 00       	push   $0x404f11
404fda:	8d 7e fc             	lea    -0x4(%esi),%edi
404fdd:	ff 37                	push   (%edi)
404fdf:	6a 10                	push   $0x10
404fe1:	5a                   	pop    %edx
404fe2:	e8 05 ff ff ff       	call   0x404eec
404fe7:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
404feb:	74 07                	je     0x404ff4
404fed:	57                   	push   %edi
404fee:	e8 6b a5 01 00       	call   0x41f55e
404ff3:	59                   	pop    %ecx
404ff4:	8b c7                	mov    %edi,%eax
404ff6:	5f                   	pop    %edi
404ff7:	5e                   	pop    %esi
404ff8:	5d                   	pop    %ebp
404ff9:	c2 04 00             	ret    $0x4
404ffc:	55                   	push   %ebp
404ffd:	8b ec                	mov    %esp,%ebp
404fff:	83 e4 f8             	and    $0xfffffff8,%esp
405002:	81 ec bc 03 00 00    	sub    $0x3bc,%esp
405008:	53                   	push   %ebx
405009:	56                   	push   %esi
40500a:	57                   	push   %edi
40500b:	68 b4 03 00 00       	push   $0x3b4
405010:	33 db                	xor    %ebx,%ebx
405012:	8d 44 24 18          	lea    0x18(%esp),%eax
405016:	53                   	push   %ebx
405017:	50                   	push   %eax
405018:	8b f1                	mov    %ecx,%esi
40501a:	c7 44 24 1c a8 03 00 	movl   $0x3a8,0x1c(%esp)
405021:	00
405022:	e8 29 bd 01 00       	call   0x420d50
405027:	83 c4 0c             	add    $0xc,%esp
40502a:	39 9e 98 01 00 00    	cmp    %ebx,0x198(%esi)
405030:	75 0b                	jne    0x40503d
405032:	a1 14 11 4c 00       	mov    0x4c1114,%eax
405037:	89 86 98 01 00 00    	mov    %eax,0x198(%esi)
40503d:	39 9e a4 01 00 00    	cmp    %ebx,0x1a4(%esi)
405043:	75 11                	jne    0x405056
405045:	a1 18 11 4c 00       	mov    0x4c1118,%eax
40504a:	89 86 a4 01 00 00    	mov    %eax,0x1a4(%esi)
405050:	89 86 a8 01 00 00    	mov    %eax,0x1a8(%esi)
405056:	39 9e b0 01 00 00    	cmp    %ebx,0x1b0(%esi)
40505c:	75 0b                	jne    0x405069
40505e:	a1 1c 11 4c 00       	mov    0x4c111c,%eax
405063:	89 86 b0 01 00 00    	mov    %eax,0x1b0(%esi)
405069:	8d 9e a0 01 00 00    	lea    0x1a0(%esi),%ebx
40506f:	53                   	push   %ebx
405070:	8d be 9c 01 00 00    	lea    0x19c(%esi),%edi
405076:	57                   	push   %edi
405077:	e8 b4 fb ff ff       	call   0x404c30
40507c:	a1 e8 10 4c 00       	mov    0x4c10e8,%eax
405081:	33 c9                	xor    %ecx,%ecx
405083:	89 44 24 14          	mov    %eax,0x14(%esp)
405087:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
40508e:	00
40508f:	c7 44 24 1c 03 00 00 	movl   $0x3,0x1c(%esp)
405096:	00
405097:	c7 44 24 20 01 04 00 	movl   $0x401,0x20(%esp)
40509e:	00
40509f:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4050a3:	39 4e 40             	cmp    %ecx,0x40(%esi)
4050a6:	0f 85 50 ec 06 00    	jne    0x473cfc
4050ac:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
4050b2:	89 44 24 24          	mov    %eax,0x24(%esp)
4050b6:	89 07                	mov    %eax,(%edi)
4050b8:	80 3d c6 10 4c 00 01 	cmpb   $0x1,0x4c10c6
4050bf:	8d 44 24 10          	lea    0x10(%esp),%eax
4050c3:	50                   	push   %eax
4050c4:	0f 84 5e ec 06 00    	je     0x473d28
4050ca:	51                   	push   %ecx