40b0a7:	55                   	push   %ebp
40b0a8:	8b ec                	mov    %esp,%ebp
40b0aa:	81 ec 08 04 00 00    	sub    $0x408,%esp
40b0b0:	a1 10 42 42 00       	mov    0x424210,%eax
40b0b5:	33 c5                	xor    %ebp,%eax
40b0b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b0ba:	56                   	push   %esi
40b0bb:	57                   	push   %edi
40b0bc:	8b 3d c0 4e 42 00    	mov    0x424ec0,%edi
40b0c2:	6a 00                	push   $0x0
40b0c4:	68 80 00 00 00       	push   $0x80
40b0c9:	6a 03                	push   $0x3
40b0cb:	6a 00                	push   $0x0
40b0cd:	6a 01                	push   $0x1
40b0cf:	68 00 00 00 80       	push   $0x80000000
40b0d4:	51                   	push   %ecx
40b0d5:	ff 15 94 60 42 00    	call   *0x426094
40b0db:	8b f0                	mov    %eax,%esi
40b0dd:	83 fe ff             	cmp    $0xffffffff,%esi
40b0e0:	74 3e                	je     0x40b120
40b0e2:	6a 00                	push   $0x0
40b0e4:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
40b0ea:	50                   	push   %eax
40b0eb:	68 00 04 00 00       	push   $0x400
40b0f0:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40b0f6:	50                   	push   %eax
40b0f7:	56                   	push   %esi
40b0f8:	ff 15 98 60 42 00    	call   *0x426098
40b0fe:	85 c0                	test   %eax,%eax
40b100:	7e 17                	jle    0x40b119
40b102:	8b 95 f8 fb ff ff    	mov    -0x408(%ebp),%edx
40b108:	85 d2                	test   %edx,%edx
40b10a:	74 0d                	je     0x40b119
40b10c:	8d 8d fc fb ff ff    	lea    -0x404(%ebp),%ecx
40b112:	e8 cd fe ff ff       	call   0x40afe4
40b117:	8b f8                	mov    %eax,%edi
40b119:	56                   	push   %esi
40b11a:	ff 15 54 61 42 00    	call   *0x426154
40b120:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b123:	8b c7                	mov    %edi,%eax
40b125:	5f                   	pop    %edi
40b126:	33 cd                	xor    %ebp,%ecx
40b128:	5e                   	pop    %esi
40b129:	e8 42 67 01 00       	call   0x421870
40b12e:	c9                   	leave
40b12f:	c3                   	ret
40b130:	8b ff                	mov    %edi,%edi
40b132:	55                   	push   %ebp
40b133:	8b ec                	mov    %esp,%ebp
40b135:	51                   	push   %ecx
40b136:	53                   	push   %ebx
40b137:	56                   	push   %esi
40b138:	57                   	push   %edi
40b139:	ff 35 34 42 42 00    	push   0x424234
40b13f:	8b f9                	mov    %ecx,%edi
40b141:	88 55 ff             	mov    %dl,-0x1(%ebp)
40b144:	6a 02                	push   $0x2
40b146:	57                   	push   %edi
40b147:	8b 07                	mov    (%edi),%eax
40b149:	8b 70 68             	mov    0x68(%eax),%esi
40b14c:	8b ce                	mov    %esi,%ecx
40b14e:	ff 15 78 64 42 00    	call   *0x426478
40b154:	ff d6                	call   *%esi
40b156:	8b d8                	mov    %eax,%ebx
40b158:	85 db                	test   %ebx,%ebx
40b15a:	0f 88 03 01 00 00    	js     0x40b263
40b160:	8b 07                	mov    (%edi),%eax
40b162:	6a 01                	push   $0x1
40b164:	57                   	push   %edi
40b165:	8b 70 18             	mov    0x18(%eax),%esi
40b168:	8b ce                	mov    %esi,%ecx
40b16a:	ff 15 78 64 42 00    	call   *0x426478
40b170:	ff d6                	call   *%esi
40b172:	8b d8                	mov    %eax,%ebx
40b174:	85 db                	test   %ebx,%ebx
40b176:	0f 88 d7 00 00 00    	js     0x40b253
40b17c:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40b180:	74 1c                	je     0x40b19e
40b182:	ff 35 8c 42 42 00    	push   0x42428c
40b188:	8b 07                	mov    (%edi),%eax
40b18a:	6a 00                	push   $0x0
40b18c:	6a 01                	push   $0x1
40b18e:	57                   	push   %edi
40b18f:	8b 70 4c             	mov    0x4c(%eax),%esi
40b192:	8b ce                	mov    %esi,%ecx
40b194:	ff 15 78 64 42 00    	call   *0x426478
40b19a:	ff d6                	call   *%esi
40b19c:	8b d8                	mov    %eax,%ebx
40b19e:	85 db                	test   %ebx,%ebx
40b1a0:	0f 88 ad 00 00 00    	js     0x40b253
40b1a6:	ff 35 88 42 42 00    	push   0x424288
40b1ac:	8b 07                	mov    (%edi),%eax
40b1ae:	6a 01                	push   $0x1
40b1b0:	6a 01                	push   $0x1
40b1b2:	57                   	push   %edi
40b1b3:	8b 70 4c             	mov    0x4c(%eax),%esi
40b1b6:	8b ce                	mov    %esi,%ecx
40b1b8:	ff 15 78 64 42 00    	call   *0x426478
40b1be:	ff d6                	call   *%esi
40b1c0:	8b d8                	mov    %eax,%ebx
40b1c2:	85 db                	test   %ebx,%ebx
40b1c4:	0f 88 89 00 00 00    	js     0x40b253
40b1ca:	ff 35 84 42 42 00    	push   0x424284
40b1d0:	8b 07                	mov    (%edi),%eax
40b1d2:	6a 02                	push   $0x2
40b1d4:	6a 01                	push   $0x1
40b1d6:	57                   	push   %edi
40b1d7:	8b 70 4c             	mov    0x4c(%eax),%esi
40b1da:	8b ce                	mov    %esi,%ecx
40b1dc:	ff 15 78 64 42 00    	call   *0x426478
40b1e2:	ff d6                	call   *%esi
40b1e4:	8b d8                	mov    %eax,%ebx
40b1e6:	85 db                	test   %ebx,%ebx
40b1e8:	78 69                	js     0x40b253
40b1ea:	ff 35 80 42 42 00    	push   0x424280
40b1f0:	8b 07                	mov    (%edi),%eax
40b1f2:	6a 03                	push   $0x3
40b1f4:	6a 01                	push   $0x1
40b1f6:	57                   	push   %edi
40b1f7:	8b 70 4c             	mov    0x4c(%eax),%esi
40b1fa:	8b ce                	mov    %esi,%ecx
40b1fc:	ff 15 78 64 42 00    	call   *0x426478
40b202:	ff d6                	call   *%esi
40b204:	8b d8                	mov    %eax,%ebx
40b206:	85 db                	test   %ebx,%ebx
40b208:	78 49                	js     0x40b253
40b20a:	51                   	push   %ecx
40b20b:	51                   	push   %ecx
40b20c:	6a 01                	push   $0x1
40b20e:	b9 e0 4d 42 00       	mov    $0x424de0,%ecx
40b213:	e8 30 3a 00 00       	call   0x40ec48
40b218:	ff 35 7c 42 42 00    	push   0x42427c
40b21e:	8b 37                	mov    (%edi),%esi
40b220:	6a 05                	push   $0x5
40b222:	6a 01                	push   $0x1
40b224:	57                   	push   %edi
40b225:	8b 4e 4c             	mov    0x4c(%esi),%ecx
40b228:	ff 15 78 64 42 00    	call   *0x426478
40b22e:	ff 56 4c             	call   *0x4c(%esi)
40b231:	8b d8                	mov    %eax,%ebx
40b233:	85 db                	test   %ebx,%ebx
40b235:	78 1c                	js     0x40b253
40b237:	ff 35 78 42 42 00    	push   0x424278
40b23d:	8b 07                	mov    (%edi),%eax
40b23f:	6a 04                	push   $0x4
40b241:	6a 01                	push   $0x1
40b243:	57                   	push   %edi
40b244:	8b 70 4c             	mov    0x4c(%eax),%esi
40b247:	8b ce                	mov    %esi,%ecx
40b249:	ff 15 78 64 42 00    	call   *0x426478
40b24f:	ff d6                	call   *%esi
40b251:	8b d8                	mov    %eax,%ebx
40b253:	8b 07                	mov    (%edi),%eax
40b255:	57                   	push   %edi
40b256:	8b 70 6c             	mov    0x6c(%eax),%esi
40b259:	8b ce                	mov    %esi,%ecx
40b25b:	ff 15 78 64 42 00    	call   *0x426478
40b261:	ff d6                	call   *%esi
40b263:	5f                   	pop    %edi
40b264:	5e                   	pop    %esi
40b265:	8b c3                	mov    %ebx,%eax
40b267:	5b                   	pop    %ebx
40b268:	c9                   	leave
40b269:	c3                   	ret
40b26a:	8b ff                	mov    %edi,%edi
40b26c:	55                   	push   %ebp
40b26d:	8b ec                	mov    %esp,%ebp
40b26f:	83 ec 18             	sub    $0x18,%esp
40b272:	53                   	push   %ebx
40b273:	8b da                	mov    %edx,%ebx
40b275:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40b278:	56                   	push   %esi
40b279:	57                   	push   %edi
40b27a:	ff 75 08             	push   0x8(%ebp)
40b27d:	8b 03                	mov    (%ebx),%eax
40b27f:	53                   	push   %ebx
40b280:	8b 70 44             	mov    0x44(%eax),%esi
40b283:	8b ce                	mov    %esi,%ecx
40b285:	ff 15 78 64 42 00    	call   *0x426478
40b28b:	ff d6                	call   *%esi
40b28d:	8b f8                	mov    %eax,%edi
40b28f:	85 ff                	test   %edi,%edi
40b291:	0f 88 07 01 00 00    	js     0x40b39e
40b297:	8b 03                	mov    (%ebx),%eax
40b299:	68 bc 1d 40 00       	push   $0x401dbc
40b29e:	53                   	push   %ebx
40b29f:	8b 70 58             	mov    0x58(%eax),%esi
40b2a2:	8b ce                	mov    %esi,%ecx
40b2a4:	ff 15 78 64 42 00    	call   *0x426478
40b2aa:	ff d6                	call   *%esi
40b2ac:	8b f8                	mov    %eax,%edi
40b2ae:	85 ff                	test   %edi,%edi
40b2b0:	0f 88 e8 00 00 00    	js     0x40b39e
40b2b6:	a1 bc 42 42 00       	mov    0x4242bc,%eax
40b2bb:	89 45 e8             	mov    %eax,-0x18(%ebp)
40b2be:	a1 b8 42 42 00       	mov    0x4242b8,%eax
40b2c3:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b2c6:	8b 03                	mov    (%ebx),%eax
40b2c8:	c7 45 ec a8 1d 40 00 	movl   $0x401da8,-0x14(%ebp)
40b2cf:	c7 45 f4 b4 1d 40 00 	movl   $0x401db4,-0xc(%ebp)
40b2d6:	8b 70 10             	mov    0x10(%eax),%esi
40b2d9:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b2dc:	50                   	push   %eax
40b2dd:	6a 02                	push   $0x2
40b2df:	53                   	push   %ebx
40b2e0:	8b ce                	mov    %esi,%ecx
40b2e2:	ff 15 78 64 42 00    	call   *0x426478
40b2e8:	ff d6                	call   *%esi
40b2ea:	8b f8                	mov    %eax,%edi
40b2ec:	85 ff                	test   %edi,%edi
40b2ee:	0f 88 aa 00 00 00    	js     0x40b39e
40b2f4:	8b 03                	mov    (%ebx),%eax
40b2f6:	8b 70 28             	mov    0x28(%eax),%esi
40b2f9:	8d 45 f8             	lea    -0x8(%ebp),%eax
40b2fc:	50                   	push   %eax
40b2fd:	53                   	push   %ebx
40b2fe:	8b ce                	mov    %esi,%ecx
40b300:	ff 15 78 64 42 00    	call   *0x426478
40b306:	ff d6                	call   *%esi
40b308:	8b f8                	mov    %eax,%edi
40b30a:	85 ff                	test   %edi,%edi
40b30c:	0f 88 8c 00 00 00    	js     0x40b39e
40b312:	8b 03                	mov    (%ebx),%eax
40b314:	8b 70 24             	mov    0x24(%eax),%esi
40b317:	8b ce                	mov    %esi,%ecx
40b319:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b31c:	83 c8 40             	or     $0x40,%eax
40b31f:	50                   	push   %eax
40b320:	53                   	push   %ebx
40b321:	ff 15 78 64 42 00    	call   *0x426478
40b327:	ff d6                	call   *%esi
40b329:	8b f8                	mov    %eax,%edi
40b32b:	85 ff                	test   %edi,%edi
40b32d:	78 6f                	js     0x40b39e
40b32f:	8b 03                	mov    (%ebx),%eax
40b331:	ff 75 fc             	push   -0x4(%ebp)
40b334:	53                   	push   %ebx
40b335:	8b 70 0c             	mov    0xc(%eax),%esi
40b338:	8b ce                	mov    %esi,%ecx
40b33a:	ff 15 78 64 42 00    	call   *0x426478
40b340:	ff d6                	call   *%esi
40b342:	8b f8                	mov    %eax,%edi
40b344:	85 ff                	test   %edi,%edi
40b346:	78 56                	js     0x40b39e
40b348:	8b 03                	mov    (%ebx),%eax
40b34a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b34e:	8b 70 50             	mov    0x50(%eax),%esi
40b351:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b354:	50                   	push   %eax
40b355:	53                   	push   %ebx
40b356:	8b ce                	mov    %esi,%ecx
40b358:	ff 15 78 64 42 00    	call   *0x426478
40b35e:	ff d6                	call   *%esi
40b360:	8b f8                	mov    %eax,%edi
40b362:	85 ff                	test   %edi,%edi
40b364:	78 1d                	js     0x40b383
40b366:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b369:	ff 75 0c             	push   0xc(%ebp)
40b36c:	68 00 80 05 80       	push   $0x80058000
40b371:	8b 08                	mov    (%eax),%ecx
40b373:	50                   	push   %eax
40b374:	8b 71 14             	mov    0x14(%ecx),%esi
40b377:	8b ce                	mov    %esi,%ecx
40b379:	ff 15 78 64 42 00    	call   *0x426478
40b37f:	ff d6                	call   *%esi
40b381:	8b f8                	mov    %eax,%edi
40b383:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b386:	85 c9                	test   %ecx,%ecx
40b388:	74 14                	je     0x40b39e
40b38a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b38e:	8b 01                	mov    (%ecx),%eax
40b390:	51                   	push   %ecx
40b391:	8b 70 08             	mov    0x8(%eax),%esi
40b394:	8b ce                	mov    %esi,%ecx
40b396:	ff 15 78 64 42 00    	call   *0x426478
40b39c:	ff d6                	call   *%esi
40b39e:	8b c7                	mov    %edi,%eax
40b3a0:	5f                   	pop    %edi
40b3a1:	5e                   	pop    %esi
40b3a2:	5b                   	pop    %ebx
40b3a3:	c9                   	leave
40b3a4:	c2 08 00             	ret    $0x8
40b3a7:	ff 15 4c 90 42 00    	call   *0x42904c
40b3ad:	85 c0                	test   %eax,%eax
40b3af:	75 06                	jne    0x40b3b7
40b3b1:	b8 c7 04 07 80       	mov    $0x800704c7,%eax
40b3b6:	c3                   	ret
40b3b7:	e8 0b 29 00 00       	call   0x40dcc7
40b3bc:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b3c1:	c3                   	ret
40b3c2:	33 c0                	xor    %eax,%eax
40b3c4:	50                   	push   %eax
40b3c5:	50                   	push   %eax
40b3c6:	ff 35 b8 42 42 00    	push   0x4242b8
40b3cc:	50                   	push   %eax
40b3cd:	50                   	push   %eax
40b3ce:	ff 35 bc 42 42 00    	push   0x4242bc
40b3d4:	68 c4 1d 40 00       	push   $0x401dc4
40b3d9:	6a 50                	push   $0x50
40b3db:	51                   	push   %ecx
40b3dc:	e8 16 b1 ff ff       	call   0x4064f7
40b3e1:	83 c4 24             	add    $0x24,%esp
40b3e4:	c3                   	ret
40b3e5:	8b ff                	mov    %edi,%edi
40b3e7:	55                   	push   %ebp
40b3e8:	8b ec                	mov    %esp,%ebp
40b3ea:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
40b3f0:	a1 10 42 42 00       	mov    0x424210,%eax
40b3f5:	33 c5                	xor    %ebp,%eax
40b3f7:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b3fa:	53                   	push   %ebx
40b3fb:	56                   	push   %esi
40b3fc:	57                   	push   %edi
40b3fd:	8b d9                	mov    %ecx,%ebx
40b3ff:	33 d2                	xor    %edx,%edx
40b401:	68 04 01 00 00       	push   $0x104
40b406:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40b40c:	bf 05 40 00 80       	mov    $0x80004005,%edi
40b411:	e8 cd 46 00 00       	call   0x40fae3
40b416:	8b b5 54 ff ff ff    	mov    -0xac(%ebp),%esi
40b41c:	85 f6                	test   %esi,%esi
40b41e:	0f 84 19 01 00 00    	je     0x40b53d
40b424:	6a 58                	push   $0x58
40b426:	5f                   	pop    %edi
40b427:	57                   	push   %edi
40b428:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40b42e:	6a 00                	push   $0x0
40b430:	50                   	push   %eax
40b431:	e8 12 74 01 00       	call   0x422848
40b436:	a1 0c 5e 42 00       	mov    0x425e0c,%eax
40b43b:	83 c4 0c             	add    $0xc,%esp
40b43e:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
40b444:	ba 04 01 00 00       	mov    $0x104,%edx
40b449:	a1 30 4f 42 00       	mov    0x424f30,%eax
40b44e:	8b ce                	mov    %esi,%ecx
40b450:	89 bd f8 fe ff ff    	mov    %edi,-0x108(%ebp)
40b456:	68 a8 1d 40 00       	push   $0x401da8
40b45b:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
40b461:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
40b467:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
40b46d:	e8 e2 af ff ff       	call   0x406454
40b472:	a1 b4 42 42 00       	mov    0x4242b4,%eax
40b477:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
40b47d:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
40b483:	e8 3a ff ff ff       	call   0x40b3c2
40b488:	85 c0                	test   %eax,%eax
40b48a:	78 0c                	js     0x40b498
40b48c:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
40b492:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
40b498:	6a fe                	push   $0xfffffffe