404cfa:	8b c7                	mov    %edi,%eax
404cfc:	8b cb                	mov    %ebx,%ecx
404cfe:	e8 39 00 00 00       	call   0x404d3c
404d03:	eb 2a                	jmp    0x404d2f
404d05:	8b dd                	mov    %ebp,%ebx
404d07:	8b c7                	mov    %edi,%eax
404d09:	8b d3                	mov    %ebx,%edx
404d0b:	e8 88 01 00 00       	call   0x404e98
404d10:	56                   	push   %esi
404d11:	8b 07                	mov    (%edi),%eax
404d13:	8b 4c 24 04          	mov    0x4(%esp),%ecx
404d17:	8b d3                	mov    %ebx,%edx
404d19:	e8 92 f9 ff ff       	call   0x4046b0
404d1e:	8b d8                	mov    %eax,%ebx
404d20:	85 db                	test   %ebx,%ebx
404d22:	7d 02                	jge    0x404d26
404d24:	33 db                	xor    %ebx,%ebx
404d26:	8b c7                	mov    %edi,%eax
404d28:	8b d3                	mov    %ebx,%edx
404d2a:	e8 69 01 00 00       	call   0x404e98
404d2f:	81 c4 04 10 00 00    	add    $0x1004,%esp
404d35:	5d                   	pop    %ebp
404d36:	5f                   	pop    %edi
404d37:	5e                   	pop    %esi
404d38:	5b                   	pop    %ebx
404d39:	c3                   	ret
404d3a:	8b c0                	mov    %eax,%eax
404d3c:	85 c9                	test   %ecx,%ecx
404d3e:	0f 84 0c ff ff ff    	je     0x404c50
404d44:	50                   	push   %eax
404d45:	51                   	push   %ecx
404d46:	52                   	push   %edx
404d47:	e8 88 c5 ff ff       	call   0x4012d4
404d4c:	85 c0                	test   %eax,%eax
404d4e:	0f 84 cc fe ff ff    	je     0x404c20
404d54:	5a                   	pop    %edx
404d55:	ff 32                	push   (%edx)
404d57:	89 02                	mov    %eax,(%edx)
404d59:	e8 86 c5 ff ff       	call   0x4012e4
404d5e:	c3                   	ret
404d5f:	90                   	nop
404d60:	31 c9                	xor    %ecx,%ecx
404d62:	85 d2                	test   %edx,%edx
404d64:	74 2d                	je     0x404d93
404d66:	52                   	push   %edx
404d67:	66 3b 0a             	cmp    (%edx),%cx
404d6a:	74 20                	je     0x404d8c
404d6c:	66 3b 4a 02          	cmp    0x2(%edx),%cx
404d70:	74 17                	je     0x404d89
404d72:	66 3b 4a 04          	cmp    0x4(%edx),%cx
404d76:	74 0e                	je     0x404d86
404d78:	66 3b 4a 06          	cmp    0x6(%edx),%cx
404d7c:	74 05                	je     0x404d83
404d7e:	83 c2 08             	add    $0x8,%edx
404d81:	eb e4                	jmp    0x404d67
404d83:	83 c2 02             	add    $0x2,%edx
404d86:	83 c2 02             	add    $0x2,%edx
404d89:	83 c2 02             	add    $0x2,%edx
404d8c:	89 d1                	mov    %edx,%ecx
404d8e:	5a                   	pop    %edx
404d8f:	29 d1                	sub    %edx,%ecx
404d91:	d1 e9                	shr    $1,%ecx
404d93:	e9 a4 ff ff ff       	jmp    0x404d3c
404d98:	c3                   	ret
404d99:	8d 40 00             	lea    0x0(%eax),%eax
404d9c:	31 c9                	xor    %ecx,%ecx
404d9e:	85 d2                	test   %edx,%edx
404da0:	74 03                	je     0x404da5
404da2:	8b 4a fc             	mov    -0x4(%edx),%ecx
404da5:	e9 06 ff ff ff       	jmp    0x404cb0
404daa:	c3                   	ret
404dab:	90                   	nop
404dac:	85 c0                	test   %eax,%eax
404dae:	74 04                	je     0x404db4
404db0:	c3                   	ret
404db1:	90                   	nop
404db2:	00 00                	add    %al,(%eax)
404db4:	b8 b2 4d 40 00       	mov    $0x404db2,%eax
404db9:	c3                   	ret
404dba:	8b c0                	mov    %eax,%eax
404dbc:	85 c0                	test   %eax,%eax
404dbe:	74 05                	je     0x404dc5
404dc0:	8b 40 fc             	mov    -0x4(%eax),%eax
404dc3:	d1 e8                	shr    $1,%eax
404dc5:	c3                   	ret
404dc6:	8b c0                	mov    %eax,%eax
404dc8:	53                   	push   %ebx
404dc9:	56                   	push   %esi
404dca:	57                   	push   %edi
404dcb:	89 c6                	mov    %eax,%esi
404dcd:	89 d7                	mov    %edx,%edi
404dcf:	39 d0                	cmp    %edx,%eax
404dd1:	74 72                	je     0x404e45
404dd3:	85 f6                	test   %esi,%esi
404dd5:	74 51                	je     0x404e28
404dd7:	85 ff                	test   %edi,%edi
404dd9:	74 54                	je     0x404e2f
404ddb:	8b 46 fc             	mov    -0x4(%esi),%eax
404dde:	8b 57 fc             	mov    -0x4(%edi),%edx
404de1:	29 d0                	sub    %edx,%eax
404de3:	77 02                	ja     0x404de7
404de5:	01 c2                	add    %eax,%edx
404de7:	52                   	push   %edx
404de8:	c1 ea 02             	shr    $0x2,%edx
404deb:	74 26                	je     0x404e13
404ded:	8b 0e                	mov    (%esi),%ecx
404def:	8b 1f                	mov    (%edi),%ebx
404df1:	39 d9                	cmp    %ebx,%ecx
404df3:	75 41                	jne    0x404e36
404df5:	4a                   	dec    %edx
404df6:	74 15                	je     0x404e0d
404df8:	8b 4e 04             	mov    0x4(%esi),%ecx
404dfb:	8b 5f 04             	mov    0x4(%edi),%ebx
404dfe:	39 d9                	cmp    %ebx,%ecx
404e00:	75 34                	jne    0x404e36
404e02:	83 c6 08             	add    $0x8,%esi
404e05:	83 c7 08             	add    $0x8,%edi
404e08:	4a                   	dec    %edx
404e09:	75 e2                	jne    0x404ded
404e0b:	eb 06                	jmp    0x404e13
404e0d:	83 c6 04             	add    $0x4,%esi
404e10:	83 c7 04             	add    $0x4,%edi
404e13:	5a                   	pop    %edx
404e14:	83 e2 02             	and    $0x2,%edx
404e17:	74 0b                	je     0x404e24
404e19:	66 8b 0e             	mov    (%esi),%cx
404e1c:	66 8b 1f             	mov    (%edi),%bx
404e1f:	66 39 d9             	cmp    %bx,%cx
404e22:	75 21                	jne    0x404e45
404e24:	01 c0                	add    %eax,%eax
404e26:	eb 1d                	jmp    0x404e45
404e28:	8b 57 fc             	mov    -0x4(%edi),%edx
404e2b:	29 d0                	sub    %edx,%eax
404e2d:	eb 16                	jmp    0x404e45
404e2f:	8b 46 fc             	mov    -0x4(%esi),%eax
404e32:	29 d0                	sub    %edx,%eax
404e34:	eb 0f                	jmp    0x404e45
404e36:	5a                   	pop    %edx
404e37:	66 39 d9             	cmp    %bx,%cx
404e3a:	75 09                	jne    0x404e45
404e3c:	c1 e9 10             	shr    $0x10,%ecx
404e3f:	c1 eb 10             	shr    $0x10,%ebx
404e42:	66 39 d9             	cmp    %bx,%cx
404e45:	5f                   	pop    %edi
404e46:	5e                   	pop    %esi
404e47:	5b                   	pop    %ebx
404e48:	c3                   	ret
404e49:	8d 40 00             	lea    0x0(%eax),%eax
404e4c:	55                   	push   %ebp
404e4d:	8b ec                	mov    %esp,%ebp
404e4f:	53                   	push   %ebx
404e50:	56                   	push   %esi
404e51:	57                   	push   %edi
404e52:	8b f9                	mov    %ecx,%edi
404e54:	8b da                	mov    %edx,%ebx
404e56:	8b f0                	mov    %eax,%esi
404e58:	8b c6                	mov    %esi,%eax
404e5a:	e8 5d ff ff ff       	call   0x404dbc
404e5f:	83 fb 01             	cmp    $0x1,%ebx
404e62:	7d 04                	jge    0x404e68
404e64:	33 db                	xor    %ebx,%ebx
404e66:	eb 07                	jmp    0x404e6f
404e68:	4b                   	dec    %ebx
404e69:	3b c3                	cmp    %ebx,%eax
404e6b:	7d 02                	jge    0x404e6f
404e6d:	8b d8                	mov    %eax,%ebx
404e6f:	85 ff                	test   %edi,%edi
404e71:	7d 04                	jge    0x404e77
404e73:	33 c0                	xor    %eax,%eax
404e75:	eb 08                	jmp    0x404e7f
404e77:	2b c3                	sub    %ebx,%eax
404e79:	3b f8                	cmp    %eax,%edi
404e7b:	7d 02                	jge    0x404e7f
404e7d:	8b c7                	mov    %edi,%eax
404e7f:	8b d3                	mov    %ebx,%edx
404e81:	03 d2                	add    %edx,%edx
404e83:	03 d6                	add    %esi,%edx
404e85:	8b 4d 08             	mov    0x8(%ebp),%ecx
404e88:	91                   	xchg   %eax,%ecx
404e89:	e8 ae fe ff ff       	call   0x404d3c
404e8e:	5f                   	pop    %edi
404e8f:	5e                   	pop    %esi
404e90:	5b                   	pop    %ebx
404e91:	5d                   	pop    %ebp
404e92:	c2 04 00             	ret    $0x4
404e95:	8d 40 00             	lea    0x0(%eax),%eax
404e98:	53                   	push   %ebx
404e99:	56                   	push   %esi
404e9a:	51                   	push   %ecx
404e9b:	8b da                	mov    %edx,%ebx
404e9d:	8b f0                	mov    %eax,%esi
404e9f:	33 c0                	xor    %eax,%eax
404ea1:	89 04 24             	mov    %eax,(%esp)
404ea4:	85 db                	test   %ebx,%ebx
404ea6:	7e 29                	jle    0x404ed1
404ea8:	8b c3                	mov    %ebx,%eax
404eaa:	e8 79 fd ff ff       	call   0x404c28
404eaf:	89 04 24             	mov    %eax,(%esp)
404eb2:	8b 06                	mov    (%esi),%eax
404eb4:	e8 03 ff ff ff       	call   0x404dbc
404eb9:	85 c0                	test   %eax,%eax
404ebb:	7e 14                	jle    0x404ed1
404ebd:	3b d8                	cmp    %eax,%ebx
404ebf:	7d 02                	jge    0x404ec3
404ec1:	8b c3                	mov    %ebx,%eax
404ec3:	8b c8                	mov    %eax,%ecx
404ec5:	03 c9                	add    %ecx,%ecx
404ec7:	8b 14 24             	mov    (%esp),%edx
404eca:	8b 06                	mov    (%esi),%eax
404ecc:	e8 87 dd ff ff       	call   0x402c58
404ed1:	8b c6                	mov    %esi,%eax
404ed3:	8b 14 24             	mov    (%esp),%edx
404ed6:	e8 65 fd ff ff       	call   0x404c40
404edb:	5a                   	pop    %edx
404edc:	5e                   	pop    %esi
404edd:	5b                   	pop    %ebx
404ede:	c3                   	ret
404edf:	90                   	nop
404ee0:	31 c9                	xor    %ecx,%ecx
404ee2:	53                   	push   %ebx
404ee3:	8a 4a 01             	mov    0x1(%edx),%cl
404ee6:	56                   	push   %esi
404ee7:	57                   	push   %edi
404ee8:	89 c3                	mov    %eax,%ebx
404eea:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
404eee:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
404ef2:	8b 16                	mov    (%esi),%edx
404ef4:	8b 46 04             	mov    0x4(%esi),%eax
404ef7:	01 d8                	add    %ebx,%eax
404ef9:	8b 12                	mov    (%edx),%edx
404efb:	b9 01 00 00 00       	mov    $0x1,%ecx
404f00:	e8 0b 00 00 00       	call   0x404f10
404f05:	83 c6 08             	add    $0x8,%esi
404f08:	4f                   	dec    %edi
404f09:	7f e7                	jg     0x404ef2
404f0b:	5f                   	pop    %edi
404f0c:	5e                   	pop    %esi
404f0d:	5b                   	pop    %ebx
404f0e:	c3                   	ret
404f0f:	90                   	nop
404f10:	85 c9                	test   %ecx,%ecx
404f12:	0f 84 8a 00 00 00    	je     0x404fa2
404f18:	53                   	push   %ebx
404f19:	56                   	push   %esi
404f1a:	57                   	push   %edi
404f1b:	89 c3                	mov    %eax,%ebx
404f1d:	89 d6                	mov    %edx,%esi
404f1f:	89 cf                	mov    %ecx,%edi
404f21:	31 d2                	xor    %edx,%edx
404f23:	8a 06                	mov    (%esi),%al
404f25:	8a 56 01             	mov    0x1(%esi),%dl
404f28:	31 c9                	xor    %ecx,%ecx
404f2a:	3c 0a                	cmp    $0xa,%al
404f2c:	74 22                	je     0x404f50
404f2e:	3c 0b                	cmp    $0xb,%al
404f30:	74 1e                	je     0x404f50
404f32:	3c 0c                	cmp    $0xc,%al
404f34:	74 24                	je     0x404f5a
404f36:	3c 0d                	cmp    $0xd,%al
404f38:	74 33                	je     0x404f6d
404f3a:	3c 0e                	cmp    $0xe,%al
404f3c:	74 4d                	je     0x404f8b
404f3e:	3c 0f                	cmp    $0xf,%al
404f40:	74 0e                	je     0x404f50
404f42:	3c 11                	cmp    $0x11,%al
404f44:	74 0a                	je     0x404f50
404f46:	b0 02                	mov    $0x2,%al
404f48:	5f                   	pop    %edi
404f49:	5e                   	pop    %esi
404f4a:	5b                   	pop    %ebx
404f4b:	e9 68 dc ff ff       	jmp    0x402bb8
404f50:	89 0b                	mov    %ecx,(%ebx)
404f52:	83 c3 04             	add    $0x4,%ebx
404f55:	4f                   	dec    %edi
404f56:	7f f8                	jg     0x404f50
404f58:	eb 45                	jmp    0x404f9f
404f5a:	89 0b                	mov    %ecx,(%ebx)
404f5c:	89 4b 04             	mov    %ecx,0x4(%ebx)
404f5f:	89 4b 08             	mov    %ecx,0x8(%ebx)
404f62:	89 4b 0c             	mov    %ecx,0xc(%ebx)
404f65:	83 c3 10             	add    $0x10,%ebx
404f68:	4f                   	dec    %edi
404f69:	7f ef                	jg     0x404f5a
404f6b:	eb 32                	jmp    0x404f9f
404f6d:	55                   	push   %ebp
404f6e:	89 d5                	mov    %edx,%ebp
404f70:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
404f74:	89 d8                	mov    %ebx,%eax
404f76:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
404f7a:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
404f7e:	8b 12                	mov    (%edx),%edx
404f80:	e8 8b ff ff ff       	call   0x404f10
404f85:	4f                   	dec    %edi
404f86:	7f e8                	jg     0x404f70
404f88:	5d                   	pop    %ebp
404f89:	eb 14                	jmp    0x404f9f
404f8b:	55                   	push   %ebp
404f8c:	89 d5                	mov    %edx,%ebp
404f8e:	89 d8                	mov    %ebx,%eax
404f90:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
404f94:	89 f2                	mov    %esi,%edx
404f96:	e8 45 ff ff ff       	call   0x404ee0
404f9b:	4f                   	dec    %edi
404f9c:	7f f0                	jg     0x404f8e
404f9e:	5d                   	pop    %ebp
404f9f:	5f                   	pop    %edi
404fa0:	5e                   	pop    %esi
404fa1:	5b                   	pop    %ebx
404fa2:	c3                   	ret
404fa3:	90                   	nop
404fa4:	31 c9                	xor    %ecx,%ecx
404fa6:	53                   	push   %ebx
404fa7:	8a 4a 01             	mov    0x1(%edx),%cl
404faa:	56                   	push   %esi
404fab:	57                   	push   %edi
404fac:	89 c3                	mov    %eax,%ebx
404fae:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
404fb2:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
404fb6:	8b 16                	mov    (%esi),%edx
404fb8:	8b 46 04             	mov    0x4(%esi),%eax
404fbb:	01 d8                	add    %ebx,%eax
404fbd:	8b 12                	mov    (%edx),%edx
404fbf:	b9 01 00 00 00       	mov    $0x1,%ecx
404fc4:	e8 27 00 00 00       	call   0x404ff0
404fc9:	83 c6 08             	add    $0x8,%esi
404fcc:	4f                   	dec    %edi
404fcd:	7f e7                	jg     0x404fb6
404fcf:	89 d8                	mov    %ebx,%eax
404fd1:	5f                   	pop    %edi
404fd2:	5e                   	pop    %esi
404fd3:	5b                   	pop    %ebx
404fd4:	c3                   	ret
404fd5:	8d 40 00             	lea    0x0(%eax),%eax
404fd8:	83 3d 10 50 45 00 00 	cmpl   $0x0,0x455010
404fdf:	74 07                	je     0x404fe8
404fe1:	ff 15 10 50 45 00    	call   *0x455010
404fe7:	c3                   	ret
404fe8:	b0 10                	mov    $0x10,%al
404fea:	e8 c9 db ff ff       	call   0x402bb8
404fef:	c3                   	ret
404ff0:	83 f9 00             	cmp    $0x0,%ecx
404ff3:	0f 84 e0 00 00 00    	je     0x4050d9
404ff9:	50                   	push   %eax
404ffa:	53                   	push   %ebx
404ffb:	56                   	push   %esi
404ffc:	57                   	push   %edi
404ffd:	89 c3                	mov    %eax,%ebx
404fff:	89 d6                	mov    %edx,%esi
405001:	89 cf                	mov    %ecx,%edi
405003:	31 d2                	xor    %edx,%edx