40fc68:	ff d6                	call   *%esi
40fc6a:	8b 73 7c             	mov    0x7c(%ebx),%esi
40fc6d:	8b ce                	mov    %esi,%ecx
40fc6f:	50                   	push   %eax
40fc70:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40fc76:	8d 4f 18             	lea    0x18(%edi),%ecx
40fc79:	ff d6                	call   *%esi
40fc7b:	5f                   	pop    %edi
40fc7c:	5e                   	pop    %esi
40fc7d:	5b                   	pop    %ebx
40fc7e:	5d                   	pop    %ebp
40fc7f:	c2 08 00             	ret    $0x8
40fc82:	cc                   	int3
40fc83:	cc                   	int3
40fc84:	cc                   	int3
40fc85:	cc                   	int3
40fc86:	cc                   	int3
40fc87:	cc                   	int3
40fc88:	cc                   	int3
40fc89:	cc                   	int3
40fc8a:	cc                   	int3
40fc8b:	cc                   	int3
40fc8c:	cc                   	int3
40fc8d:	cc                   	int3
40fc8e:	cc                   	int3
40fc8f:	cc                   	int3
40fc90:	55                   	push   %ebp
40fc91:	8b ec                	mov    %esp,%ebp
40fc93:	8b 41 18             	mov    0x18(%ecx),%eax
40fc96:	56                   	push   %esi
40fc97:	57                   	push   %edi
40fc98:	ff 75 08             	push   0x8(%ebp)
40fc9b:	8b 70 1c             	mov    0x1c(%eax),%esi
40fc9e:	8d 79 18             	lea    0x18(%ecx),%edi
40fca1:	8b ce                	mov    %esi,%ecx
40fca3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40fca9:	8b cf                	mov    %edi,%ecx
40fcab:	ff d6                	call   *%esi
40fcad:	5f                   	pop    %edi
40fcae:	5e                   	pop    %esi
40fcaf:	5d                   	pop    %ebp
40fcb0:	c2 04 00             	ret    $0x4
40fcb3:	cc                   	int3
40fcb4:	cc                   	int3
40fcb5:	cc                   	int3
40fcb6:	cc                   	int3
40fcb7:	cc                   	int3
40fcb8:	cc                   	int3
40fcb9:	cc                   	int3
40fcba:	cc                   	int3
40fcbb:	cc                   	int3
40fcbc:	cc                   	int3
40fcbd:	cc                   	int3
40fcbe:	cc                   	int3
40fcbf:	cc                   	int3
40fcc0:	55                   	push   %ebp
40fcc1:	8b ec                	mov    %esp,%ebp
40fcc3:	6a ff                	push   $0xffffffff
40fcc5:	68 45 86 49 00       	push   $0x498645
40fcca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40fcd0:	50                   	push   %eax
40fcd1:	83 ec 30             	sub    $0x30,%esp
40fcd4:	53                   	push   %ebx
40fcd5:	56                   	push   %esi
40fcd6:	57                   	push   %edi
40fcd7:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40fcdc:	33 c5                	xor    %ebp,%eax
40fcde:	50                   	push   %eax
40fcdf:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fce2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40fce8:	8b d9                	mov    %ecx,%ebx
40fcea:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40fced:	8b 45 08             	mov    0x8(%ebp),%eax
40fcf0:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
40fcf7:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
40fcfe:	89 43 0c             	mov    %eax,0xc(%ebx)
40fd01:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fd08:	c7 03 f0 13 4b 00    	movl   $0x4b13f0,(%ebx)
40fd0e:	c7 43 04 44 1b 4b 00 	movl   $0x4b1b44,0x4(%ebx)
40fd15:	c7 43 24 ff ff ff ff 	movl   $0xffffffff,0x24(%ebx)
40fd1c:	c6 43 28 00          	movb   $0x0,0x28(%ebx)
40fd20:	c7 43 18 a0 0e 4b 00 	movl   $0x4b0ea0,0x18(%ebx)
40fd27:	c7 43 1c 90 0e 4b 00 	movl   $0x4b0e90,0x1c(%ebx)
40fd2e:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40fd35:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40fd3c:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40fd43:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40fd4a:	c6 45 c8 00          	movb   $0x0,-0x38(%ebp)
40fd4e:	51                   	push   %ecx
40fd4f:	8d 45 c8             	lea    -0x38(%ebp),%eax
40fd52:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40fd56:	50                   	push   %eax
40fd57:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40fd5a:	e8 a1 1a 00 00       	call   0x411800
40fd5f:	83 c4 08             	add    $0x8,%esp
40fd62:	50                   	push   %eax
40fd63:	8d 4b 18             	lea    0x18(%ebx),%ecx
40fd66:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40fd6a:	e8 51 0d 03 00       	call   0x440ac0
40fd6f:	8b 7d e4             	mov    -0x1c(%ebp),%edi
40fd72:	85 ff                	test   %edi,%edi
40fd74:	74 12                	je     0x40fd88
40fd76:	8b 07                	mov    (%edi),%eax
40fd78:	6a 01                	push   $0x1
40fd7a:	8b 30                	mov    (%eax),%esi
40fd7c:	8b ce                	mov    %esi,%ecx
40fd7e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40fd84:	8b cf                	mov    %edi,%ecx
40fd86:	ff d6                	call   *%esi
40fd88:	8b 55 dc             	mov    -0x24(%ebp),%edx
40fd8b:	32 c0                	xor    %al,%al
40fd8d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40fd90:	8b fa                	mov    %edx,%edi
40fd92:	f3 aa                	rep stos %al,%es:(%edi)
40fd94:	52                   	push   %edx
40fd95:	e8 e8 98 06 00       	call   0x479682
40fd9a:	83 c4 04             	add    $0x4,%esp
40fd9d:	8b c3                	mov    %ebx,%eax
40fd9f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40fda2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40fda9:	59                   	pop    %ecx
40fdaa:	5f                   	pop    %edi
40fdab:	5e                   	pop    %esi
40fdac:	5b                   	pop    %ebx
40fdad:	8b e5                	mov    %ebp,%esp
40fdaf:	5d                   	pop    %ebp
40fdb0:	c2 04 00             	ret    $0x4
40fdb3:	cc                   	int3
40fdb4:	cc                   	int3
40fdb5:	cc                   	int3
40fdb6:	cc                   	int3
40fdb7:	cc                   	int3
40fdb8:	cc                   	int3
40fdb9:	cc                   	int3
40fdba:	cc                   	int3
40fdbb:	cc                   	int3
40fdbc:	cc                   	int3
40fdbd:	cc                   	int3
40fdbe:	cc                   	int3
40fdbf:	cc                   	int3
40fdc0:	55                   	push   %ebp
40fdc1:	8b ec                	mov    %esp,%ebp
40fdc3:	83 e4 f8             	and    $0xfffffff8,%esp
40fdc6:	83 ec 28             	sub    $0x28,%esp
40fdc9:	8d 0c 24             	lea    (%esp),%ecx
40fdcc:	e8 8f 0d 00 00       	call   0x410b60
40fdd1:	68 60 1d 4c 00       	push   $0x4c1d60
40fdd6:	8d 44 24 04          	lea    0x4(%esp),%eax
40fdda:	50                   	push   %eax
40fddb:	e8 ce b7 05 00       	call   0x46b5ae
40fde0:	cc                   	int3
40fde1:	cc                   	int3
40fde2:	cc                   	int3
40fde3:	cc                   	int3
40fde4:	cc                   	int3
40fde5:	cc                   	int3
40fde6:	cc                   	int3
40fde7:	cc                   	int3
40fde8:	cc                   	int3
40fde9:	cc                   	int3
40fdea:	cc                   	int3
40fdeb:	cc                   	int3
40fdec:	cc                   	int3
40fded:	cc                   	int3
40fdee:	cc                   	int3
40fdef:	cc                   	int3
40fdf0:	32 c0                	xor    %al,%al
40fdf2:	c2 08 00             	ret    $0x8
40fdf5:	cc                   	int3
40fdf6:	cc                   	int3
40fdf7:	cc                   	int3
40fdf8:	cc                   	int3
40fdf9:	cc                   	int3
40fdfa:	cc                   	int3
40fdfb:	cc                   	int3
40fdfc:	cc                   	int3
40fdfd:	cc                   	int3
40fdfe:	cc                   	int3
40fdff:	cc                   	int3
40fe00:	55                   	push   %ebp
40fe01:	8b ec                	mov    %esp,%ebp
40fe03:	83 ec 10             	sub    $0x10,%esp
40fe06:	8b 45 08             	mov    0x8(%ebp),%eax
40fe09:	57                   	push   %edi
40fe0a:	8b 7d 0c             	mov    0xc(%ebp),%edi
40fe0d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40fe10:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fe13:	85 ff                	test   %edi,%edi
40fe15:	0f 84 d9 00 00 00    	je     0x40fef4
40fe1b:	53                   	push   %ebx
40fe1c:	8b 59 0c             	mov    0xc(%ecx),%ebx
40fe1f:	56                   	push   %esi
40fe20:	8b 4b 10             	mov    0x10(%ebx),%ecx
40fe23:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40fe26:	3b f9                	cmp    %ecx,%edi
40fe28:	73 77                	jae    0x40fea1
40fe2a:	8b 53 14             	mov    0x14(%ebx),%edx
40fe2d:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
40fe30:	3b c2                	cmp    %edx,%eax
40fe32:	76 6d                	jbe    0x40fea1
40fe34:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
40fe37:	3b c8                	cmp    %eax,%ecx
40fe39:	77 66                	ja     0x40fea1
40fe3b:	3b d0                	cmp    %eax,%edx
40fe3d:	74 62                	je     0x40fea1
40fe3f:	73 17                	jae    0x40fe58
40fe41:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
40fe45:	ff 75 f4             	push   -0xc(%ebp)
40fe48:	51                   	push   %ecx
40fe49:	8b cb                	mov    %ebx,%ecx
40fe4b:	e8 50 1d 00 00       	call   0x411ba0
40fe50:	8b 45 f0             	mov    -0x10(%ebp),%eax
40fe53:	89 43 10             	mov    %eax,0x10(%ebx)
40fe56:	eb 49                	jmp    0x40fea1
40fe58:	83 f8 10             	cmp    $0x10,%eax
40fe5b:	73 44                	jae    0x40fea1
40fe5d:	83 fa 10             	cmp    $0x10,%edx
40fe60:	72 3f                	jb     0x40fea1
40fe62:	8b 33                	mov    (%ebx),%esi
40fe64:	8d 41 01             	lea    0x1(%ecx),%eax
40fe67:	50                   	push   %eax
40fe68:	56                   	push   %esi
40fe69:	53                   	push   %ebx
40fe6a:	e8 b1 b7 05 00       	call   0x46b620
40fe6f:	8b 4b 14             	mov    0x14(%ebx),%ecx
40fe72:	83 c4 0c             	add    $0xc,%esp
40fe75:	41                   	inc    %ecx
40fe76:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40fe7c:	72 12                	jb     0x40fe90
40fe7e:	8b 56 fc             	mov    -0x4(%esi),%edx
40fe81:	83 c1 23             	add    $0x23,%ecx
40fe84:	2b f2                	sub    %edx,%esi
40fe86:	8d 46 fc             	lea    -0x4(%esi),%eax
40fe89:	83 f8 1f             	cmp    $0x1f,%eax
40fe8c:	77 6f                	ja     0x40fefd
40fe8e:	8b f2                	mov    %edx,%esi
40fe90:	51                   	push   %ecx
40fe91:	56                   	push   %esi
40fe92:	e8 71 9b 05 00       	call   0x469a08
40fe97:	83 c4 08             	add    $0x8,%esp
40fe9a:	c7 43 14 0f 00 00 00 	movl   $0xf,0x14(%ebx)
40fea1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fea4:	8b 49 0c             	mov    0xc(%ecx),%ecx
40fea7:	8b 71 14             	mov    0x14(%ecx),%esi
40feaa:	8b c6                	mov    %esi,%eax
40feac:	8b 51 10             	mov    0x10(%ecx),%edx
40feaf:	2b c2                	sub    %edx,%eax
40feb1:	3b f8                	cmp    %eax,%edi
40feb3:	77 2c                	ja     0x40fee1
40feb5:	8d 04 3a             	lea    (%edx,%edi,1),%eax
40feb8:	89 41 10             	mov    %eax,0x10(%ecx)
40febb:	83 fe 10             	cmp    $0x10,%esi
40febe:	72 02                	jb     0x40fec2
40fec0:	8b 09                	mov    (%ecx),%ecx
40fec2:	57                   	push   %edi
40fec3:	ff 75 f8             	push   -0x8(%ebp)
40fec6:	8d 34 11             	lea    (%ecx,%edx,1),%esi
40fec9:	56                   	push   %esi
40feca:	e8 51 b7 05 00       	call   0x46b620
40fecf:	83 c4 0c             	add    $0xc,%esp
40fed2:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
40fed6:	33 c0                	xor    %eax,%eax
40fed8:	5e                   	pop    %esi
40fed9:	5b                   	pop    %ebx
40feda:	5f                   	pop    %edi
40fedb:	8b e5                	mov    %ebp,%esp
40fedd:	5d                   	pop    %ebp
40fede:	c2 10 00             	ret    $0x10
40fee1:	57                   	push   %edi
40fee2:	ff 75 f8             	push   -0x8(%ebp)
40fee5:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40fee9:	ff 75 fc             	push   -0x4(%ebp)
40feec:	57                   	push   %edi
40feed:	e8 0e 1f 00 00       	call   0x411e00
40fef2:	5e                   	pop    %esi
40fef3:	5b                   	pop    %ebx
40fef4:	33 c0                	xor    %eax,%eax
40fef6:	5f                   	pop    %edi
40fef7:	8b e5                	mov    %ebp,%esp
40fef9:	5d                   	pop    %ebp
40fefa:	c2 10 00             	ret    $0x10
40fefd:	e8 2f 97 06 00       	call   0x479631
40ff02:	cc                   	int3
40ff03:	cc                   	int3
40ff04:	cc                   	int3
40ff05:	cc                   	int3
40ff06:	cc                   	int3
40ff07:	cc                   	int3
40ff08:	cc                   	int3
40ff09:	cc                   	int3
40ff0a:	cc                   	int3
40ff0b:	cc                   	int3
40ff0c:	cc                   	int3
40ff0d:	cc                   	int3
40ff0e:	cc                   	int3
40ff0f:	cc                   	int3
40ff10:	55                   	push   %ebp
40ff11:	8b ec                	mov    %esp,%ebp
40ff13:	6a ff                	push   $0xffffffff
40ff15:	68 7d 81 49 00       	push   $0x49817d
40ff1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ff20:	50                   	push   %eax
40ff21:	83 ec 40             	sub    $0x40,%esp
40ff24:	56                   	push   %esi
40ff25:	57                   	push   %edi
40ff26:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40ff2b:	33 c5                	xor    %ebp,%eax
40ff2d:	50                   	push   %eax
40ff2e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ff31:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ff37:	8b 7d 08             	mov    0x8(%ebp),%edi
40ff3a:	8d 41 0c             	lea    0xc(%ecx),%eax
40ff3d:	50                   	push   %eax
40ff3e:	68 10 50 4c 00       	push   $0x4c5010
40ff43:	68 9c 18 4b 00       	push   $0x4b189c
40ff48:	8b 17                	mov    (%edi),%edx
40ff4a:	8b 72 04             	mov    0x4(%edx),%esi
40ff4d:	8b ce                	mov    %esi,%ecx
40ff4f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40ff55:	8b cf                	mov    %edi,%ecx
40ff57:	ff d6                	call   *%esi
40ff59:	84 c0                	test   %al,%al
40ff5b:	74 13                	je     0x40ff70
40ff5d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ff60:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ff67:	59                   	pop    %ecx
40ff68:	5f                   	pop    %edi
40ff69:	5e                   	pop    %esi
40ff6a:	8b e5                	mov    %ebp,%esp
40ff6c:	5d                   	pop    %ebp
40ff6d:	c2 04 00             	ret    $0x4
40ff70:	68 b0 18 4b 00       	push   $0x4b18b0
40ff75:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ff78:	e8 c3 b0 ff ff       	call   0x40b040
40ff7d:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ff80:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ff87:	50                   	push   %eax
40ff88:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40ff8b:	e8 00 bf ff ff       	call   0x40be90
40ff90:	68 b8 1d 4c 00       	push   $0x4c1db8
40ff95:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40ff98:	50                   	push   %eax
40ff99:	e8 10 b6 05 00       	call   0x46b5ae
40ff9e:	cc                   	int3
40ff9f:	cc                   	int3
40ffa0:	55                   	push   %ebp
40ffa1:	8b ec                	mov    %esp,%ebp
40ffa3:	6a ff                	push   $0xffffffff
40ffa5:	68 7d 81 49 00       	push   $0x49817d
40ffaa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax