406c7d:	5b                   	pop    %ebx
406c7e:	c2 04 00             	ret    $0x4
406c81:	6a 00                	push   $0x0
406c83:	6a 00                	push   $0x0
406c85:	ff 74 24 10          	push   0x10(%esp)
406c89:	ff 74 24 10          	push   0x10(%esp)
406c8d:	ff 15 08 03 4b 00    	call   *0x4b0308
406c93:	c3                   	ret
406c94:	56                   	push   %esi
406c95:	6a 18                	push   $0x18
406c97:	8b f1                	mov    %ecx,%esi
406c99:	6a 00                	push   $0x0
406c9b:	56                   	push   %esi
406c9c:	e8 9f 15 01 00       	call   0x418240
406ca1:	83 c4 0c             	add    $0xc,%esp
406ca4:	8b c6                	mov    %esi,%eax
406ca6:	5e                   	pop    %esi
406ca7:	c3                   	ret
406ca8:	6a 0c                	push   $0xc
406caa:	68 28 a4 48 00       	push   $0x48a428
406caf:	e8 34 15 01 00       	call   0x4181e8
406cb4:	33 f6                	xor    %esi,%esi
406cb6:	89 75 fc             	mov    %esi,-0x4(%ebp)
406cb9:	51                   	push   %ecx
406cba:	ff 15 18 03 4b 00    	call   *0x4b0318
406cc0:	eb 2a                	jmp    0x406cec
406cc2:	8b 45 ec             	mov    -0x14(%ebp),%eax
406cc5:	8b 00                	mov    (%eax),%eax
406cc7:	8b 00                	mov    (%eax),%eax
406cc9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406ccc:	33 c0                	xor    %eax,%eax
406cce:	40                   	inc    %eax
406ccf:	c3                   	ret
406cd0:	8b 65 e8             	mov    -0x18(%ebp),%esp
406cd3:	33 c0                	xor    %eax,%eax
406cd5:	81 7d e4 17 00 00 c0 	cmpl   $0xc0000017,-0x1c(%ebp)
406cdc:	0f 95 c0             	setne  %al
406cdf:	48                   	dec    %eax
406ce0:	25 09 c0 06 00       	and    $0x6c009,%eax
406ce5:	05 05 40 00 80       	add    $0x80004005,%eax
406cea:	8b f0                	mov    %eax,%esi
406cec:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406cf0:	8b c6                	mov    %esi,%eax
406cf2:	e8 2c 15 01 00       	call   0x418223
406cf7:	c3                   	ret
406cf8:	51                   	push   %ecx
406cf9:	ff 15 14 03 4b 00    	call   *0x4b0314
406cff:	33 c0                	xor    %eax,%eax
406d01:	c3                   	ret
406d02:	8b 41 04             	mov    0x4(%ecx),%eax
406d05:	c3                   	ret
406d06:	55                   	push   %ebp
406d07:	8b ec                	mov    %esp,%ebp
406d09:	53                   	push   %ebx
406d0a:	56                   	push   %esi
406d0b:	57                   	push   %edi
406d0c:	ff 15 fc 70 4a 00    	call   *0x4a70fc
406d12:	8b 35 90 03 4b 00    	mov    0x4b0390,%esi
406d18:	33 ff                	xor    %edi,%edi
406d1a:	39 7d 0c             	cmp    %edi,0xc(%ebp)
406d1d:	8b d8                	mov    %eax,%ebx
406d1f:	74 25                	je     0x406d46
406d21:	ff 75 0c             	push   0xc(%ebp)
406d24:	ff d6                	call   *%esi
406d26:	8d 7c 00 02          	lea    0x2(%eax,%eax,1),%edi
406d2a:	8b c7                	mov    %edi,%eax
406d2c:	83 c0 03             	add    $0x3,%eax
406d2f:	83 e0 fc             	and    $0xfffffffc,%eax
406d32:	e8 b9 f9 00 00       	call   0x4166f0
406d37:	8b c4                	mov    %esp,%eax
406d39:	53                   	push   %ebx
406d3a:	57                   	push   %edi
406d3b:	ff 75 0c             	push   0xc(%ebp)
406d3e:	50                   	push   %eax
406d3f:	e8 ab f6 ff ff       	call   0x4063ef
406d44:	8b f8                	mov    %eax,%edi
406d46:	33 c0                	xor    %eax,%eax
406d48:	39 45 08             	cmp    %eax,0x8(%ebp)
406d4b:	74 23                	je     0x406d70
406d4d:	ff 75 08             	push   0x8(%ebp)
406d50:	ff d6                	call   *%esi
406d52:	8d 74 00 02          	lea    0x2(%eax,%eax,1),%esi
406d56:	8b c6                	mov    %esi,%eax
406d58:	83 c0 03             	add    $0x3,%eax
406d5b:	83 e0 fc             	and    $0xfffffffc,%eax
406d5e:	e8 8d f9 00 00       	call   0x4166f0
406d63:	8b c4                	mov    %esp,%eax
406d65:	53                   	push   %ebx
406d66:	56                   	push   %esi
406d67:	ff 75 08             	push   0x8(%ebp)
406d6a:	50                   	push   %eax
406d6b:	e8 7f f6 ff ff       	call   0x4063ef
406d70:	57                   	push   %edi
406d71:	50                   	push   %eax
406d72:	ff 15 94 03 4b 00    	call   *0x4b0394
406d78:	8d 65 f4             	lea    -0xc(%ebp),%esp
406d7b:	5f                   	pop    %edi
406d7c:	5e                   	pop    %esi
406d7d:	5b                   	pop    %ebx
406d7e:	5d                   	pop    %ebp
406d7f:	c2 08 00             	ret    $0x8
406d82:	ff 35 8c 03 4b 00    	push   0x4b038c
406d88:	68 06 6d 40 00       	push   $0x406d06
406d8d:	68 e8 70 4a 00       	push   $0x4a70e8
406d92:	e8 3f a4 ff ff       	call   0x4011d6
406d97:	83 c4 0c             	add    $0xc,%esp
406d9a:	ff 25 e8 70 4a 00    	jmp    *0x4a70e8
406da0:	55                   	push   %ebp
406da1:	8b ec                	mov    %esp,%ebp
406da3:	53                   	push   %ebx
406da4:	56                   	push   %esi
406da5:	57                   	push   %edi
406da6:	ff 15 fc 70 4a 00    	call   *0x4a70fc
406dac:	33 ff                	xor    %edi,%edi
406dae:	39 7d 08             	cmp    %edi,0x8(%ebp)
406db1:	8b d8                	mov    %eax,%ebx
406db3:	74 29                	je     0x406dde
406db5:	ff 75 08             	push   0x8(%ebp)
406db8:	ff 15 90 03 4b 00    	call   *0x4b0390
406dbe:	8d 74 00 02          	lea    0x2(%eax,%eax,1),%esi
406dc2:	8b c6                	mov    %esi,%eax
406dc4:	83 c0 03             	add    $0x3,%eax
406dc7:	83 e0 fc             	and    $0xfffffffc,%eax
406dca:	e8 21 f9 00 00       	call   0x4166f0
406dcf:	8b c4                	mov    %esp,%eax
406dd1:	53                   	push   %ebx
406dd2:	56                   	push   %esi
406dd3:	ff 75 08             	push   0x8(%ebp)
406dd6:	50                   	push   %eax
406dd7:	e8 13 f6 ff ff       	call   0x4063ef
406ddc:	8b f8                	mov    %eax,%edi
406dde:	57                   	push   %edi
406ddf:	ff 15 b4 08 4b 00    	call   *0x4b08b4
406de5:	85 ff                	test   %edi,%edi
406de7:	75 04                	jne    0x406ded
406de9:	33 c0                	xor    %eax,%eax
406deb:	eb 23                	jmp    0x406e10
406ded:	57                   	push   %edi
406dee:	ff 15 88 03 4b 00    	call   *0x4b0388
406df4:	8b f0                	mov    %eax,%esi
406df6:	46                   	inc    %esi
406df7:	8d 04 36             	lea    (%esi,%esi,1),%eax
406dfa:	83 c0 03             	add    $0x3,%eax
406dfd:	83 e0 fc             	and    $0xfffffffc,%eax
406e00:	e8 eb f8 00 00       	call   0x4166f0
406e05:	8b c4                	mov    %esp,%eax
406e07:	53                   	push   %ebx
406e08:	56                   	push   %esi
406e09:	57                   	push   %edi
406e0a:	50                   	push   %eax
406e0b:	e8 a8 f5 ff ff       	call   0x4063b8
406e10:	50                   	push   %eax
406e11:	ff 75 08             	push   0x8(%ebp)
406e14:	e8 3e f9 00 00       	call   0x416757
406e19:	8b 45 08             	mov    0x8(%ebp),%eax
406e1c:	59                   	pop    %ecx
406e1d:	59                   	pop    %ecx
406e1e:	8d 65 f4             	lea    -0xc(%ebp),%esp
406e21:	5f                   	pop    %edi
406e22:	5e                   	pop    %esi
406e23:	5b                   	pop    %ebx
406e24:	5d                   	pop    %ebp
406e25:	c2 04 00             	ret    $0x4
406e28:	ff 35 b0 08 4b 00    	push   0x4b08b0
406e2e:	68 a0 6d 40 00       	push   $0x406da0
406e33:	68 ec 70 4a 00       	push   $0x4a70ec
406e38:	e8 99 a3 ff ff       	call   0x4011d6
406e3d:	83 c4 0c             	add    $0xc,%esp
406e40:	ff 25 ec 70 4a 00    	jmp    *0x4a70ec
406e46:	55                   	push   %ebp
406e47:	8b ec                	mov    %esp,%ebp
406e49:	53                   	push   %ebx
406e4a:	56                   	push   %esi
406e4b:	57                   	push   %edi
406e4c:	ff 15 fc 70 4a 00    	call   *0x4a70fc
406e52:	33 ff                	xor    %edi,%edi
406e54:	39 7d 08             	cmp    %edi,0x8(%ebp)
406e57:	8b d8                	mov    %eax,%ebx
406e59:	74 29                	je     0x406e84
406e5b:	ff 75 08             	push   0x8(%ebp)
406e5e:	ff 15 90 03 4b 00    	call   *0x4b0390
406e64:	8d 74 00 02          	lea    0x2(%eax,%eax,1),%esi
406e68:	8b c6                	mov    %esi,%eax
406e6a:	83 c0 03             	add    $0x3,%eax
406e6d:	83 e0 fc             	and    $0xfffffffc,%eax
406e70:	e8 7b f8 00 00       	call   0x4166f0
406e75:	8b c4                	mov    %esp,%eax
406e77:	53                   	push   %ebx
406e78:	56                   	push   %esi
406e79:	ff 75 08             	push   0x8(%ebp)
406e7c:	50                   	push   %eax
406e7d:	e8 6d f5 ff ff       	call   0x4063ef
406e82:	8b f8                	mov    %eax,%edi
406e84:	57                   	push   %edi
406e85:	ff 15 ac 08 4b 00    	call   *0x4b08ac
406e8b:	85 ff                	test   %edi,%edi
406e8d:	75 04                	jne    0x406e93
406e8f:	33 c0                	xor    %eax,%eax
406e91:	eb 23                	jmp    0x406eb6
406e93:	57                   	push   %edi
406e94:	ff 15 88 03 4b 00    	call   *0x4b0388
406e9a:	8b f0                	mov    %eax,%esi
406e9c:	46                   	inc    %esi
406e9d:	8d 04 36             	lea    (%esi,%esi,1),%eax
406ea0:	83 c0 03             	add    $0x3,%eax
406ea3:	83 e0 fc             	and    $0xfffffffc,%eax
406ea6:	e8 45 f8 00 00       	call   0x4166f0
406eab:	8b c4                	mov    %esp,%eax
406ead:	53                   	push   %ebx
406eae:	56                   	push   %esi
406eaf:	57                   	push   %edi
406eb0:	50                   	push   %eax
406eb1:	e8 02 f5 ff ff       	call   0x4063b8
406eb6:	50                   	push   %eax
406eb7:	ff 75 08             	push   0x8(%ebp)
406eba:	e8 98 f8 00 00       	call   0x416757
406ebf:	8b 45 08             	mov    0x8(%ebp),%eax
406ec2:	59                   	pop    %ecx
406ec3:	59                   	pop    %ecx
406ec4:	8d 65 f4             	lea    -0xc(%ebp),%esp
406ec7:	5f                   	pop    %edi
406ec8:	5e                   	pop    %esi
406ec9:	5b                   	pop    %ebx
406eca:	5d                   	pop    %ebp
406ecb:	c2 04 00             	ret    $0x4
406ece:	ff 35 a8 08 4b 00    	push   0x4b08a8
406ed4:	68 46 6e 40 00       	push   $0x406e46
406ed9:	68 f0 70 4a 00       	push   $0x4a70f0
406ede:	e8 f3 a2 ff ff       	call   0x4011d6
406ee3:	83 c4 0c             	add    $0xc,%esp
406ee6:	ff 25 f0 70 4a 00    	jmp    *0x4a70f0
406eec:	8b 44 24 04          	mov    0x4(%esp),%eax
406ef0:	85 c0                	test   %eax,%eax
406ef2:	74 05                	je     0x406ef9
406ef4:	83 38 2c             	cmpl   $0x2c,(%eax)
406ef7:	74 07                	je     0x406f00
406ef9:	b8 57 00 07 80       	mov    $0x80070057,%eax
406efe:	eb 0c                	jmp    0x406f0c
406f00:	83 60 1c 00          	andl   $0x0,0x1c(%eax)
406f04:	8d 48 04             	lea    0x4(%eax),%ecx
406f07:	e8 9c fd ff ff       	call   0x406ca8
406f0c:	c2 04 00             	ret    $0x4
406f0f:	ff 31                	push   (%ecx)
406f11:	ff 15 08 05 4b 00    	call   *0x4b0508
406f17:	c3                   	ret
406f18:	8b c1                	mov    %ecx,%eax
406f1a:	33 c9                	xor    %ecx,%ecx
406f1c:	89 08                	mov    %ecx,(%eax)
406f1e:	89 48 04             	mov    %ecx,0x4(%eax)
406f21:	89 48 08             	mov    %ecx,0x8(%eax)
406f24:	c3                   	ret
406f25:	8b 41 04             	mov    0x4(%ecx),%eax
406f28:	c3                   	ret
406f29:	56                   	push   %esi
406f2a:	8b f1                	mov    %ecx,%esi
406f2c:	8b 06                	mov    (%esi),%eax
406f2e:	85 c0                	test   %eax,%eax
406f30:	74 0a                	je     0x406f3c
406f32:	50                   	push   %eax
406f33:	e8 66 f4 00 00       	call   0x41639e
406f38:	83 26 00             	andl   $0x0,(%esi)
406f3b:	59                   	pop    %ecx
406f3c:	83 66 04 00          	andl   $0x0,0x4(%esi)
406f40:	83 66 08 00          	andl   $0x0,0x8(%esi)
406f44:	5e                   	pop    %esi
406f45:	c3                   	ret
406f46:	8b 44 24 04          	mov    0x4(%esp),%eax
406f4a:	85 c0                	test   %eax,%eax
406f4c:	7c 0d                	jl     0x406f5b
406f4e:	3b 41 04             	cmp    0x4(%ecx),%eax
406f51:	7d 08                	jge    0x406f5b
406f53:	8b 09                	mov    (%ecx),%ecx
406f55:	8d 04 41             	lea    (%ecx,%eax,2),%eax
406f58:	c2 04 00             	ret    $0x4
406f5b:	6a 00                	push   $0x0
406f5d:	6a 00                	push   $0x0
406f5f:	6a 01                	push   $0x1
406f61:	68 8c 00 00 c0       	push   $0xc000008c
406f66:	ff 15 08 03 4b 00    	call   *0x4b0308
406f6c:	cc                   	int3
406f6d:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
406f72:	56                   	push   %esi
406f73:	8b f1                	mov    %ecx,%esi
406f75:	75 05                	jne    0x406f7c
406f77:	83 26 00             	andl   $0x0,(%esi)
406f7a:	eb 53                	jmp    0x406fcf
406f7c:	53                   	push   %ebx
406f7d:	57                   	push   %edi
406f7e:	ff 74 24 10          	push   0x10(%esp)
406f82:	ff 15 90 03 4b 00    	call   *0x4b0390
406f88:	8b f8                	mov    %eax,%edi
406f8a:	47                   	inc    %edi
406f8b:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
406f8e:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
406f94:	7e 17                	jle    0x406fad
406f96:	53                   	push   %ebx
406f97:	e8 f0 f3 00 00       	call   0x41638c
406f9c:	85 c0                	test   %eax,%eax
406f9e:	59                   	pop    %ecx
406f9f:	89 06                	mov    %eax,(%esi)
406fa1:	75 0a                	jne    0x406fad
406fa3:	68 0e 00 07 80       	push   $0x8007000e
406fa8:	e8 3d a2 ff ff       	call   0x4011ea
406fad:	33 c0                	xor    %eax,%eax
406faf:	50                   	push   %eax
406fb0:	50                   	push   %eax
406fb1:	53                   	push   %ebx
406fb2:	ff 36                	push   (%esi)
406fb4:	57                   	push   %edi
406fb5:	ff 74 24 24          	push   0x24(%esp)
406fb9:	50                   	push   %eax
406fba:	ff 74 24 30          	push   0x30(%esp)
406fbe:	ff 15 a0 03 4b 00    	call   *0x4b03a0
406fc4:	85 c0                	test   %eax,%eax
406fc6:	75 05                	jne    0x406fcd
406fc8:	e8 38 a0 ff ff       	call   0x401005
406fcd:	5f                   	pop    %edi
406fce:	5b                   	pop    %ebx
406fcf:	5e                   	pop    %esi
406fd0:	c2 08 00             	ret    $0x8
406fd3:	56                   	push   %esi
406fd4:	8b 74 24 08          	mov    0x8(%esp),%esi
406fd8:	85 f6                	test   %esi,%esi
406fda:	74 0b                	je     0x406fe7
406fdc:	8b 06                	mov    (%esi),%eax
406fde:	85 c0                	test   %eax,%eax
406fe0:	74 4b                	je     0x40702d
406fe2:	83 f8 2c             	cmp    $0x2c,%eax
406fe5:	74 07                	je     0x406fee
406fe7:	b8 57 00 07 80       	mov    $0x80070057,%eax
406fec:	eb 41                	jmp    0x40702f
406fee:	57                   	push   %edi
406fef:	33 ff                	xor    %edi,%edi
406ff1:	39 7e 24             	cmp    %edi,0x24(%esi)
406ff4:	7e 21                	jle    0x407017
406ff6:	53                   	push   %ebx
406ff7:	8d 5e 20             	lea    0x20(%esi),%ebx
406ffa:	57                   	push   %edi
406ffb:	8b cb                	mov    %ebx,%ecx
406ffd:	e8 44 ff ff ff       	call   0x406f46
407002:	0f b7 00             	movzwl (%eax),%eax
407005:	ff 74 24 14          	push   0x14(%esp)
407009:	50                   	push   %eax
40700a:	ff 15 5c 08 4b 00    	call   *0x4b085c
407010:	47                   	inc    %edi
407011:	3b 7e 24             	cmp    0x24(%esi),%edi
407014:	7c e4                	jl     0x406ffa
407016:	5b                   	pop    %ebx
407017:	8d 4e 20             	lea    0x20(%esi),%ecx
40701a:	e8 0a ff ff ff       	call   0x406f29