40e0ed:	8d 47 28             	lea    0x28(%edi),%eax
40e0f0:	50                   	push   %eax
40e0f1:	68 ac 03 45 00       	push   $0x4503ac
40e0f6:	ff 75 fc             	push   -0x4(%ebp)
40e0f9:	e8 9d 51 03 00       	call   0x44329b
40e0fe:	8b f0                	mov    %eax,%esi
40e100:	85 f6                	test   %esi,%esi
40e102:	0f 88 b9 04 00 00    	js     0x40e5c1
40e108:	8d 47 14             	lea    0x14(%edi),%eax
40e10b:	50                   	push   %eax
40e10c:	68 e0 03 45 00       	push   $0x4503e0
40e111:	ff 75 fc             	push   -0x4(%ebp)
40e114:	e8 c2 52 03 00       	call   0x4433db
40e119:	8b f0                	mov    %eax,%esi
40e11b:	85 f6                	test   %esi,%esi
40e11d:	0f 88 97 04 00 00    	js     0x40e5ba
40e123:	8d 47 18             	lea    0x18(%edi),%eax
40e126:	50                   	push   %eax
40e127:	68 14 04 45 00       	push   $0x450414
40e12c:	ff 75 fc             	push   -0x4(%ebp)
40e12f:	e8 a7 52 03 00       	call   0x4433db
40e134:	8b f0                	mov    %eax,%esi
40e136:	85 f6                	test   %esi,%esi
40e138:	0f 88 75 04 00 00    	js     0x40e5b3
40e13e:	33 c0                	xor    %eax,%eax
40e140:	39 47 18             	cmp    %eax,0x18(%edi)
40e143:	0f 94 c0             	sete   %al
40e146:	89 47 18             	mov    %eax,0x18(%edi)
40e149:	8d 47 1c             	lea    0x1c(%edi),%eax
40e14c:	50                   	push   %eax
40e14d:	68 e0 01 45 00       	push   $0x4501e0
40e152:	ff 75 fc             	push   -0x4(%ebp)
40e155:	e8 81 52 03 00       	call   0x4433db
40e15a:	8b f0                	mov    %eax,%esi
40e15c:	85 f6                	test   %esi,%esi
40e15e:	0f 88 48 04 00 00    	js     0x40e5ac
40e164:	8d 47 04             	lea    0x4(%edi),%eax
40e167:	50                   	push   %eax
40e168:	68 44 04 45 00       	push   $0x450444
40e16d:	ff 75 fc             	push   -0x4(%ebp)
40e170:	e8 52 50 03 00       	call   0x4431c7
40e175:	8b f0                	mov    %eax,%esi
40e177:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40e17d:	74 08                	je     0x40e187
40e17f:	85 f6                	test   %esi,%esi
40e181:	0f 88 50 02 00 00    	js     0x40e3d7
40e187:	8d 47 08             	lea    0x8(%edi),%eax
40e18a:	50                   	push   %eax
40e18b:	68 84 04 45 00       	push   $0x450484
40e190:	ff 75 fc             	push   -0x4(%ebp)
40e193:	e8 2f 50 03 00       	call   0x4431c7
40e198:	8b f0                	mov    %eax,%esi
40e19a:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40e1a0:	74 08                	je     0x40e1aa
40e1a2:	85 f6                	test   %esi,%esi
40e1a4:	0f 88 37 02 00 00    	js     0x40e3e1
40e1aa:	8d 47 0c             	lea    0xc(%edi),%eax
40e1ad:	50                   	push   %eax
40e1ae:	68 dc 04 45 00       	push   $0x4504dc
40e1b3:	ff 75 fc             	push   -0x4(%ebp)
40e1b6:	e8 0c 50 03 00       	call   0x4431c7
40e1bb:	8b f0                	mov    %eax,%esi
40e1bd:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40e1c3:	74 08                	je     0x40e1cd
40e1c5:	85 f6                	test   %esi,%esi
40e1c7:	0f 88 1e 02 00 00    	js     0x40e3eb
40e1cd:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e1d0:	50                   	push   %eax
40e1d1:	68 24 05 45 00       	push   $0x450524
40e1d6:	ff 75 fc             	push   -0x4(%ebp)
40e1d9:	e8 e9 4f 03 00       	call   0x4431c7
40e1de:	8b f0                	mov    %eax,%esi
40e1e0:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40e1e6:	74 1f                	je     0x40e207
40e1e8:	85 f6                	test   %esi,%esi
40e1ea:	0f 88 12 02 00 00    	js     0x40e402
40e1f0:	8d 47 38             	lea    0x38(%edi),%eax
40e1f3:	50                   	push   %eax
40e1f4:	ff 75 f4             	push   -0xc(%ebp)
40e1f7:	53                   	push   %ebx
40e1f8:	e8 32 f6 ff ff       	call   0x40d82f
40e1fd:	8b f0                	mov    %eax,%esi
40e1ff:	85 f6                	test   %esi,%esi
40e201:	0f 88 ee 01 00 00    	js     0x40e3f5
40e207:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e20a:	50                   	push   %eax
40e20b:	68 b0 05 45 00       	push   $0x4505b0
40e210:	ff 75 fc             	push   -0x4(%ebp)
40e213:	e8 af 4f 03 00       	call   0x4431c7
40e218:	8b f0                	mov    %eax,%esi
40e21a:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40e220:	74 1f                	je     0x40e241
40e222:	85 f6                	test   %esi,%esi
40e224:	0f 88 ef 01 00 00    	js     0x40e419
40e22a:	8d 47 3c             	lea    0x3c(%edi),%eax
40e22d:	50                   	push   %eax
40e22e:	ff 75 f4             	push   -0xc(%ebp)
40e231:	53                   	push   %ebx
40e232:	e8 f8 f5 ff ff       	call   0x40d82f
40e237:	8b f0                	mov    %eax,%esi
40e239:	85 f6                	test   %esi,%esi
40e23b:	0f 88 cb 01 00 00    	js     0x40e40c
40e241:	8b 35 28 b1 44 00    	mov    0x44b128,%esi
40e247:	6a ff                	push   $0xffffffff
40e249:	68 44 06 45 00       	push   $0x450644
40e24e:	6a ff                	push   $0xffffffff
40e250:	ff 75 f8             	push   -0x8(%ebp)
40e253:	6a 00                	push   $0x0
40e255:	6a 7f                	push   $0x7f
40e257:	ff d6                	call   *%esi
40e259:	83 f8 02             	cmp    $0x2,%eax
40e25c:	75 27                	jne    0x40e285
40e25e:	57                   	push   %edi
40e25f:	c7 87 8c 00 00 00 01 	movl   $0x1,0x8c(%edi)
40e266:	00 00 00
40e269:	ff 75 fc             	push   -0x4(%ebp)
40e26c:	e8 3e 43 01 00       	call   0x4225af
40e271:	8b f0                	mov    %eax,%esi
40e273:	85 f6                	test   %esi,%esi
40e275:	0f 89 af 00 00 00    	jns    0x40e32a
40e27b:	68 5c 06 45 00       	push   $0x45065c
40e280:	e9 0f 03 00 00       	jmp    0x40e594
40e285:	6a ff                	push   $0xffffffff
40e287:	68 7c 06 45 00       	push   $0x45067c
40e28c:	6a ff                	push   $0xffffffff
40e28e:	ff 75 f8             	push   -0x8(%ebp)
40e291:	6a 00                	push   $0x0
40e293:	6a 7f                	push   $0x7f
40e295:	ff d6                	call   *%esi
40e297:	6a 02                	push   $0x2
40e299:	59                   	pop    %ecx
40e29a:	3b c1                	cmp    %ecx,%eax
40e29c:	75 1f                	jne    0x40e2bd
40e29e:	57                   	push   %edi
40e29f:	89 8f 8c 00 00 00    	mov    %ecx,0x8c(%edi)
40e2a5:	ff 75 fc             	push   -0x4(%ebp)
40e2a8:	e8 db 65 01 00       	call   0x424888
40e2ad:	8b f0                	mov    %eax,%esi
40e2af:	85 f6                	test   %esi,%esi
40e2b1:	79 77                	jns    0x40e32a
40e2b3:	68 94 06 45 00       	push   $0x450694
40e2b8:	e9 d7 02 00 00       	jmp    0x40e594
40e2bd:	6a ff                	push   $0xffffffff
40e2bf:	68 b4 06 45 00       	push   $0x4506b4
40e2c4:	6a ff                	push   $0xffffffff
40e2c6:	ff 75 f8             	push   -0x8(%ebp)
40e2c9:	6a 00                	push   $0x0
40e2cb:	6a 7f                	push   $0x7f
40e2cd:	ff d6                	call   *%esi
40e2cf:	83 f8 02             	cmp    $0x2,%eax
40e2d2:	75 22                	jne    0x40e2f6
40e2d4:	57                   	push   %edi
40e2d5:	c7 87 8c 00 00 00 03 	movl   $0x3,0x8c(%edi)
40e2dc:	00 00 00
40e2df:	ff 75 fc             	push   -0x4(%ebp)
40e2e2:	e8 53 81 01 00       	call   0x42643a
40e2e7:	8b f0                	mov    %eax,%esi
40e2e9:	85 f6                	test   %esi,%esi
40e2eb:	0f 88 32 01 00 00    	js     0x40e423
40e2f1:	ff 45 e8             	incl   -0x18(%ebp)
40e2f4:	eb 34                	jmp    0x40e32a
40e2f6:	6a ff                	push   $0xffffffff
40e2f8:	68 ec 06 45 00       	push   $0x4506ec
40e2fd:	6a ff                	push   $0xffffffff
40e2ff:	ff 75 f8             	push   -0x8(%ebp)
40e302:	6a 00                	push   $0x0
40e304:	6a 7f                	push   $0x7f
40e306:	ff d6                	call   *%esi
40e308:	83 f8 02             	cmp    $0x2,%eax
40e30b:	75 1d                	jne    0x40e32a
40e30d:	57                   	push   %edi
40e30e:	c7 87 8c 00 00 00 04 	movl   $0x4,0x8c(%edi)
40e315:	00 00 00
40e318:	ff 75 fc             	push   -0x4(%ebp)
40e31b:	e8 27 8c 01 00       	call   0x426f47
40e320:	8b f0                	mov    %eax,%esi
40e322:	85 f6                	test   %esi,%esi
40e324:	0f 88 03 01 00 00    	js     0x40e42d
40e32a:	ff 75 fc             	push   -0x4(%ebp)
40e32d:	ff 75 0c             	push   0xc(%ebp)
40e330:	57                   	push   %edi
40e331:	e8 b8 f6 ff ff       	call   0x40d9ee
40e336:	8b f0                	mov    %eax,%esi
40e338:	85 f6                	test   %esi,%esi
40e33a:	0f 88 65 02 00 00    	js     0x40e5a5
40e340:	ff 75 fc             	push   -0x4(%ebp)
40e343:	57                   	push   %edi
40e344:	e8 90 99 01 00       	call   0x427cd9
40e349:	8b f0                	mov    %eax,%esi
40e34b:	85 f6                	test   %esi,%esi
40e34d:	0f 88 4b 02 00 00    	js     0x40e59e
40e353:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e356:	85 c9                	test   %ecx,%ecx
40e358:	74 0a                	je     0x40e364
40e35a:	8b 01                	mov    (%ecx),%eax
40e35c:	51                   	push   %ecx
40e35d:	ff 50 08             	call   *0x8(%eax)
40e360:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e364:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40e368:	74 0d                	je     0x40e377
40e36a:	ff 75 f8             	push   -0x8(%ebp)
40e36d:	ff 15 20 b3 44 00    	call   *0x44b320
40e373:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40e377:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40e37a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40e37d:	40                   	inc    %eax
40e37e:	81 c1 e0 00 00 00    	add    $0xe0,%ecx
40e384:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e387:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40e38a:	3b 45 ec             	cmp    -0x14(%ebp),%eax
40e38d:	0f 82 6f fc ff ff    	jb     0x40e002
40e393:	8b 75 e8             	mov    -0x18(%ebp),%esi
40e396:	85 f6                	test   %esi,%esi
40e398:	0f 84 e2 01 00 00    	je     0x40e580
40e39e:	8b c6                	mov    %esi,%eax
40e3a0:	6a 01                	push   $0x1
40e3a2:	c1 e0 04             	shl    $0x4,%eax
40e3a5:	50                   	push   %eax
40e3a6:	e8 29 55 ff ff       	call   0x4038d4
40e3ab:	89 43 20             	mov    %eax,0x20(%ebx)
40e3ae:	85 c0                	test   %eax,%eax
40e3b0:	0f 85 81 00 00 00    	jne    0x40e437
40e3b6:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40e3bb:	57                   	push   %edi
40e3bc:	68 fd 00 00 00       	push   $0xfd
40e3c1:	68 98 01 45 00       	push   $0x450198
40e3c6:	8b f7                	mov    %edi,%esi
40e3c8:	e8 06 54 ff ff       	call   0x4037d3
40e3cd:	68 70 07 45 00       	push   $0x450770
40e3d2:	e9 92 00 00 00       	jmp    0x40e469
40e3d7:	68 64 04 45 00       	push   $0x450464
40e3dc:	e9 b3 01 00 00       	jmp    0x40e594
40e3e1:	68 b4 04 45 00       	push   $0x4504b4
40e3e6:	e9 a9 01 00 00       	jmp    0x40e594
40e3eb:	68 00 05 45 00       	push   $0x450500
40e3f0:	e9 9f 01 00 00       	jmp    0x40e594
40e3f5:	ff 75 f4             	push   -0xc(%ebp)
40e3f8:	68 7c 05 45 00       	push   $0x45057c
40e3fd:	e9 e1 01 00 00       	jmp    0x40e5e3
40e402:	68 54 05 45 00       	push   $0x450554
40e407:	e9 88 01 00 00       	jmp    0x40e594
40e40c:	ff 75 f4             	push   -0xc(%ebp)
40e40f:	68 10 06 45 00       	push   $0x450610
40e414:	e9 ca 01 00 00       	jmp    0x40e5e3
40e419:	68 e4 05 45 00       	push   $0x4505e4
40e41e:	e9 71 01 00 00       	jmp    0x40e594
40e423:	68 cc 06 45 00       	push   $0x4506cc
40e428:	e9 67 01 00 00       	jmp    0x40e594
40e42d:	68 04 07 45 00       	push   $0x450704
40e432:	e9 5d 01 00 00       	jmp    0x40e594
40e437:	8b c6                	mov    %esi,%eax
40e439:	6a 01                	push   $0x1
40e43b:	c1 e0 02             	shl    $0x2,%eax
40e43e:	50                   	push   %eax
40e43f:	e8 90 54 ff ff       	call   0x4038d4
40e444:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
40e448:	89 43 24             	mov    %eax,0x24(%ebx)
40e44b:	75 22                	jne    0x40e46f
40e44d:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40e452:	57                   	push   %edi
40e453:	68 00 01 00 00       	push   $0x100
40e458:	68 98 01 45 00       	push   $0x450198
40e45d:	8b f7                	mov    %edi,%esi
40e45f:	e8 6f 53 ff ff       	call   0x4037d3
40e464:	68 b0 07 45 00       	push   $0x4507b0
40e469:	57                   	push   %edi
40e46a:	e9 26 01 00 00       	jmp    0x40e595
40e46f:	33 c0                	xor    %eax,%eax
40e471:	89 45 0c             	mov    %eax,0xc(%ebp)
40e474:	39 43 0c             	cmp    %eax,0xc(%ebx)
40e477:	0f 86 03 01 00 00    	jbe    0x40e580
40e47d:	33 ff                	xor    %edi,%edi
40e47f:	89 7d e8             	mov    %edi,-0x18(%ebp)
40e482:	8b 73 08             	mov    0x8(%ebx),%esi
40e485:	03 f7                	add    %edi,%esi
40e487:	89 75 dc             	mov    %esi,-0x24(%ebp)
40e48a:	83 be 8c 00 00 00 03 	cmpl   $0x3,0x8c(%esi)
40e491:	0f 85 d3 00 00 00    	jne    0x40e56a
40e497:	8b 53 28             	mov    0x28(%ebx),%edx
40e49a:	8b 4b 20             	mov    0x20(%ebx),%ecx
40e49d:	03 d2                	add    %edx,%edx
40e49f:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
40e4a5:	89 04 d1             	mov    %eax,(%ecx,%edx,8)
40e4a8:	8b 4b 28             	mov    0x28(%ebx),%ecx
40e4ab:	8b 43 20             	mov    0x20(%ebx),%eax
40e4ae:	03 c9                	add    %ecx,%ecx
40e4b0:	c7 44 c8 04 02 00 00 	movl   $0x2,0x4(%eax,%ecx,8)
40e4b7:	00
40e4b8:	8b 4b 28             	mov    0x28(%ebx),%ecx
40e4bb:	8b 43 24             	mov    0x24(%ebx),%eax
40e4be:	89 34 88             	mov    %esi,(%eax,%ecx,4)
40e4c1:	33 c9                	xor    %ecx,%ecx
40e4c3:	ff 43 28             	incl   0x28(%ebx)
40e4c6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40e4c9:	39 4b 0c             	cmp    %ecx,0xc(%ebx)
40e4cc:	0f 86 95 00 00 00    	jbe    0x40e567
40e4d2:	33 c0                	xor    %eax,%eax
40e4d4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e4d7:	8b 73 08             	mov    0x8(%ebx),%esi
40e4da:	03 f0                	add    %eax,%esi
40e4dc:	83 be 8c 00 00 00 02 	cmpl   $0x2,0x8c(%esi)
40e4e3:	75 6a                	jne    0x40e54f
40e4e5:	33 ff                	xor    %edi,%edi
40e4e7:	39 be d4 00 00 00    	cmp    %edi,0xd4(%esi)
40e4ed:	76 60                	jbe    0x40e54f
40e4ef:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40e4f2:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
40e4f8:	83 3c b8 00          	cmpl   $0x0,(%eax,%edi,4)
40e4fc:	74 3f                	je     0x40e53d
40e4fe:	6a ff                	push   $0xffffffff
40e500:	ff 34 b8             	push   (%eax,%edi,4)
40e503:	6a ff                	push   $0xffffffff
40e505:	ff 33                	push   (%ebx)
40e507:	6a 00                	push   $0x0
40e509:	6a 7f                	push   $0x7f
40e50b:	ff 15 28 b1 44 00    	call   *0x44b128
40e511:	83 f8 02             	cmp    $0x2,%eax
40e514:	75 27                	jne    0x40e53d
40e516:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
40e51c:	89 1c b8             	mov    %ebx,(%eax,%edi,4)
40e51f:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
40e525:	83 3c b8 00          	cmpl   $0x0,(%eax,%edi,4)
40e529:	74 12                	je     0x40e53d
40e52b:	ff 34 b8             	push   (%eax,%edi,4)
40e52e:	e8 bc 6f 03 00       	call   0x4454ef
40e533:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
40e539:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
40e53d:	47                   	inc    %edi
40e53e:	3b be d4 00 00 00    	cmp    0xd4(%esi),%edi
40e544:	72 ac                	jb     0x40e4f2
40e546:	8b 5d 08             	mov    0x8(%ebp),%ebx
40e549:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40e54c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40e54f:	41                   	inc    %ecx
40e550:	05 e0 00 00 00       	add    $0xe0,%eax
40e555:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40e558:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e55b:	3b 4b 0c             	cmp    0xc(%ebx),%ecx
40e55e:	0f 82 73 ff ff ff    	jb     0x40e4d7
40e564:	8b 7d e8             	mov    -0x18(%ebp),%edi
40e567:	8b 45 0c             	mov    0xc(%ebp),%eax
40e56a:	40                   	inc    %eax
40e56b:	81 c7 e0 00 00 00    	add    $0xe0,%edi
40e571:	89 45 0c             	mov    %eax,0xc(%ebp)
40e574:	89 7d e8             	mov    %edi,-0x18(%ebp)
40e577:	3b 43 0c             	cmp    0xc(%ebx),%eax
40e57a:	0f 82 02 ff ff ff    	jb     0x40e482
40e580:	ff 75 10             	push   0x10(%ebp)
40e583:	53                   	push   %ebx
40e584:	e8 f5 f2 ff ff       	call   0x40d87e