407308:	85 55 0c             	test   %edx,0xc(%ebp)
40730b:	74 30                	je     0x40733d
40730d:	8b 45 1c             	mov    0x1c(%ebp),%eax
407310:	85 c0                	test   %eax,%eax
407312:	0f 84 ba 00 00 00    	je     0x4073d2
407318:	3b f0                	cmp    %eax,%esi
40731a:	0f 8f b2 00 00 00    	jg     0x4073d2
407320:	6a 00                	push   $0x0
407322:	6a 00                	push   $0x0
407324:	6a 00                	push   $0x0
407326:	50                   	push   %eax
407327:	ff 75 18             	push   0x18(%ebp)
40732a:	57                   	push   %edi
40732b:	53                   	push   %ebx
40732c:	ff 75 0c             	push   0xc(%ebp)
40732f:	ff 75 08             	push   0x8(%ebp)
407332:	ff 15 54 40 42 00    	call   *0x424054
407338:	e9 95 00 00 00       	jmp    0x4073d2
40733d:	8d 04 36             	lea    (%esi,%esi,1),%eax
407340:	8d 48 08             	lea    0x8(%eax),%ecx
407343:	3b c1                	cmp    %ecx,%eax
407345:	1b c0                	sbb    %eax,%eax
407347:	23 c1                	and    %ecx,%eax
407349:	74 73                	je     0x4073be
40734b:	3b c2                	cmp    %edx,%eax
40734d:	77 13                	ja     0x407362
40734f:	e8 8c 08 00 00       	call   0x407be0
407354:	8b fc                	mov    %esp,%edi
407356:	85 ff                	test   %edi,%edi
407358:	74 1e                	je     0x407378
40735a:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
407360:	eb 13                	jmp    0x407375
407362:	50                   	push   %eax
407363:	e8 15 71 00 00       	call   0x40e47d
407368:	8b f8                	mov    %eax,%edi
40736a:	59                   	pop    %ecx
40736b:	85 ff                	test   %edi,%edi
40736d:	74 09                	je     0x407378
40736f:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
407375:	83 c7 08             	add    $0x8,%edi
407378:	89 7d f8             	mov    %edi,-0x8(%ebp)
40737b:	85 ff                	test   %edi,%edi
40737d:	74 43                	je     0x4073c2
40737f:	6a 00                	push   $0x0
407381:	6a 00                	push   $0x0
407383:	6a 00                	push   $0x0
407385:	56                   	push   %esi
407386:	57                   	push   %edi
407387:	ff 75 f0             	push   -0x10(%ebp)
40738a:	53                   	push   %ebx
40738b:	ff 75 0c             	push   0xc(%ebp)
40738e:	ff 75 08             	push   0x8(%ebp)
407391:	ff 15 54 40 42 00    	call   *0x424054
407397:	85 c0                	test   %eax,%eax
407399:	74 27                	je     0x4073c2
40739b:	33 c0                	xor    %eax,%eax
40739d:	50                   	push   %eax
40739e:	50                   	push   %eax
40739f:	39 45 1c             	cmp    %eax,0x1c(%ebp)
4073a2:	75 04                	jne    0x4073a8
4073a4:	50                   	push   %eax
4073a5:	50                   	push   %eax
4073a6:	eb 06                	jmp    0x4073ae
4073a8:	ff 75 1c             	push   0x1c(%ebp)
4073ab:	ff 75 18             	push   0x18(%ebp)
4073ae:	56                   	push   %esi
4073af:	57                   	push   %edi
4073b0:	50                   	push   %eax
4073b1:	ff 75 20             	push   0x20(%ebp)
4073b4:	ff 15 34 40 42 00    	call   *0x424034
4073ba:	8b f0                	mov    %eax,%esi
4073bc:	eb 04                	jmp    0x4073c2
4073be:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4073c2:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4073c5:	e8 3f fe ff ff       	call   0x407209
4073ca:	eb 06                	jmp    0x4073d2
4073cc:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4073d0:	33 f6                	xor    %esi,%esi
4073d2:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4073d5:	e8 2f fe ff ff       	call   0x407209
4073da:	8b c6                	mov    %esi,%eax
4073dc:	8d 65 e4             	lea    -0x1c(%ebp),%esp
4073df:	5f                   	pop    %edi
4073e0:	5e                   	pop    %esi
4073e1:	5b                   	pop    %ebx
4073e2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4073e5:	33 cd                	xor    %ebp,%ecx
4073e7:	e8 20 00 00 00       	call   0x40740c
4073ec:	c9                   	leave
4073ed:	c3                   	ret
4073ee:	55                   	push   %ebp
4073ef:	8b ec                	mov    %esp,%ebp
4073f1:	8b 45 08             	mov    0x8(%ebp),%eax
4073f4:	85 c0                	test   %eax,%eax
4073f6:	74 12                	je     0x40740a
4073f8:	83 e8 08             	sub    $0x8,%eax
4073fb:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
407401:	75 07                	jne    0x40740a
407403:	50                   	push   %eax
407404:	e8 0a 58 00 00       	call   0x40cc13
407409:	59                   	pop    %ecx
40740a:	5d                   	pop    %ebp
40740b:	c3                   	ret
40740c:	3b 0d 14 30 43 00    	cmp    0x433014,%ecx
407412:	75 01                	jne    0x407415
407414:	c3                   	ret
407415:	e9 2d 00 00 00       	jmp    0x407447
40741a:	e9 31 08 00 00       	jmp    0x407c50
40741f:	55                   	push   %ebp
407420:	8b ec                	mov    %esp,%ebp
407422:	6a 00                	push   $0x0
407424:	ff 15 64 40 42 00    	call   *0x424064
40742a:	ff 75 08             	push   0x8(%ebp)
40742d:	ff 15 60 40 42 00    	call   *0x424060
407433:	68 09 04 00 c0       	push   $0xc0000409
407438:	ff 15 68 40 42 00    	call   *0x424068
40743e:	50                   	push   %eax
40743f:	ff 15 6c 40 42 00    	call   *0x42406c
407445:	5d                   	pop    %ebp
407446:	c3                   	ret
407447:	55                   	push   %ebp
407448:	8b ec                	mov    %esp,%ebp
40744a:	81 ec 24 03 00 00    	sub    $0x324,%esp
407450:	6a 17                	push   $0x17
407452:	ff 15 70 40 42 00    	call   *0x424070
407458:	85 c0                	test   %eax,%eax
40745a:	74 05                	je     0x407461
40745c:	6a 02                	push   $0x2
40745e:	59                   	pop    %ecx
40745f:	cd 29                	int    $0x29
407461:	a3 08 43 43 00       	mov    %eax,0x434308
407466:	89 0d 04 43 43 00    	mov    %ecx,0x434304
40746c:	89 15 00 43 43 00    	mov    %edx,0x434300
407472:	89 1d fc 42 43 00    	mov    %ebx,0x4342fc
407478:	89 35 f8 42 43 00    	mov    %esi,0x4342f8
40747e:	89 3d f4 42 43 00    	mov    %edi,0x4342f4
407484:	66 8c 15 20 43 43 00 	data16 mov %ss,0x434320
40748b:	66 8c 0d 14 43 43 00 	data16 mov %cs,0x434314
407492:	66 8c 1d f0 42 43 00 	data16 mov %ds,0x4342f0
407499:	66 8c 05 ec 42 43 00 	data16 mov %es,0x4342ec
4074a0:	66 8c 25 e8 42 43 00 	data16 mov %fs,0x4342e8
4074a7:	66 8c 2d e4 42 43 00 	data16 mov %gs,0x4342e4
4074ae:	9c                   	pushf
4074af:	8f 05 18 43 43 00    	pop    0x434318
4074b5:	8b 45 00             	mov    0x0(%ebp),%eax
4074b8:	a3 0c 43 43 00       	mov    %eax,0x43430c
4074bd:	8b 45 04             	mov    0x4(%ebp),%eax
4074c0:	a3 10 43 43 00       	mov    %eax,0x434310
4074c5:	8d 45 08             	lea    0x8(%ebp),%eax
4074c8:	a3 1c 43 43 00       	mov    %eax,0x43431c
4074cd:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
4074d3:	c7 05 58 42 43 00 01 	movl   $0x10001,0x434258
4074da:	00 01 00
4074dd:	a1 10 43 43 00       	mov    0x434310,%eax
4074e2:	a3 14 42 43 00       	mov    %eax,0x434214
4074e7:	c7 05 08 42 43 00 09 	movl   $0xc0000409,0x434208
4074ee:	04 00 c0
4074f1:	c7 05 0c 42 43 00 01 	movl   $0x1,0x43420c
4074f8:	00 00 00
4074fb:	c7 05 18 42 43 00 01 	movl   $0x1,0x434218
407502:	00 00 00
407505:	6a 04                	push   $0x4
407507:	58                   	pop    %eax
407508:	6b c0 00             	imul   $0x0,%eax,%eax
40750b:	c7 80 1c 42 43 00 02 	movl   $0x2,0x43421c(%eax)
407512:	00 00 00
407515:	6a 04                	push   $0x4
407517:	58                   	pop    %eax
407518:	6b c0 00             	imul   $0x0,%eax,%eax
40751b:	8b 0d 14 30 43 00    	mov    0x433014,%ecx
407521:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
407525:	6a 04                	push   $0x4
407527:	58                   	pop    %eax
407528:	c1 e0 00             	shl    $0x0,%eax
40752b:	8b 0d 10 30 43 00    	mov    0x433010,%ecx
407531:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
407535:	68 d4 51 42 00       	push   $0x4251d4
40753a:	e8 e0 fe ff ff       	call   0x40741f
40753f:	c9                   	leave
407540:	c3                   	ret
407541:	55                   	push   %ebp
407542:	8b ec                	mov    %esp,%ebp
407544:	6a 08                	push   $0x8
407546:	e8 02 00 00 00       	call   0x40754d
40754b:	5d                   	pop    %ebp
40754c:	c3                   	ret
40754d:	55                   	push   %ebp
40754e:	8b ec                	mov    %esp,%ebp
407550:	81 ec 1c 03 00 00    	sub    $0x31c,%esp
407556:	6a 17                	push   $0x17
407558:	ff 15 70 40 42 00    	call   *0x424070
40755e:	85 c0                	test   %eax,%eax
407560:	74 05                	je     0x407567
407562:	8b 4d 08             	mov    0x8(%ebp),%ecx
407565:	cd 29                	int    $0x29
407567:	a3 08 43 43 00       	mov    %eax,0x434308
40756c:	89 0d 04 43 43 00    	mov    %ecx,0x434304
407572:	89 15 00 43 43 00    	mov    %edx,0x434300
407578:	89 1d fc 42 43 00    	mov    %ebx,0x4342fc
40757e:	89 35 f8 42 43 00    	mov    %esi,0x4342f8
407584:	89 3d f4 42 43 00    	mov    %edi,0x4342f4
40758a:	66 8c 15 20 43 43 00 	data16 mov %ss,0x434320
407591:	66 8c 0d 14 43 43 00 	data16 mov %cs,0x434314
407598:	66 8c 1d f0 42 43 00 	data16 mov %ds,0x4342f0
40759f:	66 8c 05 ec 42 43 00 	data16 mov %es,0x4342ec
4075a6:	66 8c 25 e8 42 43 00 	data16 mov %fs,0x4342e8
4075ad:	66 8c 2d e4 42 43 00 	data16 mov %gs,0x4342e4
4075b4:	9c                   	pushf
4075b5:	8f 05 18 43 43 00    	pop    0x434318
4075bb:	8b 45 00             	mov    0x0(%ebp),%eax
4075be:	a3 0c 43 43 00       	mov    %eax,0x43430c
4075c3:	8b 45 04             	mov    0x4(%ebp),%eax
4075c6:	a3 10 43 43 00       	mov    %eax,0x434310
4075cb:	8d 45 08             	lea    0x8(%ebp),%eax
4075ce:	a3 1c 43 43 00       	mov    %eax,0x43431c
4075d3:	8b 85 e4 fc ff ff    	mov    -0x31c(%ebp),%eax
4075d9:	a1 10 43 43 00       	mov    0x434310,%eax
4075de:	a3 14 42 43 00       	mov    %eax,0x434214
4075e3:	c7 05 08 42 43 00 09 	movl   $0xc0000409,0x434208
4075ea:	04 00 c0
4075ed:	c7 05 0c 42 43 00 01 	movl   $0x1,0x43420c
4075f4:	00 00 00
4075f7:	c7 05 18 42 43 00 01 	movl   $0x1,0x434218
4075fe:	00 00 00
407601:	6a 04                	push   $0x4
407603:	58                   	pop    %eax
407604:	6b c0 00             	imul   $0x0,%eax,%eax
407607:	8b 4d 08             	mov    0x8(%ebp),%ecx
40760a:	89 88 1c 42 43 00    	mov    %ecx,0x43421c(%eax)
407610:	68 d4 51 42 00       	push   $0x4251d4
407615:	e8 05 fe ff ff       	call   0x40741f
40761a:	c9                   	leave
40761b:	c3                   	ret
40761c:	55                   	push   %ebp
40761d:	8b ec                	mov    %esp,%ebp
40761f:	eb 0d                	jmp    0x40762e
407621:	ff 75 08             	push   0x8(%ebp)
407624:	e8 24 84 00 00       	call   0x40fa4d
407629:	59                   	pop    %ecx
40762a:	85 c0                	test   %eax,%eax
40762c:	74 0f                	je     0x40763d
40762e:	ff 75 08             	push   0x8(%ebp)
407631:	e8 47 6e 00 00       	call   0x40e47d
407636:	59                   	pop    %ecx
407637:	85 c0                	test   %eax,%eax
407639:	74 e6                	je     0x407621
40763b:	5d                   	pop    %ebp
40763c:	c3                   	ret
40763d:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
407641:	0f 84 99 9c ff ff    	je     0x4012e0
407647:	e9 5f df ff ff       	jmp    0x4055ab
40764c:	55                   	push   %ebp
40764d:	8b ec                	mov    %esp,%ebp
40764f:	ff 75 08             	push   0x8(%ebp)
407652:	e8 f9 05 00 00       	call   0x407c50
407657:	59                   	pop    %ecx
407658:	5d                   	pop    %ebp
407659:	c3                   	ret
40765a:	55                   	push   %ebp
40765b:	8b ec                	mov    %esp,%ebp
40765d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
407661:	56                   	push   %esi
407662:	8b f1                	mov    %ecx,%esi
407664:	c7 06 e0 51 42 00    	movl   $0x4251e0,(%esi)
40766a:	74 0a                	je     0x407676
40766c:	6a 0c                	push   $0xc
40766e:	56                   	push   %esi
40766f:	e8 d8 ff ff ff       	call   0x40764c
407674:	59                   	pop    %ecx
407675:	59                   	pop    %ecx
407676:	8b c6                	mov    %esi,%eax
407678:	5e                   	pop    %esi
407679:	5d                   	pop    %ebp
40767a:	c2 04 00             	ret    $0x4
40767d:	56                   	push   %esi
40767e:	6a 02                	push   $0x2
407680:	e8 af 85 00 00       	call   0x40fc34
407685:	e8 63 06 00 00       	call   0x407ced
40768a:	50                   	push   %eax
40768b:	e8 1e 8f 00 00       	call   0x4105ae
407690:	e8 b4 ec ff ff       	call   0x406349
407695:	8b f0                	mov    %eax,%esi
407697:	e8 7c a7 00 00       	call   0x411e18
40769c:	6a 01                	push   $0x1
40769e:	89 30                	mov    %esi,(%eax)
4076a0:	e8 d2 02 00 00       	call   0x407977
4076a5:	83 c4 0c             	add    $0xc,%esp
4076a8:	5e                   	pop    %esi
4076a9:	84 c0                	test   %al,%al
4076ab:	74 73                	je     0x407720
4076ad:	db e2                	fnclex
4076af:	e8 a5 08 00 00       	call   0x407f59
4076b4:	68 85 7f 40 00       	push   $0x407f85
4076b9:	e8 46 04 00 00       	call   0x407b04
4076be:	e8 ef e7 ff ff       	call   0x405eb2
4076c3:	50                   	push   %eax
4076c4:	e8 19 89 00 00       	call   0x40ffe2
4076c9:	59                   	pop    %ecx
4076ca:	59                   	pop    %ecx
4076cb:	85 c0                	test   %eax,%eax
4076cd:	75 51                	jne    0x407720
4076cf:	e8 1f 06 00 00       	call   0x407cf3
4076d4:	e8 6a 06 00 00       	call   0x407d43
4076d9:	85 c0                	test   %eax,%eax
4076db:	74 0b                	je     0x4076e8
4076dd:	68 49 63 40 00       	push   $0x406349
4076e2:	e8 d4 85 00 00       	call   0x40fcbb
4076e7:	59                   	pop    %ecx
4076e8:	e8 ed e6 ff ff       	call   0x405dda
4076ed:	e8 e8 e6 ff ff       	call   0x405dda
4076f2:	e8 08 06 00 00       	call   0x407cff
4076f7:	e8 4d ec ff ff       	call   0x406349
4076fc:	50                   	push   %eax
4076fd:	e8 65 95 00 00       	call   0x410c67
407702:	59                   	pop    %ecx
407703:	e8 a7 e7 ff ff       	call   0x405eaf
407708:	84 c0                	test   %al,%al
40770a:	74 05                	je     0x407711
40770c:	e8 fc 8a 00 00       	call   0x41020d
407711:	e8 33 ec ff ff       	call   0x406349
407716:	e8 8c 07 00 00       	call   0x407ea7
40771b:	85 c0                	test   %eax,%eax
40771d:	75 01                	jne    0x407720
40771f:	c3                   	ret
407720:	6a 07                	push   $0x7
407722:	e8 34 06 00 00       	call   0x407d5b
407727:	cc                   	int3
407728:	e8 f9 05 00 00       	call   0x407d26
40772d:	33 c0                	xor    %eax,%eax
40772f:	c3                   	ret
407730:	e8 ba 07 00 00       	call   0x407eef
407735:	e8 0f ec ff ff       	call   0x406349
40773a:	50                   	push   %eax
40773b:	e8 a9 a6 00 00       	call   0x411de9
407740:	59                   	pop    %ecx
407741:	c3                   	ret
407742:	6a 14                	push   $0x14
407744:	68 18 13 43 00       	push   $0x431318
407749:	e8 72 08 00 00       	call   0x407fc0
40774e:	6a 01                	push   $0x1
407750:	e8 e9 01 00 00       	call   0x40793e
407755:	59                   	pop    %ecx
407756:	84 c0                	test   %al,%al
407758:	0f 84 4a 01 00 00    	je     0x4078a8
40775e:	32 db                	xor    %bl,%bl
407760:	88 5d e7             	mov    %bl,-0x19(%ebp)
407763:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407767:	e8 a0 01 00 00       	call   0x40790c
40776c:	88 45 dc             	mov    %al,-0x24(%ebp)
40776f:	a1 24 45 43 00       	mov    0x434524,%eax