40cc18:	c9                   	leave
40cc19:	c2 0c 00             	ret    $0xc
40cc1c:	55                   	push   %ebp
40cc1d:	8b ec                	mov    %esp,%ebp
40cc1f:	a1 68 12 43 00       	mov    0x431268,%eax
40cc24:	3d 7d 3a 40 00       	cmp    $0x403a7d,%eax
40cc29:	74 1f                	je     0x40cc4a
40cc2b:	64 8b 0d 18 00 00 00 	mov    %fs:0x18,%ecx
40cc32:	8b 45 08             	mov    0x8(%ebp),%eax
40cc35:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
40cc3b:	3b 41 08             	cmp    0x8(%ecx),%eax
40cc3e:	72 05                	jb     0x40cc45
40cc40:	3b 41 04             	cmp    0x4(%ecx),%eax
40cc43:	76 05                	jbe    0x40cc4a
40cc45:	6a 0d                	push   $0xd
40cc47:	59                   	pop    %ecx
40cc48:	cd 29                	int    $0x29
40cc4a:	5d                   	pop    %ebp
40cc4b:	c3                   	ret
40cc4c:	cc                   	int3
40cc4d:	cc                   	int3
40cc4e:	cc                   	int3
40cc4f:	cc                   	int3
40cc50:	53                   	push   %ebx
40cc51:	56                   	push   %esi
40cc52:	57                   	push   %edi
40cc53:	8b 54 24 10          	mov    0x10(%esp),%edx
40cc57:	8b 44 24 14          	mov    0x14(%esp),%eax
40cc5b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40cc5f:	55                   	push   %ebp
40cc60:	52                   	push   %edx
40cc61:	50                   	push   %eax
40cc62:	51                   	push   %ecx
40cc63:	51                   	push   %ecx
40cc64:	68 f0 cc 40 00       	push   $0x40ccf0
40cc69:	64 ff 35 00 00 00 00 	push   %fs:0x0
40cc70:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
40cc75:	33 c4                	xor    %esp,%eax
40cc77:	89 44 24 08          	mov    %eax,0x8(%esp)
40cc7b:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40cc82:	8b 44 24 30          	mov    0x30(%esp),%eax
40cc86:	8b 58 08             	mov    0x8(%eax),%ebx
40cc89:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40cc8d:	33 19                	xor    (%ecx),%ebx
40cc8f:	8b 70 0c             	mov    0xc(%eax),%esi
40cc92:	83 fe fe             	cmp    $0xfffffffe,%esi
40cc95:	0f 84 46 00 00 00    	je     0x40cce1
40cc9b:	8b 54 24 34          	mov    0x34(%esp),%edx
40cc9f:	83 fa fe             	cmp    $0xfffffffe,%edx
40cca2:	74 08                	je     0x40ccac
40cca4:	3b f2                	cmp    %edx,%esi
40cca6:	0f 86 35 00 00 00    	jbe    0x40cce1
40ccac:	8d 34 76             	lea    (%esi,%esi,2),%esi
40ccaf:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
40ccb3:	8b 0b                	mov    (%ebx),%ecx
40ccb5:	89 48 0c             	mov    %ecx,0xc(%eax)
40ccb8:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
40ccbc:	0f 85 c0 ff ff ff    	jne    0x40cc82
40ccc2:	68 01 01 00 00       	push   $0x101
40ccc7:	8b 43 08             	mov    0x8(%ebx),%eax
40ccca:	e8 d1 03 00 00       	call   0x40d0a0
40cccf:	b9 01 00 00 00       	mov    $0x1,%ecx
40ccd4:	8b 43 08             	mov    0x8(%ebx),%eax
40ccd7:	e8 e4 03 00 00       	call   0x40d0c0
40ccdc:	e9 a1 ff ff ff       	jmp    0x40cc82
40cce1:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40cce8:	83 c4 18             	add    $0x18,%esp
40cceb:	5f                   	pop    %edi
40ccec:	5e                   	pop    %esi
40cced:	5b                   	pop    %ebx
40ccee:	c3                   	ret
40ccef:	cc                   	int3
40ccf0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40ccf4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
40ccfb:	b8 01 00 00 00       	mov    $0x1,%eax
40cd00:	74 33                	je     0x40cd35
40cd02:	8b 44 24 08          	mov    0x8(%esp),%eax
40cd06:	8b 48 08             	mov    0x8(%eax),%ecx
40cd09:	33 c8                	xor    %eax,%ecx
40cd0b:	e8 97 cf ff ff       	call   0x409ca7
40cd10:	55                   	push   %ebp
40cd11:	8b 68 18             	mov    0x18(%eax),%ebp
40cd14:	ff 70 0c             	push   0xc(%eax)
40cd17:	ff 70 10             	push   0x10(%eax)
40cd1a:	ff 70 14             	push   0x14(%eax)
40cd1d:	e8 2e ff ff ff       	call   0x40cc50
40cd22:	83 c4 0c             	add    $0xc,%esp
40cd25:	5d                   	pop    %ebp
40cd26:	8b 44 24 08          	mov    0x8(%esp),%eax
40cd2a:	8b 54 24 10          	mov    0x10(%esp),%edx
40cd2e:	89 02                	mov    %eax,(%edx)
40cd30:	b8 03 00 00 00       	mov    $0x3,%eax
40cd35:	c3                   	ret
40cd36:	cc                   	int3
40cd37:	cc                   	int3
40cd38:	cc                   	int3
40cd39:	cc                   	int3
40cd3a:	cc                   	int3
40cd3b:	cc                   	int3
40cd3c:	cc                   	int3
40cd3d:	cc                   	int3
40cd3e:	cc                   	int3
40cd3f:	cc                   	int3
40cd40:	55                   	push   %ebp
40cd41:	56                   	push   %esi
40cd42:	57                   	push   %edi
40cd43:	53                   	push   %ebx
40cd44:	8b ea                	mov    %edx,%ebp
40cd46:	33 c0                	xor    %eax,%eax
40cd48:	33 db                	xor    %ebx,%ebx
40cd4a:	33 d2                	xor    %edx,%edx
40cd4c:	33 f6                	xor    %esi,%esi
40cd4e:	33 ff                	xor    %edi,%edi
40cd50:	ff d1                	call   *%ecx
40cd52:	5b                   	pop    %ebx
40cd53:	5f                   	pop    %edi
40cd54:	5e                   	pop    %esi
40cd55:	5d                   	pop    %ebp
40cd56:	c3                   	ret
40cd57:	cc                   	int3
40cd58:	cc                   	int3
40cd59:	cc                   	int3
40cd5a:	cc                   	int3
40cd5b:	cc                   	int3
40cd5c:	cc                   	int3
40cd5d:	cc                   	int3
40cd5e:	cc                   	int3
40cd5f:	cc                   	int3
40cd60:	8b ea                	mov    %edx,%ebp
40cd62:	8b f1                	mov    %ecx,%esi
40cd64:	8b c1                	mov    %ecx,%eax
40cd66:	6a 01                	push   $0x1
40cd68:	e8 33 03 00 00       	call   0x40d0a0
40cd6d:	33 c0                	xor    %eax,%eax
40cd6f:	33 db                	xor    %ebx,%ebx
40cd71:	33 c9                	xor    %ecx,%ecx
40cd73:	33 d2                	xor    %edx,%edx
40cd75:	33 ff                	xor    %edi,%edi
40cd77:	ff e6                	jmp    *%esi
40cd79:	cc                   	int3
40cd7a:	cc                   	int3
40cd7b:	cc                   	int3
40cd7c:	cc                   	int3
40cd7d:	cc                   	int3
40cd7e:	cc                   	int3
40cd7f:	cc                   	int3
40cd80:	55                   	push   %ebp
40cd81:	8b ec                	mov    %esp,%ebp
40cd83:	53                   	push   %ebx
40cd84:	56                   	push   %esi
40cd85:	57                   	push   %edi
40cd86:	6a 00                	push   $0x0
40cd88:	52                   	push   %edx
40cd89:	68 95 cd 40 00       	push   $0x40cd95
40cd8e:	51                   	push   %ecx
40cd8f:	ff 15 d4 10 43 00    	call   *0x4310d4
40cd95:	5f                   	pop    %edi
40cd96:	5e                   	pop    %esi
40cd97:	5b                   	pop    %ebx
40cd98:	5d                   	pop    %ebp
40cd99:	c3                   	ret
40cd9a:	cc                   	int3
40cd9b:	cc                   	int3
40cd9c:	cc                   	int3
40cd9d:	cc                   	int3
40cd9e:	cc                   	int3
40cd9f:	cc                   	int3
40cda0:	55                   	push   %ebp
40cda1:	8b 6c 24 08          	mov    0x8(%esp),%ebp
40cda5:	52                   	push   %edx
40cda6:	51                   	push   %ecx
40cda7:	ff 74 24 14          	push   0x14(%esp)
40cdab:	e8 a0 fe ff ff       	call   0x40cc50
40cdb0:	83 c4 0c             	add    $0xc,%esp
40cdb3:	5d                   	pop    %ebp
40cdb4:	c2 08 00             	ret    $0x8
40cdb7:	56                   	push   %esi
40cdb8:	57                   	push   %edi
40cdb9:	bf 08 f6 43 00       	mov    $0x43f608,%edi
40cdbe:	33 f6                	xor    %esi,%esi
40cdc0:	6a 00                	push   $0x0
40cdc2:	68 a0 0f 00 00       	push   $0xfa0
40cdc7:	57                   	push   %edi
40cdc8:	e8 2f 02 00 00       	call   0x40cffc
40cdcd:	83 c4 0c             	add    $0xc,%esp
40cdd0:	85 c0                	test   %eax,%eax
40cdd2:	74 15                	je     0x40cde9
40cdd4:	ff 05 20 f6 43 00    	incl   0x43f620
40cdda:	83 c6 18             	add    $0x18,%esi
40cddd:	83 c7 18             	add    $0x18,%edi
40cde0:	83 fe 18             	cmp    $0x18,%esi
40cde3:	72 db                	jb     0x40cdc0
40cde5:	b0 01                	mov    $0x1,%al
40cde7:	eb 07                	jmp    0x40cdf0
40cde9:	e8 05 00 00 00       	call   0x40cdf3
40cdee:	32 c0                	xor    %al,%al
40cdf0:	5f                   	pop    %edi
40cdf1:	5e                   	pop    %esi
40cdf2:	c3                   	ret
40cdf3:	56                   	push   %esi
40cdf4:	8b 35 20 f6 43 00    	mov    0x43f620,%esi
40cdfa:	85 f6                	test   %esi,%esi
40cdfc:	74 20                	je     0x40ce1e
40cdfe:	6b c6 18             	imul   $0x18,%esi,%eax
40ce01:	57                   	push   %edi
40ce02:	8d b8 f0 f5 43 00    	lea    0x43f5f0(%eax),%edi
40ce08:	57                   	push   %edi
40ce09:	ff 15 1c 11 43 00    	call   *0x43111c
40ce0f:	ff 0d 20 f6 43 00    	decl   0x43f620
40ce15:	83 ef 18             	sub    $0x18,%edi
40ce18:	83 ee 01             	sub    $0x1,%esi
40ce1b:	75 eb                	jne    0x40ce08
40ce1d:	5f                   	pop    %edi
40ce1e:	b0 01                	mov    $0x1,%al
40ce20:	5e                   	pop    %esi
40ce21:	c3                   	ret
40ce22:	55                   	push   %ebp
40ce23:	8b ec                	mov    %esp,%ebp
40ce25:	51                   	push   %ecx
40ce26:	51                   	push   %ecx
40ce27:	8b 45 08             	mov    0x8(%ebp),%eax
40ce2a:	57                   	push   %edi
40ce2b:	8d 04 85 6c f6 43 00 	lea    0x43f66c(,%eax,4),%eax
40ce32:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ce35:	8b 00                	mov    (%eax),%eax
40ce37:	90                   	nop
40ce38:	83 cf ff             	or     $0xffffffff,%edi
40ce3b:	3b c7                	cmp    %edi,%eax
40ce3d:	75 04                	jne    0x40ce43
40ce3f:	33 c0                	xor    %eax,%eax
40ce41:	eb 56                	jmp    0x40ce99
40ce43:	85 c0                	test   %eax,%eax
40ce45:	75 52                	jne    0x40ce99
40ce47:	53                   	push   %ebx
40ce48:	8b 5d 10             	mov    0x10(%ebp),%ebx
40ce4b:	56                   	push   %esi
40ce4c:	eb 3d                	jmp    0x40ce8b
40ce4e:	8b 0b                	mov    (%ebx),%ecx
40ce50:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40ce53:	8d 04 8d 60 f6 43 00 	lea    0x43f660(,%ecx,4),%eax
40ce5a:	8b 30                	mov    (%eax),%esi
40ce5c:	90                   	nop
40ce5d:	85 f6                	test   %esi,%esi
40ce5f:	74 06                	je     0x40ce67
40ce61:	3b f7                	cmp    %edi,%esi
40ce63:	75 46                	jne    0x40ceab
40ce65:	eb 21                	jmp    0x40ce88
40ce67:	ff 34 8d e8 21 43 00 	push   0x4321e8(,%ecx,4)
40ce6e:	e8 4f 00 00 00       	call   0x40cec2
40ce73:	8b 55 fc             	mov    -0x4(%ebp),%edx
40ce76:	8b f0                	mov    %eax,%esi
40ce78:	59                   	pop    %ecx
40ce79:	8d 0c 95 60 f6 43 00 	lea    0x43f660(,%edx,4),%ecx
40ce80:	85 f6                	test   %esi,%esi
40ce82:	75 18                	jne    0x40ce9c
40ce84:	8b c7                	mov    %edi,%eax
40ce86:	87 01                	xchg   %eax,(%ecx)
40ce88:	83 c3 04             	add    $0x4,%ebx
40ce8b:	3b 5d 14             	cmp    0x14(%ebp),%ebx
40ce8e:	75 be                	jne    0x40ce4e
40ce90:	8b 55 f8             	mov    -0x8(%ebp),%edx
40ce93:	87 3a                	xchg   %edi,(%edx)
40ce95:	33 c0                	xor    %eax,%eax
40ce97:	5e                   	pop    %esi
40ce98:	5b                   	pop    %ebx
40ce99:	5f                   	pop    %edi
40ce9a:	c9                   	leave
40ce9b:	c3                   	ret
40ce9c:	8b c6                	mov    %esi,%eax
40ce9e:	87 01                	xchg   %eax,(%ecx)
40cea0:	85 c0                	test   %eax,%eax
40cea2:	74 07                	je     0x40ceab
40cea4:	56                   	push   %esi
40cea5:	ff 15 44 11 43 00    	call   *0x431144
40ceab:	ff 75 0c             	push   0xc(%ebp)
40ceae:	56                   	push   %esi
40ceaf:	ff 15 40 11 43 00    	call   *0x431140
40ceb5:	85 c0                	test   %eax,%eax
40ceb7:	74 d7                	je     0x40ce90
40ceb9:	8b 55 f8             	mov    -0x8(%ebp),%edx
40cebc:	8b c8                	mov    %eax,%ecx
40cebe:	87 0a                	xchg   %ecx,(%edx)
40cec0:	eb d5                	jmp    0x40ce97
40cec2:	55                   	push   %ebp
40cec3:	8b ec                	mov    %esp,%ebp
40cec5:	68 00 08 00 00       	push   $0x800
40ceca:	6a 00                	push   $0x0
40cecc:	ff 75 08             	push   0x8(%ebp)
40cecf:	ff 15 b4 10 43 00    	call   *0x4310b4
40ced5:	85 c0                	test   %eax,%eax
40ced7:	75 32                	jne    0x40cf0b
40ced9:	ff 15 08 11 43 00    	call   *0x431108
40cedf:	83 f8 57             	cmp    $0x57,%eax
40cee2:	75 25                	jne    0x40cf09
40cee4:	6a 07                	push   $0x7
40cee6:	68 80 22 43 00       	push   $0x432280
40ceeb:	ff 75 08             	push   0x8(%ebp)
40ceee:	e8 8c b7 00 00       	call   0x41867f
40cef3:	83 c4 0c             	add    $0xc,%esp
40cef6:	85 c0                	test   %eax,%eax
40cef8:	74 0f                	je     0x40cf09
40cefa:	6a 00                	push   $0x0
40cefc:	6a 00                	push   $0x0
40cefe:	ff 75 08             	push   0x8(%ebp)
40cf01:	ff 15 b4 10 43 00    	call   *0x4310b4
40cf07:	5d                   	pop    %ebp
40cf08:	c3                   	ret
40cf09:	33 c0                	xor    %eax,%eax
40cf0b:	5d                   	pop    %ebp
40cf0c:	c3                   	ret
40cf0d:	55                   	push   %ebp
40cf0e:	8b ec                	mov    %esp,%ebp
40cf10:	56                   	push   %esi
40cf11:	68 98 22 43 00       	push   $0x432298
40cf16:	68 90 22 43 00       	push   $0x432290
40cf1b:	68 98 22 43 00       	push   $0x432298
40cf20:	6a 00                	push   $0x0
40cf22:	e8 fb fe ff ff       	call   0x40ce22
40cf27:	8b f0                	mov    %eax,%esi
40cf29:	83 c4 10             	add    $0x10,%esp
40cf2c:	85 f6                	test   %esi,%esi
40cf2e:	74 10                	je     0x40cf40
40cf30:	ff 75 08             	push   0x8(%ebp)
40cf33:	8b ce                	mov    %esi,%ecx
40cf35:	ff 15 68 12 43 00    	call   *0x431268
40cf3b:	ff d6                	call   *%esi
40cf3d:	5e                   	pop    %esi
40cf3e:	5d                   	pop    %ebp
40cf3f:	c3                   	ret
40cf40:	5e                   	pop    %esi
40cf41:	5d                   	pop    %ebp
40cf42:	ff 25 c4 10 43 00    	jmp    *0x4310c4
40cf48:	55                   	push   %ebp
40cf49:	8b ec                	mov    %esp,%ebp
40cf4b:	56                   	push   %esi
40cf4c:	68 ac 22 43 00       	push   $0x4322ac
40cf51:	68 a4 22 43 00       	push   $0x4322a4
40cf56:	68 ac 22 43 00       	push   $0x4322ac
40cf5b:	6a 01                	push   $0x1
40cf5d:	e8 c0 fe ff ff       	call   0x40ce22
40cf62:	83 c4 10             	add    $0x10,%esp
40cf65:	8b f0                	mov    %eax,%esi
40cf67:	ff 75 08             	push   0x8(%ebp)
40cf6a:	85 f6                	test   %esi,%esi
40cf6c:	74 0c                	je     0x40cf7a
40cf6e:	8b ce                	mov    %esi,%ecx
40cf70:	ff 15 68 12 43 00    	call   *0x431268
40cf76:	ff d6                	call   *%esi
40cf78:	eb 06                	jmp    0x40cf80
40cf7a:	ff 15 b8 10 43 00    	call   *0x4310b8