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
40b49a:	c7 85 34 ff ff ff bc 	movl   $0x401dbc,-0xcc(%ebp)
40b4a1:	1d 40 00
40b4a4:	c7 85 2c ff ff ff 64 	movl   $0x881064,-0xd4(%ebp)
40b4ab:	10 88 00
40b4ae:	c7 85 10 ff ff ff 01 	movl   $0x1,-0xf0(%ebp)
40b4b5:	00 00 00
40b4b8:	c7 85 40 ff ff ff 0f 	movl   $0xf,-0xc0(%ebp)
40b4bf:	00 00 00
40b4c2:	c7 85 3c ff ff ff 80 	movl   $0x40e080,-0xc4(%ebp)
40b4c9:	e0 40 00
40b4cc:	ff 15 b8 62 42 00    	call   *0x4262b8
40b4d2:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
40b4d8:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40b4de:	50                   	push   %eax
40b4df:	ff 15 54 90 42 00    	call   *0x429054
40b4e5:	85 c0                	test   %eax,%eax
40b4e7:	75 09                	jne    0x40b4f2
40b4e9:	e8 b9 fe ff ff       	call   0x40b3a7
40b4ee:	8b f8                	mov    %eax,%edi
40b4f0:	eb 02                	jmp    0x40b4f4
40b4f2:	33 ff                	xor    %edi,%edi
40b4f4:	ff b5 50 ff ff ff    	push   -0xb0(%ebp)
40b4fa:	ff 15 b8 62 42 00    	call   *0x4262b8
40b500:	85 ff                	test   %edi,%edi
40b502:	78 2e                	js     0x40b532
40b504:	e8 e0 37 01 00       	call   0x41ece9
40b509:	83 3d bc 4e 42 00 00 	cmpl   $0x0,0x424ebc
40b510:	75 0c                	jne    0x40b51e
40b512:	8b ce                	mov    %esi,%ecx
40b514:	e8 8c fb ff ff       	call   0x40b0a5
40b519:	a3 bc 4e 42 00       	mov    %eax,0x424ebc
40b51e:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
40b524:	3b d8                	cmp    %eax,%ebx
40b526:	74 0a                	je     0x40b532
40b528:	56                   	push   %esi
40b529:	8b cb                	mov    %ebx,%ecx
40b52b:	e8 02 2d 00 00       	call   0x40e232
40b530:	33 f6                	xor    %esi,%esi
40b532:	85 f6                	test   %esi,%esi
40b534:	74 07                	je     0x40b53d
40b536:	56                   	push   %esi
40b537:	ff 15 dc 62 42 00    	call   *0x4262dc
40b53d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b540:	8b c7                	mov    %edi,%eax
40b542:	5f                   	pop    %edi
40b543:	5e                   	pop    %esi
40b544:	33 cd                	xor    %ebp,%ecx
40b546:	5b                   	pop    %ebx
40b547:	e8 24 63 01 00       	call   0x421870
40b54c:	c9                   	leave
40b54d:	c3                   	ret
40b54e:	8b ff                	mov    %edi,%edi
40b550:	55                   	push   %ebp
40b551:	8b ec                	mov    %esp,%ebp
40b553:	83 ec 0c             	sub    $0xc,%esp
40b556:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40b55a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40b55d:	53                   	push   %ebx
40b55e:	56                   	push   %esi
40b55f:	57                   	push   %edi
40b560:	50                   	push   %eax
40b561:	68 d8 1f 40 00       	push   $0x401fd8
40b566:	6a 01                	push   $0x1
40b568:	6a 00                	push   $0x0
40b56a:	68 fc 18 40 00       	push   $0x4018fc
40b56f:	8b da                	mov    %edx,%ebx
40b571:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40b574:	ff 15 e4 62 42 00    	call   *0x4262e4
40b57a:	8b f8                	mov    %eax,%edi
40b57c:	85 ff                	test   %edi,%edi
40b57e:	0f 88 d0 00 00 00    	js     0x40b654
40b584:	8b 75 f8             	mov    -0x8(%ebp),%esi
40b587:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b58b:	8b 06                	mov    (%esi),%eax
40b58d:	8b 38                	mov    (%eax),%edi
40b58f:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b592:	50                   	push   %eax
40b593:	e8 05 3c 00 00       	call   0x40f19d
40b598:	50                   	push   %eax
40b599:	68 c8 1f 40 00       	push   $0x401fc8
40b59e:	56                   	push   %esi
40b59f:	8b cf                	mov    %edi,%ecx
40b5a1:	ff 15 78 64 42 00    	call   *0x426478
40b5a7:	ff d7                	call   *%edi
40b5a9:	8b f8                	mov    %eax,%edi
40b5ab:	85 ff                	test   %edi,%edi
40b5ad:	0f 88 86 00 00 00    	js     0x40b639
40b5b3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b5b6:	b2 01                	mov    $0x1,%dl
40b5b8:	e8 73 fb ff ff       	call   0x40b130
40b5bd:	8b f8                	mov    %eax,%edi
40b5bf:	85 ff                	test   %edi,%edi
40b5c1:	78 76                	js     0x40b639
40b5c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b5c6:	6a 00                	push   $0x0
40b5c8:	6a 01                	push   $0x1
40b5ca:	50                   	push   %eax
40b5cb:	8b 08                	mov    (%eax),%ecx
40b5cd:	8b 71 64             	mov    0x64(%ecx),%esi
40b5d0:	8b ce                	mov    %esi,%ecx
40b5d2:	ff 15 78 64 42 00    	call   *0x426478
40b5d8:	ff d6                	call   *%esi
40b5da:	8b f8                	mov    %eax,%edi
40b5dc:	85 ff                	test   %edi,%edi
40b5de:	78 59                	js     0x40b639
40b5e0:	8b 55 f8             	mov    -0x8(%ebp),%edx
40b5e3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b5e6:	53                   	push   %ebx
40b5e7:	ff 35 b4 42 42 00    	push   0x4242b4
40b5ed:	e8 78 fc ff ff       	call   0x40b26a
40b5f2:	8b f8                	mov    %eax,%edi
40b5f4:	85 ff                	test   %edi,%edi
40b5f6:	78 41                	js     0x40b639
40b5f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b5fb:	8b 08                	mov    (%eax),%ecx
40b5fd:	8b 71 60             	mov    0x60(%ecx),%esi
40b600:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40b603:	51                   	push   %ecx
40b604:	6a 01                	push   $0x1
40b606:	50                   	push   %eax
40b607:	8b ce                	mov    %esi,%ecx
40b609:	ff 15 78 64 42 00    	call   *0x426478
40b60f:	ff d6                	call   *%esi
40b611:	8b f8                	mov    %eax,%edi
40b613:	85 ff                	test   %edi,%edi
40b615:	78 22                	js     0x40b639
40b617:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b61a:	a3 bc 4e 42 00       	mov    %eax,0x424ebc
40b61f:	e8 c5 36 01 00       	call   0x41ece9
40b624:	83 3d bc 4e 42 00 00 	cmpl   $0x0,0x424ebc
40b62b:	75 0c                	jne    0x40b639
40b62d:	8b 0b                	mov    (%ebx),%ecx
40b62f:	e8 71 fa ff ff       	call   0x40b0a5
40b634:	a3 bc 4e 42 00       	mov    %eax,0x424ebc
40b639:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b63c:	85 c9                	test   %ecx,%ecx
40b63e:	74 14                	je     0x40b654
40b640:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b644:	8b 01                	mov    (%ecx),%eax
40b646:	51                   	push   %ecx
40b647:	8b 70 08             	mov    0x8(%eax),%esi
40b64a:	8b ce                	mov    %esi,%ecx
40b64c:	ff 15 78 64 42 00    	call   *0x426478
40b652:	ff d6                	call   *%esi
40b654:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40b657:	85 c9                	test   %ecx,%ecx
40b659:	74 14                	je     0x40b66f
40b65b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40b65f:	8b 01                	mov    (%ecx),%eax
40b661:	51                   	push   %ecx
40b662:	8b 70 08             	mov    0x8(%eax),%esi
40b665:	8b ce                	mov    %esi,%ecx
40b667:	ff 15 78 64 42 00    	call   *0x426478
40b66d:	ff d6                	call   *%esi
40b66f:	8b c7                	mov    %edi,%eax
40b671:	5f                   	pop    %edi
40b672:	5e                   	pop    %esi
40b673:	5b                   	pop    %ebx
40b674:	c9                   	leave
40b675:	c3                   	ret
40b676:	8b ff                	mov    %edi,%edi
40b678:	55                   	push   %ebp
40b679:	8b ec                	mov    %esp,%ebp
40b67b:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
40b681:	a1 10 42 42 00       	mov    0x424210,%eax
40b686:	33 c5                	xor    %ebp,%eax
40b688:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b68b:	53                   	push   %ebx
40b68c:	56                   	push   %esi
40b68d:	57                   	push   %edi
40b68e:	8b da                	mov    %edx,%ebx
40b690:	89 8d 54 ff ff ff    	mov    %ecx,-0xac(%ebp)
40b696:	68 04 01 00 00       	push   $0x104
40b69b:	33 d2                	xor    %edx,%edx
40b69d:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx