40dffa:	33 c5                	xor    %ebp,%eax
40dffc:	50                   	push   %eax
40dffd:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e000:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e006:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40e009:	c7 01 64 21 40 00    	movl   $0x402164,(%ecx)
40e00f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40e013:	ff 15 dc 30 42 00    	call   *0x4230dc
40e019:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e01c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e023:	59                   	pop    %ecx
40e024:	c9                   	leave
40e025:	c3                   	ret
40e026:	cc                   	int3
40e027:	cc                   	int3
40e028:	cc                   	int3
40e029:	cc                   	int3
40e02a:	cc                   	int3
40e02b:	cc                   	int3
40e02c:	cc                   	int3
40e02d:	cc                   	int3
40e02e:	cc                   	int3
40e02f:	cc                   	int3
40e030:	a1 10 31 42 00       	mov    0x423110,%eax
40e035:	c3                   	ret
40e036:	8b ff                	mov    %edi,%edi
40e038:	56                   	push   %esi
40e039:	57                   	push   %edi
40e03a:	8b f9                	mov    %ecx,%edi
40e03c:	8b 07                	mov    (%edi),%eax
40e03e:	8b b0 f8 00 00 00    	mov    0xf8(%eax),%esi
40e044:	8b ce                	mov    %esi,%ecx
40e046:	ff 15 f0 35 42 00    	call   *0x4235f0
40e04c:	8b cf                	mov    %edi,%ecx
40e04e:	ff d6                	call   *%esi
40e050:	50                   	push   %eax
40e051:	ff 35 2c 1c 42 00    	push   0x421c2c
40e057:	b9 24 1c 42 00       	mov    $0x421c24,%ecx
40e05c:	ff 15 28 31 42 00    	call   *0x423128
40e062:	5f                   	pop    %edi
40e063:	5e                   	pop    %esi
40e064:	c3                   	ret
40e065:	cc                   	int3
40e066:	cc                   	int3
40e067:	cc                   	int3
40e068:	cc                   	int3
40e069:	cc                   	int3
40e06a:	cc                   	int3
40e06b:	cc                   	int3
40e06c:	cc                   	int3
40e06d:	cc                   	int3
40e06e:	cc                   	int3
40e06f:	cc                   	int3
40e070:	b9 40 1c 42 00       	mov    $0x421c40,%ecx
40e075:	e8 d9 f9 ff ff       	call   0x40da53
40e07a:	33 c0                	xor    %eax,%eax
40e07c:	40                   	inc    %eax
40e07d:	c3                   	ret
40e07e:	cc                   	int3
40e07f:	cc                   	int3
40e080:	a1 2c 1c 42 00       	mov    0x421c2c,%eax
40e085:	8d 48 ff             	lea    -0x1(%eax),%ecx
40e088:	85 c9                	test   %ecx,%ecx
40e08a:	78 1f                	js     0x40e0ab
40e08c:	3b c8                	cmp    %eax,%ecx
40e08e:	7d 1b                	jge    0x40e0ab
40e090:	a1 28 1c 42 00       	mov    0x421c28,%eax
40e095:	56                   	push   %esi
40e096:	6a 01                	push   $0x1
40e098:	51                   	push   %ecx
40e099:	8b 34 88             	mov    (%eax,%ecx,4),%esi
40e09c:	b9 24 1c 42 00       	mov    $0x421c24,%ecx
40e0a1:	ff 15 24 31 42 00    	call   *0x423124
40e0a7:	8b c6                	mov    %esi,%eax
40e0a9:	5e                   	pop    %esi
40e0aa:	c3                   	ret
40e0ab:	ff 15 dc 33 42 00    	call   *0x4233dc
40e0b1:	cc                   	int3
40e0b2:	6a 04                	push   $0x4
40e0b4:	b8 08 d2 41 00       	mov    $0x41d208,%eax
40e0b9:	e8 7a e3 00 00       	call   0x41c438
40e0be:	6a 04                	push   $0x4
40e0c0:	5b                   	pop    %ebx
40e0c1:	53                   	push   %ebx
40e0c2:	e8 e1 d1 00 00       	call   0x41b2a8
40e0c7:	59                   	pop    %ecx
40e0c8:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e0cb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e0cf:	85 c0                	test   %eax,%eax
40e0d1:	74 0a                	je     0x40e0dd
40e0d3:	8b c8                	mov    %eax,%ecx
40e0d5:	ff 15 40 32 42 00    	call   *0x423240
40e0db:	eb 02                	jmp    0x40e0df
40e0dd:	33 c0                	xor    %eax,%eax
40e0df:	83 cf ff             	or     $0xffffffff,%edi
40e0e2:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e0e5:	53                   	push   %ebx
40e0e6:	a3 2c 15 42 00       	mov    %eax,0x42152c
40e0eb:	e8 b8 d1 00 00       	call   0x41b2a8
40e0f0:	59                   	pop    %ecx
40e0f1:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e0f4:	33 f6                	xor    %esi,%esi
40e0f6:	46                   	inc    %esi
40e0f7:	89 75 fc             	mov    %esi,-0x4(%ebp)
40e0fa:	85 c0                	test   %eax,%eax
40e0fc:	74 0a                	je     0x40e108
40e0fe:	8b c8                	mov    %eax,%ecx
40e100:	ff 15 40 32 42 00    	call   *0x423240
40e106:	eb 02                	jmp    0x40e10a
40e108:	33 c0                	xor    %eax,%eax
40e10a:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e10d:	68 cc 00 00 00       	push   $0xcc
40e112:	a3 24 15 42 00       	mov    %eax,0x421524
40e117:	e8 8c d1 00 00       	call   0x41b2a8
40e11c:	59                   	pop    %ecx
40e11d:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e120:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40e127:	85 c0                	test   %eax,%eax
40e129:	74 09                	je     0x40e134
40e12b:	8b c8                	mov    %eax,%ecx
40e12d:	e8 e6 62 00 00       	call   0x414418
40e132:	eb 02                	jmp    0x40e136
40e134:	33 c0                	xor    %eax,%eax
40e136:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e139:	6a 14                	push   $0x14
40e13b:	a3 08 0a 42 00       	mov    %eax,0x420a08
40e140:	e8 63 d1 00 00       	call   0x41b2a8
40e145:	59                   	pop    %ecx
40e146:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e149:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40e150:	85 c0                	test   %eax,%eax
40e152:	74 0a                	je     0x40e15e
40e154:	8b c8                	mov    %eax,%ecx
40e156:	ff 15 d0 33 42 00    	call   *0x4233d0
40e15c:	eb 02                	jmp    0x40e160
40e15e:	33 c0                	xor    %eax,%eax
40e160:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e163:	6a 24                	push   $0x24
40e165:	a3 10 12 42 00       	mov    %eax,0x421210
40e16a:	e8 39 d1 00 00       	call   0x41b2a8
40e16f:	59                   	pop    %ecx
40e170:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e173:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e176:	85 c0                	test   %eax,%eax
40e178:	74 09                	je     0x40e183
40e17a:	8b c8                	mov    %eax,%ecx
40e17c:	e8 1e 68 00 00       	call   0x41499f
40e181:	eb 02                	jmp    0x40e185
40e183:	33 c0                	xor    %eax,%eax
40e185:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e188:	83 3d 2c 15 42 00 00 	cmpl   $0x0,0x42152c
40e18f:	a3 1c 12 42 00       	mov    %eax,0x42121c
40e194:	74 1f                	je     0x40e1b5
40e196:	83 3d 24 15 42 00 00 	cmpl   $0x0,0x421524
40e19d:	74 16                	je     0x40e1b5
40e19f:	83 3d 08 0a 42 00 00 	cmpl   $0x0,0x420a08
40e1a6:	74 0d                	je     0x40e1b5
40e1a8:	83 3d 10 12 42 00 00 	cmpl   $0x0,0x421210
40e1af:	74 04                	je     0x40e1b5
40e1b1:	85 c0                	test   %eax,%eax
40e1b3:	75 0a                	jne    0x40e1bf
40e1b5:	6a 68                	push   $0x68
40e1b7:	33 f6                	xor    %esi,%esi
40e1b9:	e8 95 04 00 00       	call   0x40e653
40e1be:	59                   	pop    %ecx
40e1bf:	8b c6                	mov    %esi,%eax
40e1c1:	e8 40 e2 00 00       	call   0x41c406
40e1c6:	c3                   	ret
40e1c7:	6a 58                	push   $0x58
40e1c9:	b8 28 d2 41 00       	mov    $0x41d228,%eax
40e1ce:	e8 04 e3 00 00       	call   0x41c4d7
40e1d3:	33 ff                	xor    %edi,%edi
40e1d5:	57                   	push   %edi
40e1d6:	ff 15 60 30 42 00    	call   *0x423060
40e1dc:	a3 28 15 42 00       	mov    %eax,0x421528
40e1e1:	e8 cc fe ff ff       	call   0x40e0b2
40e1e6:	8b f0                	mov    %eax,%esi
40e1e8:	85 f6                	test   %esi,%esi
40e1ea:	0f 84 74 03 00 00    	je     0x40e564
40e1f0:	89 7d a8             	mov    %edi,-0x58(%ebp)
40e1f3:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40e1f6:	ff 15 44 31 42 00    	call   *0x423144
40e1fc:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e1ff:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40e203:	8b 15 2c 15 42 00    	mov    0x42152c,%edx
40e209:	6a 66                	push   $0x66
40e20b:	59                   	pop    %ecx
40e20c:	e8 30 06 00 00       	call   0x40e841
40e211:	8b f0                	mov    %eax,%esi
40e213:	89 75 a8             	mov    %esi,-0x58(%ebp)
40e216:	85 f6                	test   %esi,%esi
40e218:	75 08                	jne    0x40e222
40e21a:	6a 67                	push   $0x67
40e21c:	e8 32 04 00 00       	call   0x40e653
40e221:	59                   	pop    %ecx
40e222:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e225:	eb 1c                	jmp    0x40e243
40e227:	8b 45 a4             	mov    -0x5c(%ebp),%eax
40e22a:	89 45 a0             	mov    %eax,-0x60(%ebp)
40e22d:	6a 68                	push   $0x68
40e22f:	e8 1f 04 00 00       	call   0x40e653
40e234:	59                   	pop    %ecx
40e235:	b8 3b e2 40 00       	mov    $0x40e23b,%eax
40e23a:	c3                   	ret
40e23b:	33 ff                	xor    %edi,%edi
40e23d:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e240:	8b 75 a8             	mov    -0x58(%ebp),%esi
40e243:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40e247:	ff 15 48 31 42 00    	call   *0x423148
40e24d:	85 f6                	test   %esi,%esi
40e24f:	0f 84 0f 03 00 00    	je     0x40e564
40e255:	bb 05 01 00 00       	mov    $0x105,%ebx
40e25a:	53                   	push   %ebx
40e25b:	68 50 19 42 00       	push   $0x421950
40e260:	ff 15 5c 30 42 00    	call   *0x42305c
40e266:	85 c0                	test   %eax,%eax
40e268:	0f 84 ec 02 00 00    	je     0x40e55a
40e26e:	3b c3                	cmp    %ebx,%eax
40e270:	0f 87 e4 02 00 00    	ja     0x40e55a
40e276:	51                   	push   %ecx
40e277:	68 50 19 42 00       	push   $0x421950
40e27c:	51                   	push   %ecx
40e27d:	8b d3                	mov    %ebx,%edx
40e27f:	b9 40 17 42 00       	mov    $0x421740,%ecx
40e284:	e8 43 03 00 00       	call   0x40e5cc
40e289:	85 c0                	test   %eax,%eax
40e28b:	0f 88 c9 02 00 00    	js     0x40e55a
40e291:	68 30 47 40 00       	push   $0x404730
40e296:	b9 40 17 42 00       	mov    $0x421740,%ecx
40e29b:	e8 cc 02 00 00       	call   0x40e56c
40e2a0:	85 c0                	test   %eax,%eax
40e2a2:	0f 88 b2 02 00 00    	js     0x40e55a
40e2a8:	51                   	push   %ecx
40e2a9:	68 40 17 42 00       	push   $0x421740
40e2ae:	51                   	push   %ecx
40e2af:	8b d3                	mov    %ebx,%edx
40e2b1:	bb 30 15 42 00       	mov    $0x421530,%ebx
40e2b6:	8b cb                	mov    %ebx,%ecx
40e2b8:	e8 0f 03 00 00       	call   0x40e5cc
40e2bd:	85 c0                	test   %eax,%eax
40e2bf:	0f 88 8e 02 00 00    	js     0x40e553
40e2c5:	68 50 47 40 00       	push   $0x404750
40e2ca:	8b cb                	mov    %ebx,%ecx
40e2cc:	e8 9b 02 00 00       	call   0x40e56c
40e2d1:	85 c0                	test   %eax,%eax
40e2d3:	0f 88 7a 02 00 00    	js     0x40e553
40e2d9:	bb 04 01 00 00       	mov    $0x104,%ebx
40e2de:	53                   	push   %ebx
40e2df:	8b 0d 24 15 42 00    	mov    0x421524,%ecx
40e2e5:	ff 15 78 33 42 00    	call   *0x423378
40e2eb:	85 c0                	test   %eax,%eax
40e2ed:	75 0c                	jne    0x40e2fb
40e2ef:	6a 68                	push   $0x68
40e2f1:	e8 5d 03 00 00       	call   0x40e653
40e2f6:	e9 68 02 00 00       	jmp    0x40e563
40e2fb:	50                   	push   %eax
40e2fc:	53                   	push   %ebx
40e2fd:	ff 15 58 30 42 00    	call   *0x423058
40e303:	8b f0                	mov    %eax,%esi
40e305:	6a ff                	push   $0xffffffff
40e307:	8b 0d 24 15 42 00    	mov    0x421524,%ecx
40e30d:	ff 15 7c 33 42 00    	call   *0x42337c
40e313:	85 f6                	test   %esi,%esi
40e315:	0f 84 34 02 00 00    	je     0x40e54f
40e31b:	3b f3                	cmp    %ebx,%esi
40e31d:	0f 83 2c 02 00 00    	jae    0x40e54f
40e323:	6a 40                	push   $0x40
40e325:	5b                   	pop    %ebx
40e326:	53                   	push   %ebx
40e327:	57                   	push   %edi
40e328:	8d 45 ac             	lea    -0x54(%ebp),%eax
40e32b:	50                   	push   %eax
40e32c:	e8 f0 e2 00 00       	call   0x41c621
40e331:	83 c4 0c             	add    $0xc,%esp
40e334:	89 5d ac             	mov    %ebx,-0x54(%ebp)
40e337:	8d 45 ac             	lea    -0x54(%ebp),%eax
40e33a:	50                   	push   %eax
40e33b:	ff 15 54 30 42 00    	call   *0x423054
40e341:	8b f0                	mov    %eax,%esi
40e343:	85 f6                	test   %esi,%esi
40e345:	0f 84 19 02 00 00    	je     0x40e564
40e34b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40e34e:	a3 20 15 42 00       	mov    %eax,0x421520
40e353:	53                   	push   %ebx
40e354:	68 a0 14 42 00       	push   $0x4214a0
40e359:	68 a0 00 00 00       	push   $0xa0
40e35e:	ff 35 28 15 42 00    	push   0x421528
40e364:	ff 15 60 34 42 00    	call   *0x423460
40e36a:	53                   	push   %ebx
40e36b:	68 20 14 42 00       	push   $0x421420
40e370:	68 a1 00 00 00       	push   $0xa1
40e375:	ff 35 28 15 42 00    	push   0x421528
40e37b:	ff 15 60 34 42 00    	call   *0x423460
40e381:	53                   	push   %ebx
40e382:	68 a0 13 42 00       	push   $0x4213a0
40e387:	68 a2 00 00 00       	push   $0xa2
40e38c:	ff 35 28 15 42 00    	push   0x421528
40e392:	ff 15 60 34 42 00    	call   *0x423460
40e398:	53                   	push   %ebx
40e399:	68 a0 12 42 00       	push   $0x4212a0
40e39e:	68 a3 00 00 00       	push   $0xa3
40e3a3:	ff 35 28 15 42 00    	push   0x421528
40e3a9:	ff 15 60 34 42 00    	call   *0x423460
40e3af:	53                   	push   %ebx
40e3b0:	68 20 12 42 00       	push   $0x421220
40e3b5:	68 a4 00 00 00       	push   $0xa4
40e3ba:	ff 35 28 15 42 00    	push   0x421528
40e3c0:	ff 15 60 34 42 00    	call   *0x423460
40e3c6:	53                   	push   %ebx
40e3c7:	68 90 11 42 00       	push   $0x421190
40e3cc:	68 a5 00 00 00       	push   $0xa5
40e3d1:	ff 35 28 15 42 00    	push   0x421528
40e3d7:	ff 15 60 34 42 00    	call   *0x423460
40e3dd:	53                   	push   %ebx
40e3de:	68 10 11 42 00       	push   $0x421110
40e3e3:	68 a6 00 00 00       	push   $0xa6
40e3e8:	ff 35 28 15 42 00    	push   0x421528
40e3ee:	ff 15 60 34 42 00    	call   *0x423460
40e3f4:	53                   	push   %ebx
40e3f5:	68 20 13 42 00       	push   $0x421320
40e3fa:	68 a7 00 00 00       	push   $0xa7
40e3ff:	ff 35 28 15 42 00    	push   0x421528
40e405:	ff 15 60 34 42 00    	call   *0x423460
40e40b:	53                   	push   %ebx
40e40c:	68 90 10 42 00       	push   $0x421090
40e411:	68 a8 00 00 00       	push   $0xa8
40e416:	ff 35 28 15 42 00    	push   0x421528
40e41c:	ff 15 60 34 42 00    	call   *0x423460
40e422:	53                   	push   %ebx
40e423:	68 10 0d 42 00       	push   $0x420d10
40e428:	68 a9 00 00 00       	push   $0xa9
40e42d:	ff 35 28 15 42 00    	push   0x421528
40e433:	ff 15 60 34 42 00    	call   *0x423460
40e439:	53                   	push   %ebx
40e43a:	68 90 0d 42 00       	push   $0x420d90
40e43f:	68 aa 00 00 00       	push   $0xaa
40e444:	ff 35 28 15 42 00    	push   0x421528
40e44a:	ff 15 60 34 42 00    	call   *0x423460
40e450:	53                   	push   %ebx
40e451:	68 90 0c 42 00       	push   $0x420c90
40e456:	68 ab 00 00 00       	push   $0xab
40e45b:	ff 35 28 15 42 00    	push   0x421528
40e461:	ff 15 60 34 42 00    	call   *0x423460
40e467:	53                   	push   %ebx
40e468:	68 10 0c 42 00       	push   $0x420c10
40e46d:	68 ac 00 00 00       	push   $0xac
40e472:	ff 35 28 15 42 00    	push   0x421528
40e478:	ff 15 60 34 42 00    	call   *0x423460
40e47e:	53                   	push   %ebx
40e47f:	68 90 0b 42 00       	push   $0x420b90