477e87:	52                   	push   %edx
477e88:	8b 45 08             	mov    0x8(%ebp),%eax
477e8b:	50                   	push   %eax
477e8c:	51                   	push   %ecx
477e8d:	e8 5d 98 f8 ff       	call   0x4016ef
477e92:	83 c4 0c             	add    $0xc,%esp
477e95:	8b 4d 14             	mov    0x14(%ebp),%ecx
477e98:	51                   	push   %ecx
477e99:	e8 18 9a f8 ff       	call   0x4018b6
477e9e:	83 c4 14             	add    $0x14,%esp
477ea1:	8b e5                	mov    %ebp,%esp
477ea3:	5d                   	pop    %ebp
477ea4:	c3                   	ret
477ea5:	cc                   	int3
477ea6:	cc                   	int3
477ea7:	cc                   	int3
477ea8:	cc                   	int3
477ea9:	cc                   	int3
477eaa:	cc                   	int3
477eab:	cc                   	int3
477eac:	cc                   	int3
477ead:	cc                   	int3
477eae:	cc                   	int3
477eaf:	cc                   	int3
477eb0:	cc                   	int3
477eb1:	cc                   	int3
477eb2:	cc                   	int3
477eb3:	cc                   	int3
477eb4:	cc                   	int3
477eb5:	cc                   	int3
477eb6:	cc                   	int3
477eb7:	cc                   	int3
477eb8:	cc                   	int3
477eb9:	cc                   	int3
477eba:	cc                   	int3
477ebb:	cc                   	int3
477ebc:	cc                   	int3
477ebd:	cc                   	int3
477ebe:	cc                   	int3
477ebf:	cc                   	int3
477ec0:	8b ff                	mov    %edi,%edi
477ec2:	55                   	push   %ebp
477ec3:	8b ec                	mov    %esp,%ebp
477ec5:	51                   	push   %ecx
477ec6:	6a 00                	push   $0x0
477ec8:	8b 45 10             	mov    0x10(%ebp),%eax
477ecb:	50                   	push   %eax
477ecc:	83 ec 08             	sub    $0x8,%esp
477ecf:	8b cc                	mov    %esp,%ecx
477ed1:	89 65 fc             	mov    %esp,-0x4(%ebp)
477ed4:	8b 55 0c             	mov    0xc(%ebp),%edx
477ed7:	52                   	push   %edx
477ed8:	8b 45 08             	mov    0x8(%ebp),%eax
477edb:	50                   	push   %eax
477edc:	51                   	push   %ecx
477edd:	e8 59 bf f8 ff       	call   0x403e3b
477ee2:	83 c4 0c             	add    $0xc,%esp
477ee5:	8b 4d 14             	mov    0x14(%ebp),%ecx
477ee8:	51                   	push   %ecx
477ee9:	e8 76 91 f8 ff       	call   0x401064
477eee:	83 c4 14             	add    $0x14,%esp
477ef1:	8b e5                	mov    %ebp,%esp
477ef3:	5d                   	pop    %ebp
477ef4:	c3                   	ret
477ef5:	cc                   	int3
477ef6:	cc                   	int3
477ef7:	cc                   	int3
477ef8:	cc                   	int3
477ef9:	cc                   	int3
477efa:	cc                   	int3
477efb:	cc                   	int3
477efc:	cc                   	int3
477efd:	cc                   	int3
477efe:	cc                   	int3
477eff:	cc                   	int3
477f00:	cc                   	int3
477f01:	cc                   	int3
477f02:	cc                   	int3
477f03:	cc                   	int3
477f04:	cc                   	int3
477f05:	cc                   	int3
477f06:	cc                   	int3
477f07:	cc                   	int3
477f08:	cc                   	int3
477f09:	cc                   	int3
477f0a:	cc                   	int3
477f0b:	cc                   	int3
477f0c:	cc                   	int3
477f0d:	cc                   	int3
477f0e:	cc                   	int3
477f0f:	cc                   	int3
477f10:	8b ff                	mov    %edi,%edi
477f12:	55                   	push   %ebp
477f13:	8b ec                	mov    %esp,%ebp
477f15:	6a 00                	push   $0x0
477f17:	8b 45 10             	mov    0x10(%ebp),%eax
477f1a:	50                   	push   %eax
477f1b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
477f1e:	51                   	push   %ecx
477f1f:	8b 55 08             	mov    0x8(%ebp),%edx
477f22:	52                   	push   %edx
477f23:	e8 f7 a3 f8 ff       	call   0x40231f
477f28:	83 c4 10             	add    $0x10,%esp
477f2b:	5d                   	pop    %ebp
477f2c:	c3                   	ret
477f2d:	cc                   	int3
477f2e:	cc                   	int3
477f2f:	cc                   	int3
477f30:	cc                   	int3
477f31:	cc                   	int3
477f32:	cc                   	int3
477f33:	cc                   	int3
477f34:	cc                   	int3
477f35:	cc                   	int3
477f36:	cc                   	int3
477f37:	cc                   	int3
477f38:	cc                   	int3
477f39:	cc                   	int3
477f3a:	cc                   	int3
477f3b:	cc                   	int3
477f3c:	cc                   	int3
477f3d:	cc                   	int3
477f3e:	cc                   	int3
477f3f:	cc                   	int3
477f40:	8b ff                	mov    %edi,%edi
477f42:	55                   	push   %ebp
477f43:	8b ec                	mov    %esp,%ebp
477f45:	8b 45 14             	mov    0x14(%ebp),%eax
477f48:	50                   	push   %eax
477f49:	8b 4d 10             	mov    0x10(%ebp),%ecx
477f4c:	51                   	push   %ecx
477f4d:	8b 55 0c             	mov    0xc(%ebp),%edx
477f50:	52                   	push   %edx
477f51:	8b 45 08             	mov    0x8(%ebp),%eax
477f54:	50                   	push   %eax
477f55:	e8 c5 a3 f8 ff       	call   0x40231f
477f5a:	83 c4 10             	add    $0x10,%esp
477f5d:	5d                   	pop    %ebp
477f5e:	c3                   	ret
477f5f:	cc                   	int3
477f60:	cc                   	int3
477f61:	cc                   	int3
477f62:	cc                   	int3
477f63:	cc                   	int3
477f64:	cc                   	int3
477f65:	cc                   	int3
477f66:	cc                   	int3
477f67:	cc                   	int3
477f68:	cc                   	int3
477f69:	cc                   	int3
477f6a:	cc                   	int3
477f6b:	cc                   	int3
477f6c:	cc                   	int3
477f6d:	cc                   	int3
477f6e:	cc                   	int3
477f6f:	cc                   	int3
477f70:	8b ff                	mov    %edi,%edi
477f72:	55                   	push   %ebp
477f73:	8b ec                	mov    %esp,%ebp
477f75:	8b 45 14             	mov    0x14(%ebp),%eax
477f78:	50                   	push   %eax
477f79:	8b 4d 10             	mov    0x10(%ebp),%ecx
477f7c:	51                   	push   %ecx
477f7d:	8b 55 0c             	mov    0xc(%ebp),%edx
477f80:	52                   	push   %edx
477f81:	8b 45 08             	mov    0x8(%ebp),%eax
477f84:	50                   	push   %eax
477f85:	e8 95 a3 f8 ff       	call   0x40231f
477f8a:	83 c4 10             	add    $0x10,%esp
477f8d:	5d                   	pop    %ebp
477f8e:	c3                   	ret
477f8f:	cc                   	int3
477f90:	cc                   	int3
477f91:	cc                   	int3
477f92:	cc                   	int3
477f93:	cc                   	int3
477f94:	cc                   	int3
477f95:	cc                   	int3
477f96:	cc                   	int3
477f97:	cc                   	int3
477f98:	cc                   	int3
477f99:	cc                   	int3
477f9a:	cc                   	int3
477f9b:	cc                   	int3
477f9c:	cc                   	int3
477f9d:	cc                   	int3
477f9e:	cc                   	int3
477f9f:	cc                   	int3
477fa0:	8b ff                	mov    %edi,%edi
477fa2:	55                   	push   %ebp
477fa3:	8b ec                	mov    %esp,%ebp
477fa5:	8b 45 14             	mov    0x14(%ebp),%eax
477fa8:	50                   	push   %eax
477fa9:	8b 4d 10             	mov    0x10(%ebp),%ecx
477fac:	51                   	push   %ecx
477fad:	8b 55 0c             	mov    0xc(%ebp),%edx
477fb0:	52                   	push   %edx
477fb1:	8b 45 08             	mov    0x8(%ebp),%eax
477fb4:	50                   	push   %eax
477fb5:	e8 2d a4 f8 ff       	call   0x4023e7
477fba:	83 c4 10             	add    $0x10,%esp
477fbd:	5d                   	pop    %ebp
477fbe:	c3                   	ret
477fbf:	cc                   	int3
477fc0:	cc                   	int3
477fc1:	cc                   	int3
477fc2:	cc                   	int3
477fc3:	cc                   	int3
477fc4:	cc                   	int3
477fc5:	cc                   	int3
477fc6:	cc                   	int3
477fc7:	cc                   	int3
477fc8:	cc                   	int3
477fc9:	cc                   	int3
477fca:	cc                   	int3
477fcb:	cc                   	int3
477fcc:	cc                   	int3
477fcd:	cc                   	int3
477fce:	cc                   	int3
477fcf:	cc                   	int3
477fd0:	8b ff                	mov    %edi,%edi
477fd2:	55                   	push   %ebp
477fd3:	8b ec                	mov    %esp,%ebp
477fd5:	8b 45 14             	mov    0x14(%ebp),%eax
477fd8:	50                   	push   %eax
477fd9:	8b 4d 10             	mov    0x10(%ebp),%ecx
477fdc:	51                   	push   %ecx
477fdd:	8b 55 0c             	mov    0xc(%ebp),%edx
477fe0:	52                   	push   %edx
477fe1:	8b 45 08             	mov    0x8(%ebp),%eax
477fe4:	50                   	push   %eax
477fe5:	e8 35 a3 f8 ff       	call   0x40231f
477fea:	83 c4 10             	add    $0x10,%esp
477fed:	5d                   	pop    %ebp
477fee:	c3                   	ret
477fef:	cc                   	int3
477ff0:	cc                   	int3
477ff1:	cc                   	int3
477ff2:	cc                   	int3
477ff3:	cc                   	int3
477ff4:	cc                   	int3
477ff5:	cc                   	int3
477ff6:	cc                   	int3
477ff7:	cc                   	int3
477ff8:	cc                   	int3
477ff9:	cc                   	int3
477ffa:	cc                   	int3
477ffb:	cc                   	int3
477ffc:	cc                   	int3
477ffd:	cc                   	int3
477ffe:	cc                   	int3
477fff:	cc                   	int3
478000:	8b ff                	mov    %edi,%edi
478002:	55                   	push   %ebp
478003:	8b ec                	mov    %esp,%ebp
478005:	6a 00                	push   $0x0
478007:	8b 45 10             	mov    0x10(%ebp),%eax
47800a:	50                   	push   %eax
47800b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47800e:	51                   	push   %ecx
47800f:	8b 55 08             	mov    0x8(%ebp),%edx
478012:	52                   	push   %edx
478013:	e8 03 9d f8 ff       	call   0x401d1b
478018:	83 c4 10             	add    $0x10,%esp
47801b:	5d                   	pop    %ebp
47801c:	c3                   	ret
47801d:	cc                   	int3
47801e:	cc                   	int3
47801f:	cc                   	int3
478020:	cc                   	int3
478021:	cc                   	int3
478022:	cc                   	int3
478023:	cc                   	int3
478024:	cc                   	int3
478025:	cc                   	int3
478026:	cc                   	int3
478027:	cc                   	int3
478028:	cc                   	int3
478029:	cc                   	int3
47802a:	cc                   	int3
47802b:	cc                   	int3
47802c:	cc                   	int3
47802d:	cc                   	int3
47802e:	cc                   	int3
47802f:	cc                   	int3
478030:	8b ff                	mov    %edi,%edi
478032:	55                   	push   %ebp
478033:	8b ec                	mov    %esp,%ebp
478035:	8b 45 14             	mov    0x14(%ebp),%eax
478038:	50                   	push   %eax
478039:	8b 4d 10             	mov    0x10(%ebp),%ecx
47803c:	51                   	push   %ecx
47803d:	8b 55 0c             	mov    0xc(%ebp),%edx
478040:	52                   	push   %edx
478041:	8b 45 08             	mov    0x8(%ebp),%eax
478044:	50                   	push   %eax
478045:	e8 d1 9c f8 ff       	call   0x401d1b
47804a:	83 c4 10             	add    $0x10,%esp
47804d:	5d                   	pop    %ebp
47804e:	c3                   	ret
47804f:	cc                   	int3
478050:	cc                   	int3
478051:	cc                   	int3
478052:	cc                   	int3
478053:	cc                   	int3
478054:	cc                   	int3
478055:	cc                   	int3
478056:	cc                   	int3
478057:	cc                   	int3
478058:	cc                   	int3
478059:	cc                   	int3
47805a:	cc                   	int3
47805b:	cc                   	int3
47805c:	cc                   	int3
47805d:	cc                   	int3
47805e:	cc                   	int3
47805f:	cc                   	int3
478060:	8b ff                	mov    %edi,%edi
478062:	55                   	push   %ebp
478063:	8b ec                	mov    %esp,%ebp
478065:	8b 45 14             	mov    0x14(%ebp),%eax
478068:	50                   	push   %eax
478069:	8b 4d 10             	mov    0x10(%ebp),%ecx
47806c:	51                   	push   %ecx
47806d:	8b 55 0c             	mov    0xc(%ebp),%edx
478070:	52                   	push   %edx
478071:	8b 45 08             	mov    0x8(%ebp),%eax
478074:	50                   	push   %eax
478075:	e8 fb ab f8 ff       	call   0x402c75
47807a:	83 c4 10             	add    $0x10,%esp
47807d:	5d                   	pop    %ebp
47807e:	c3                   	ret
47807f:	cc                   	int3
478080:	cc                   	int3
478081:	cc                   	int3
478082:	cc                   	int3
478083:	cc                   	int3
478084:	cc                   	int3
478085:	cc                   	int3
478086:	cc                   	int3
478087:	cc                   	int3
478088:	cc                   	int3
478089:	cc                   	int3
47808a:	cc                   	int3
47808b:	cc                   	int3
47808c:	cc                   	int3
47808d:	cc                   	int3
47808e:	cc                   	int3
47808f:	cc                   	int3
478090:	8b ff                	mov    %edi,%edi