40ce1f:	85 f6                	test   %esi,%esi
40ce21:	0f 84 dd 00 00 00    	je     0x40cf04
40ce27:	8d 83 04 02 00 00    	lea    0x204(%ebx),%eax
40ce2d:	33 ff                	xor    %edi,%edi
40ce2f:	89 85 f8 fd ff ff    	mov    %eax,-0x208(%ebp)
40ce35:	68 fe 00 00 00       	push   $0xfe
40ce3a:	8b d0                	mov    %eax,%edx
40ce3c:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
40ce42:	e8 af d5 ff ff       	call   0x40a3f6
40ce47:	68 a4 19 40 00       	push   $0x4019a4
40ce4c:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40ce52:	50                   	push   %eax
40ce53:	eb 7c                	jmp    0x40ced1
40ce55:	51                   	push   %ecx
40ce56:	6a 01                	push   $0x1
40ce58:	50                   	push   %eax
40ce59:	68 00 00 02 00       	push   $0x20000
40ce5e:	33 d2                	xor    %edx,%edx
40ce60:	8b ce                	mov    %esi,%ecx
40ce62:	e8 79 bb ff ff       	call   0x4089e0
40ce67:	8b d8                	mov    %eax,%ebx
40ce69:	83 fb ff             	cmp    $0xffffffff,%ebx
40ce6c:	75 24                	jne    0x40ce92
40ce6e:	33 d2                	xor    %edx,%edx
40ce70:	8b ce                	mov    %esi,%ecx
40ce72:	e8 14 be ff ff       	call   0x408c8b
40ce77:	8b d8                	mov    %eax,%ebx
40ce79:	83 fb ff             	cmp    $0xffffffff,%ebx
40ce7c:	0f 84 8f 00 00 00    	je     0x40cf11
40ce82:	51                   	push   %ecx
40ce83:	ff b5 f4 fd ff ff    	push   -0x20c(%ebp)
40ce89:	8b d3                	mov    %ebx,%edx
40ce8b:	8b ce                	mov    %esi,%ecx
40ce8d:	e8 a8 be ff ff       	call   0x408d3a
40ce92:	6a 00                	push   $0x0
40ce94:	8b d3                	mov    %ebx,%edx
40ce96:	8b ce                	mov    %esi,%ecx
40ce98:	e8 79 b9 ff ff       	call   0x408816
40ce9d:	85 c0                	test   %eax,%eax
40ce9f:	74 13                	je     0x40ceb4
40cea1:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
40cea8:	75 0a                	jne    0x40ceb4
40ceaa:	8b 48 0c             	mov    0xc(%eax),%ecx
40cead:	8b d7                	mov    %edi,%edx
40ceaf:	e8 b1 bc ff ff       	call   0x408b65
40ceb4:	8b 85 f8 fd ff ff    	mov    -0x208(%ebp),%eax
40ceba:	8b d3                	mov    %ebx,%edx
40cebc:	51                   	push   %ecx
40cebd:	05 00 fe ff ff       	add    $0xfffffe00,%eax
40cec2:	8b ce                	mov    %esi,%ecx
40cec4:	50                   	push   %eax
40cec5:	e8 70 be ff ff       	call   0x408d3a
40ceca:	68 a4 19 40 00       	push   $0x4019a4
40cecf:	6a 00                	push   $0x0
40ced1:	ff 15 60 22 41 00    	call   *0x412260
40ced7:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
40cedd:	59                   	pop    %ecx
40cede:	59                   	pop    %ecx
40cedf:	85 c0                	test   %eax,%eax
40cee1:	0f 85 6e ff ff ff    	jne    0x40ce55
40cee7:	8b 85 f8 fd ff ff    	mov    -0x208(%ebp),%eax
40ceed:	47                   	inc    %edi
40ceee:	05 dc 04 00 00       	add    $0x4dc,%eax
40cef3:	89 85 f8 fd ff ff    	mov    %eax,-0x208(%ebp)
40cef9:	83 ff 0b             	cmp    $0xb,%edi
40cefc:	0f 82 33 ff ff ff    	jb     0x40ce35
40cf02:	eb 0d                	jmp    0x40cf11
40cf04:	6a 57                	push   $0x57
40cf06:	ff 15 74 20 41 00    	call   *0x412074
40cf0c:	e8 e3 c8 ff ff       	call   0x4097f4
40cf11:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40cf14:	5f                   	pop    %edi
40cf15:	5e                   	pop    %esi
40cf16:	33 cd                	xor    %ebp,%ecx
40cf18:	5b                   	pop    %ebx
40cf19:	e8 b2 1d 00 00       	call   0x40ecd0
40cf1e:	c9                   	leave
40cf1f:	c2 04 00             	ret    $0x4
40cf22:	8b ff                	mov    %edi,%edi
40cf24:	55                   	push   %ebp
40cf25:	8b ec                	mov    %esp,%ebp
40cf27:	81 ec e4 06 00 00    	sub    $0x6e4,%esp
40cf2d:	a1 44 10 41 00       	mov    0x411044,%eax
40cf32:	33 c5                	xor    %ebp,%eax
40cf34:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cf37:	53                   	push   %ebx
40cf38:	56                   	push   %esi
40cf39:	57                   	push   %edi
40cf3a:	89 8d 1c f9 ff ff    	mov    %ecx,-0x6e4(%ebp)
40cf40:	8d 75 08             	lea    0x8(%ebp),%esi
40cf43:	68 fe 01 00 00       	push   $0x1fe
40cf48:	b9 37 01 00 00       	mov    $0x137,%ecx
40cf4d:	8d bd 20 f9 ff ff    	lea    -0x6e0(%ebp),%edi
40cf53:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40cf59:	8b da                	mov    %edx,%ebx
40cf5b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40cf5d:	8b b5 e4 04 00 00    	mov    0x4e4(%ebp),%esi
40cf63:	6a 00                	push   $0x0
40cf65:	50                   	push   %eax
40cf66:	e8 59 24 00 00       	call   0x40f3c4
40cf6b:	83 c4 0c             	add    $0xc,%esp
40cf6e:	83 bd 1c f9 ff ff 00 	cmpl   $0x0,-0x6e4(%ebp)
40cf75:	0f 84 27 01 00 00    	je     0x40d0a2
40cf7b:	85 db                	test   %ebx,%ebx
40cf7d:	0f 84 1f 01 00 00    	je     0x40d0a2
40cf83:	85 f6                	test   %esi,%esi
40cf85:	0f 84 17 01 00 00    	je     0x40d0a2
40cf8b:	56                   	push   %esi
40cf8c:	ff 15 d4 20 41 00    	call   *0x4120d4
40cf92:	85 c0                	test   %eax,%eax
40cf94:	0f 84 15 01 00 00    	je     0x40d0af
40cf9a:	8b 8d f0 fb ff ff    	mov    -0x410(%ebp),%ecx
40cfa0:	8b c1                	mov    %ecx,%eax
40cfa2:	25 ff 0f 00 00       	and    $0xfff,%eax
40cfa7:	48                   	dec    %eax
40cfa8:	83 f8 08             	cmp    $0x8,%eax
40cfab:	0f 87 fe 00 00 00    	ja     0x40d0af
40cfb1:	ff 24 85 c2 d0 40 00 	jmp    *0x40d0c2(,%eax,4)
40cfb8:	f7 c1 00 20 00 00    	test   $0x2000,%ecx
40cfbe:	74 4d                	je     0x40d00d
40cfc0:	68 fe 00 00 00       	push   $0xfe
40cfc5:	8b d6                	mov    %esi,%edx
40cfc7:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
40cfcd:	e8 24 d4 ff ff       	call   0x40a3f6
40cfd2:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40cfd8:	6a 2a                	push   $0x2a
40cfda:	50                   	push   %eax
40cfdb:	ff 15 58 22 41 00    	call   *0x412258
40cfe1:	8b f8                	mov    %eax,%edi
40cfe3:	59                   	pop    %ecx
40cfe4:	59                   	pop    %ecx
40cfe5:	85 ff                	test   %edi,%edi
40cfe7:	74 1e                	je     0x40d007
40cfe9:	57                   	push   %edi
40cfea:	ff 15 d4 20 41 00    	call   *0x4120d4
40cff0:	83 f8 01             	cmp    $0x1,%eax
40cff3:	0f 85 b6 00 00 00    	jne    0x40d0af
40cff9:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40cfff:	3b f8                	cmp    %eax,%edi
40d001:	0f 84 a8 00 00 00    	je     0x40d0af
40d007:	8b 8d f0 fb ff ff    	mov    -0x410(%ebp),%ecx
40d00d:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
40d013:	0f 84 84 00 00 00    	je     0x40d09d
40d019:	8d 95 f4 fb ff ff    	lea    -0x40c(%ebp),%edx
40d01f:	8b ce                	mov    %esi,%ecx
40d021:	6a 01                	push   $0x1
40d023:	e8 c0 cd ff ff       	call   0x409de8
40d028:	e9 84 00 00 00       	jmp    0x40d0b1
40d02d:	6a 01                	push   $0x1
40d02f:	8b ce                	mov    %esi,%ecx
40d031:	e8 b6 cc ff ff       	call   0x409cec
40d036:	85 c0                	test   %eax,%eax
40d038:	74 75                	je     0x40d0af
40d03a:	f7 85 f0 fb ff ff 00 	testl  $0x1000,-0x410(%ebp)
40d041:	10 00 00
40d044:	74 57                	je     0x40d09d
40d046:	8b d6                	mov    %esi,%edx
40d048:	8d 8d f4 fb ff ff    	lea    -0x40c(%ebp),%ecx
40d04e:	eb d1                	jmp    0x40d021
40d050:	6a 00                	push   $0x0
40d052:	eb db                	jmp    0x40d02f
40d054:	8b ce                	mov    %esi,%ecx
40d056:	e8 43 cb ff ff       	call   0x409b9e
40d05b:	dd d8                	fstp   %st(0)
40d05d:	ff 15 48 20 41 00    	call   *0x412048
40d063:	f7 d8                	neg    %eax
40d065:	1b c0                	sbb    %eax,%eax
40d067:	40                   	inc    %eax
40d068:	eb 47                	jmp    0x40d0b1
40d06a:	8b bd f4 fd ff ff    	mov    -0x20c(%ebp),%edi
40d070:	85 ff                	test   %edi,%edi
40d072:	74 3b                	je     0x40d0af
40d074:	8b 85 f8 fd ff ff    	mov    -0x208(%ebp),%eax
40d07a:	85 c0                	test   %eax,%eax
40d07c:	75 06                	jne    0x40d084
40d07e:	8d 85 20 f9 ff ff    	lea    -0x6e0(%ebp),%eax
40d084:	6a 00                	push   $0x0
40d086:	50                   	push   %eax
40d087:	56                   	push   %esi
40d088:	53                   	push   %ebx
40d089:	ff b5 1c f9 ff ff    	push   -0x6e4(%ebp)
40d08f:	8b cf                	mov    %edi,%ecx
40d091:	ff 15 20 23 41 00    	call   *0x412320
40d097:	ff d7                	call   *%edi
40d099:	85 c0                	test   %eax,%eax
40d09b:	74 12                	je     0x40d0af
40d09d:	33 c0                	xor    %eax,%eax
40d09f:	40                   	inc    %eax
40d0a0:	eb 0f                	jmp    0x40d0b1
40d0a2:	6a 57                	push   $0x57
40d0a4:	ff 15 74 20 41 00    	call   *0x412074
40d0aa:	e8 45 c7 ff ff       	call   0x4097f4
40d0af:	33 c0                	xor    %eax,%eax
40d0b1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d0b4:	5f                   	pop    %edi
40d0b5:	5e                   	pop    %esi
40d0b6:	33 cd                	xor    %ebp,%ecx
40d0b8:	5b                   	pop    %ebx
40d0b9:	e8 12 1c 00 00       	call   0x40ecd0
40d0be:	c9                   	leave
40d0bf:	c2 e0 04             	ret    $0x4e0
40d0c2:	b8 cf 40 00 2d       	mov    $0x2d0040cf,%eax
40d0c7:	d0 40 00             	rolb   $1,0x0(%eax)
40d0ca:	50                   	push   %eax
40d0cb:	d0 40 00             	rolb   $1,0x0(%eax)
40d0ce:	af                   	scas   %es:(%edi),%eax
40d0cf:	d0 40 00             	rolb   $1,0x0(%eax)
40d0d2:	af                   	scas   %es:(%edi),%eax
40d0d3:	d0 40 00             	rolb   $1,0x0(%eax)
40d0d6:	af                   	scas   %es:(%edi),%eax
40d0d7:	d0 40 00             	rolb   $1,0x0(%eax)
40d0da:	54                   	push   %esp
40d0db:	d0 40 00             	rolb   $1,0x0(%eax)
40d0de:	54                   	push   %esp
40d0df:	d0 40 00             	rolb   $1,0x0(%eax)
40d0e2:	6a d0                	push   $0xffffffd0
40d0e4:	40                   	inc    %eax
40d0e5:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
40d0eb:	81 ec 20 06 00 00    	sub    $0x620,%esp
40d0f1:	a1 44 10 41 00       	mov    0x411044,%eax
40d0f6:	33 c5                	xor    %ebp,%eax
40d0f8:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d0fb:	8b 45 08             	mov    0x8(%ebp),%eax
40d0fe:	53                   	push   %ebx
40d0ff:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40d102:	56                   	push   %esi
40d103:	8b 75 10             	mov    0x10(%ebp),%esi
40d106:	57                   	push   %edi
40d107:	89 85 e8 f9 ff ff    	mov    %eax,-0x618(%ebp)
40d10d:	8b fa                	mov    %edx,%edi
40d10f:	8b 45 14             	mov    0x14(%ebp),%eax
40d112:	68 fe 01 00 00       	push   $0x1fe
40d117:	89 85 f4 f9 ff ff    	mov    %eax,-0x60c(%ebp)
40d11d:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40d123:	6a 00                	push   $0x0
40d125:	50                   	push   %eax
40d126:	89 bd e4 f9 ff ff    	mov    %edi,-0x61c(%ebp)
40d12c:	89 8d f8 f9 ff ff    	mov    %ecx,-0x608(%ebp)
40d132:	89 9d f0 f9 ff ff    	mov    %ebx,-0x610(%ebp)
40d138:	89 b5 ec f9 ff ff    	mov    %esi,-0x614(%ebp)
40d13e:	e8 81 22 00 00       	call   0x40f3c4
40d143:	68 fe 01 00 00       	push   $0x1fe
40d148:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40d14e:	6a 00                	push   $0x0
40d150:	50                   	push   %eax
40d151:	e8 6e 22 00 00       	call   0x40f3c4
40d156:	68 fe 01 00 00       	push   $0x1fe
40d15b:	8d 85 fc f9 ff ff    	lea    -0x604(%ebp),%eax
40d161:	6a 00                	push   $0x0
40d163:	50                   	push   %eax
40d164:	e8 5b 22 00 00       	call   0x40f3c4
40d169:	8b 85 f8 f9 ff ff    	mov    -0x608(%ebp),%eax
40d16f:	83 c4 24             	add    $0x24,%esp
40d172:	85 c0                	test   %eax,%eax
40d174:	0f 84 91 02 00 00    	je     0x40d40b
40d17a:	85 ff                	test   %edi,%edi
40d17c:	0f 84 89 02 00 00    	je     0x40d40b
40d182:	83 bd e8 f9 ff ff 00 	cmpl   $0x0,-0x618(%ebp)
40d189:	0f 84 7c 02 00 00    	je     0x40d40b
40d18f:	85 db                	test   %ebx,%ebx
40d191:	0f 84 74 02 00 00    	je     0x40d40b
40d197:	85 f6                	test   %esi,%esi
40d199:	0f 84 6c 02 00 00    	je     0x40d40b
40d19f:	83 bd f4 f9 ff ff 00 	cmpl   $0x0,-0x60c(%ebp)
40d1a6:	0f 84 5f 02 00 00    	je     0x40d40b
40d1ac:	68 fe 00 00 00       	push   $0xfe
40d1b1:	8b d0                	mov    %eax,%edx
40d1b3:	8d 8d fc fb ff ff    	lea    -0x404(%ebp),%ecx
40d1b9:	e8 38 d2 ff ff       	call   0x40a3f6
40d1be:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40d1c4:	50                   	push   %eax
40d1c5:	ff 15 80 21 41 00    	call   *0x412180
40d1cb:	68 3e 20 00 00       	push   $0x203e
40d1d0:	ff 15 74 20 41 00    	call   *0x412074
40d1d6:	e8 19 c6 ff ff       	call   0x4097f4
40d1db:	8b cf                	mov    %edi,%ecx
40d1dd:	e8 d6 bb ff ff       	call   0x408db8
40d1e2:	33 db                	xor    %ebx,%ebx
40d1e4:	89 85 e0 f9 ff ff    	mov    %eax,-0x620(%ebp)
40d1ea:	85 c0                	test   %eax,%eax
40d1ec:	0f 84 26 02 00 00    	je     0x40d418
40d1f2:	6a 00                	push   $0x0
40d1f4:	8b d3                	mov    %ebx,%edx
40d1f6:	8b cf                	mov    %edi,%ecx
40d1f8:	e8 72 be ff ff       	call   0x40906f
40d1fd:	85 c0                	test   %eax,%eax
40d1ff:	0f 84 f5 01 00 00    	je     0x40d3fa
40d205:	68 fe 00 00 00       	push   $0xfe
40d20a:	8b d0                	mov    %eax,%edx
40d20c:	8b ce                	mov    %esi,%ecx
40d20e:	e8 e3 d1 ff ff       	call   0x40a3f6
40d213:	68 fe 00 00 00       	push   $0xfe
40d218:	8b d6                	mov    %esi,%edx
40d21a:	8d 8d fc f9 ff ff    	lea    -0x604(%ebp),%ecx
40d220:	e8 d1 d1 ff ff       	call   0x40a3f6
40d225:	8d 85 fc f9 ff ff    	lea    -0x604(%ebp),%eax
40d22b:	50                   	push   %eax
40d22c:	ff 15 80 21 41 00    	call   *0x412180
40d232:	68 fe 00 00 00       	push   $0xfe
40d237:	8d 95 fc fb ff ff    	lea    -0x404(%ebp),%edx
40d23d:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
40d243:	e8 ae d1 ff ff       	call   0x40a3f6
40d248:	8d 85 fc f9 ff ff    	lea    -0x604(%ebp),%eax
40d24e:	50                   	push   %eax
40d24f:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40d255:	50                   	push   %eax
40d256:	ff 15 5c 22 41 00    	call   *0x41225c
40d25c:	89 85 f8 f9 ff ff    	mov    %eax,-0x608(%ebp)
40d262:	59                   	pop    %ecx
40d263:	59                   	pop    %ecx
40d264:	85 c0                	test   %eax,%eax
40d266:	0f 84 65 01 00 00    	je     0x40d3d1
40d26c:	50                   	push   %eax
40d26d:	ff 15 d4 20 41 00    	call   *0x4120d4
40d273:	8b f0                	mov    %eax,%esi
40d275:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40d27b:	50                   	push   %eax
40d27c:	ff 15 d4 20 41 00    	call   *0x4120d4
40d282:	2b c6                	sub    %esi,%eax
40d284:	03 c0                	add    %eax,%eax
40d286:	3d fe 01 00 00       	cmp    $0x1fe,%eax
40d28b:	0f 83 9b 01 00 00    	jae    0x40d42c
40d291:	33 c9                	xor    %ecx,%ecx
40d293:	8d 95 fc fd ff ff    	lea    -0x204(%ebp),%edx
40d299:	66 89 8c 05 fc fd ff 	mov    %cx,-0x204(%ebp,%eax,1)
40d2a0:	ff
40d2a1:	8b 8d f0 f9 ff ff    	mov    -0x610(%ebp),%ecx
40d2a7:	68 fe 00 00 00       	push   $0xfe
40d2ac:	e8 45 d1 ff ff       	call   0x40a3f6
40d2b1:	8b b5 ec f9 ff ff    	mov    -0x614(%ebp),%esi
40d2b7:	56                   	push   %esi
40d2b8:	ff 15 d4 20 41 00    	call   *0x4120d4
40d2be:	8b 8d f8 f9 ff ff    	mov    -0x608(%ebp),%ecx
40d2c4:	8d 04 41             	lea    (%ecx,%eax,2),%eax
40d2c7:	85 c0                	test   %eax,%eax
40d2c9:	0f 84 02 01 00 00    	je     0x40d3d1
40d2cf:	68 fe 00 00 00       	push   $0xfe
40d2d4:	56                   	push   %esi
40d2d5:	ff 15 d4 20 41 00    	call   *0x4120d4
40d2db:	8b 8d f8 f9 ff ff    	mov    -0x608(%ebp),%ecx
40d2e1:	8b b5 f4 f9 ff ff    	mov    -0x60c(%ebp),%esi
40d2e7:	8d 14 41             	lea    (%ecx,%eax,2),%edx
40d2ea:	8b ce                	mov    %esi,%ecx
40d2ec:	e8 05 d1 ff ff       	call   0x40a3f6
40d2f1:	68 fe 00 00 00       	push   $0xfe
40d2f6:	51                   	push   %ecx
40d2f7:	33 d2                	xor    %edx,%edx
40d2f9:	8b ce                	mov    %esi,%ecx
40d2fb:	e8 e2 cc ff ff       	call   0x409fe2
40d300:	8b d0                	mov    %eax,%edx