40831b:	85 c0                	test   %eax,%eax
40831d:	74 10                	je     0x40832f
40831f:	50                   	push   %eax
408320:	e8 6e a4 ff ff       	call   0x402793
408325:	33 c0                	xor    %eax,%eax
408327:	89 45 fc             	mov    %eax,-0x4(%ebp)
40832a:	eb 03                	jmp    0x40832f
40832c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40832f:	8b 4d 08             	mov    0x8(%ebp),%ecx
408332:	43                   	inc    %ebx
408333:	83 c1 38             	add    $0x38,%ecx
408336:	89 4d 08             	mov    %ecx,0x8(%ebp)
408339:	3b 5e 1c             	cmp    0x1c(%esi),%ebx
40833c:	72 84                	jb     0x4082c2
40833e:	5f                   	pop    %edi
40833f:	50                   	push   %eax
408340:	e8 4e a4 ff ff       	call   0x402793
408345:	5e                   	pop    %esi
408346:	5b                   	pop    %ebx
408347:	8b e5                	mov    %ebp,%esp
408349:	5d                   	pop    %ebp
40834a:	c2 04 00             	ret    $0x4
40834d:	55                   	push   %ebp
40834e:	8b ec                	mov    %esp,%ebp
408350:	83 ec 38             	sub    $0x38,%esp
408353:	53                   	push   %ebx
408354:	8b 5d 08             	mov    0x8(%ebp),%ebx
408357:	33 d2                	xor    %edx,%edx
408359:	56                   	push   %esi
40835a:	57                   	push   %edi
40835b:	6a 06                	push   $0x6
40835d:	59                   	pop    %ecx
40835e:	33 c0                	xor    %eax,%eax
408360:	89 55 ec             	mov    %edx,-0x14(%ebp)
408363:	8d 7d c8             	lea    -0x38(%ebp),%edi
408366:	89 55 f4             	mov    %edx,-0xc(%ebp)
408369:	f3 ab                	rep stos %eax,%es:(%edi)
40836b:	53                   	push   %ebx
40836c:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40836f:	89 55 fc             	mov    %edx,-0x4(%ebp)
408372:	89 55 f8             	mov    %edx,-0x8(%ebp)
408375:	89 55 f0             	mov    %edx,-0x10(%ebp)
408378:	89 55 e0             	mov    %edx,-0x20(%ebp)
40837b:	89 55 e8             	mov    %edx,-0x18(%ebp)
40837e:	ff 15 b4 b1 44 00    	call   *0x44b1b4
408384:	8d 45 ec             	lea    -0x14(%ebp),%eax
408387:	50                   	push   %eax
408388:	68 ec c9 44 00       	push   $0x44c9ec
40838d:	ff 75 0c             	push   0xc(%ebp)
408390:	e8 6e b4 03 00       	call   0x443803
408395:	8b f0                	mov    %eax,%esi
408397:	85 f6                	test   %esi,%esi
408399:	79 0a                	jns    0x4083a5
40839b:	68 00 ca 44 00       	push   $0x44ca00
4083a0:	e9 2d 03 00 00       	jmp    0x4086d2
4083a5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4083a8:	8d 55 e4             	lea    -0x1c(%ebp),%edx
4083ab:	52                   	push   %edx
4083ac:	50                   	push   %eax
4083ad:	8b 08                	mov    (%eax),%ecx
4083af:	ff 51 20             	call   *0x20(%ecx)
4083b2:	8b f0                	mov    %eax,%esi
4083b4:	85 f6                	test   %esi,%esi
4083b6:	79 0a                	jns    0x4083c2
4083b8:	68 24 ca 44 00       	push   $0x44ca24
4083bd:	e9 10 03 00 00       	jmp    0x4086d2
4083c2:	33 ff                	xor    %edi,%edi
4083c4:	89 7d 08             	mov    %edi,0x8(%ebp)
4083c7:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
4083ca:	0f 86 0a 03 00 00    	jbe    0x4086da
4083d0:	57                   	push   %edi
4083d1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4083d4:	50                   	push   %eax
4083d5:	ff 75 ec             	push   -0x14(%ebp)
4083d8:	e8 83 b3 03 00       	call   0x443760
4083dd:	8b f0                	mov    %eax,%esi
4083df:	85 f6                	test   %esi,%esi
4083e1:	0f 88 e6 02 00 00    	js     0x4086cd
4083e7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4083ea:	50                   	push   %eax
4083eb:	68 64 ca 44 00       	push   $0x44ca64
4083f0:	ff 75 f4             	push   -0xc(%ebp)
4083f3:	e8 cf ad 03 00       	call   0x4431c7
4083f8:	8b f0                	mov    %eax,%esi
4083fa:	85 f6                	test   %esi,%esi
4083fc:	0f 88 c4 02 00 00    	js     0x4086c6
408402:	8d 45 f0             	lea    -0x10(%ebp),%eax
408405:	50                   	push   %eax
408406:	68 80 ca 44 00       	push   $0x44ca80
40840b:	ff 75 f4             	push   -0xc(%ebp)
40840e:	e8 c8 af 03 00       	call   0x4433db
408413:	8b f0                	mov    %eax,%esi
408415:	85 f6                	test   %esi,%esi
408417:	0f 88 a2 02 00 00    	js     0x4086bf
40841d:	8d 45 e0             	lea    -0x20(%ebp),%eax
408420:	50                   	push   %eax
408421:	68 a8 ca 44 00       	push   $0x44caa8
408426:	ff 75 f4             	push   -0xc(%ebp)
408429:	e8 ad af 03 00       	call   0x4433db
40842e:	8b f0                	mov    %eax,%esi
408430:	85 f6                	test   %esi,%esi
408432:	0f 88 80 02 00 00    	js     0x4086b8
408438:	8d 45 f8             	lea    -0x8(%ebp),%eax
40843b:	50                   	push   %eax
40843c:	68 d8 ca 44 00       	push   $0x44cad8
408441:	ff 75 f4             	push   -0xc(%ebp)
408444:	e8 7e ad 03 00       	call   0x4431c7
408449:	8b f0                	mov    %eax,%esi
40844b:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
408451:	0f 84 e6 00 00 00    	je     0x40853d
408457:	85 f6                	test   %esi,%esi
408459:	0f 88 0e 02 00 00    	js     0x40866d
40845f:	57                   	push   %edi
408460:	ff 75 f8             	push   -0x8(%ebp)
408463:	8d 45 c8             	lea    -0x38(%ebp),%eax
408466:	50                   	push   %eax
408467:	e8 88 7e 01 00       	call   0x4202f4
40846c:	8b f0                	mov    %eax,%esi
40846e:	85 f6                	test   %esi,%esi
408470:	0f 88 f0 01 00 00    	js     0x408666
408476:	8d 45 f8             	lea    -0x8(%ebp),%eax
408479:	50                   	push   %eax
40847a:	68 1c cb 44 00       	push   $0x44cb1c
40847f:	ff 75 f4             	push   -0xc(%ebp)
408482:	e8 40 ad 03 00       	call   0x4431c7
408487:	8b f0                	mov    %eax,%esi
408489:	85 f6                	test   %esi,%esi
40848b:	0f 88 ce 01 00 00    	js     0x40865f
408491:	6a ff                	push   $0xffffffff
408493:	68 40 cb 44 00       	push   $0x44cb40
408498:	6a ff                	push   $0xffffffff
40849a:	ff 75 f8             	push   -0x8(%ebp)
40849d:	57                   	push   %edi
40849e:	6a 7f                	push   $0x7f
4084a0:	ff 15 28 b1 44 00    	call   *0x44b128
4084a6:	6a 02                	push   $0x2
4084a8:	5e                   	pop    %esi
4084a9:	3b c6                	cmp    %esi,%eax
4084ab:	75 1f                	jne    0x4084cc
4084ad:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4084b1:	75 14                	jne    0x4084c7
4084b3:	ff 75 c8             	push   -0x38(%ebp)
4084b6:	ff 75 fc             	push   -0x4(%ebp)
4084b9:	68 50 cb 44 00       	push   $0x44cb50
4084be:	56                   	push   %esi
4084bf:	e8 56 81 03 00       	call   0x44061a
4084c4:	83 c4 10             	add    $0x10,%esp
4084c7:	33 f6                	xor    %esi,%esi
4084c9:	46                   	inc    %esi
4084ca:	eb 73                	jmp    0x40853f
4084cc:	6a ff                	push   $0xffffffff
4084ce:	68 84 cb 44 00       	push   $0x44cb84
4084d3:	6a ff                	push   $0xffffffff
4084d5:	ff 75 f8             	push   -0x8(%ebp)
4084d8:	57                   	push   %edi
4084d9:	6a 7f                	push   $0x7f
4084db:	ff 15 28 b1 44 00    	call   *0x44b128
4084e1:	3b c6                	cmp    %esi,%eax
4084e3:	75 1c                	jne    0x408501
4084e5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4084e9:	75 5a                	jne    0x408545
4084eb:	ff 75 c8             	push   -0x38(%ebp)
4084ee:	ff 75 fc             	push   -0x4(%ebp)
4084f1:	68 94 cb 44 00       	push   $0x44cb94
4084f6:	56                   	push   %esi
4084f7:	e8 1e 81 03 00       	call   0x44061a
4084fc:	83 c4 10             	add    $0x10,%esp
4084ff:	eb 3e                	jmp    0x40853f
408501:	6a ff                	push   $0xffffffff
408503:	68 c8 cb 44 00       	push   $0x44cbc8
408508:	6a ff                	push   $0xffffffff
40850a:	ff 75 f8             	push   -0x8(%ebp)
40850d:	57                   	push   %edi
40850e:	6a 7f                	push   $0x7f
408510:	ff 15 28 b1 44 00    	call   *0x44b128
408516:	3b c6                	cmp    %esi,%eax
408518:	0f 85 27 01 00 00    	jne    0x408645
40851e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
408522:	75 14                	jne    0x408538
408524:	ff 75 c8             	push   -0x38(%ebp)
408527:	ff 75 fc             	push   -0x4(%ebp)
40852a:	68 d8 cb 44 00       	push   $0x44cbd8
40852f:	56                   	push   %esi
408530:	e8 e5 80 03 00       	call   0x44061a
408535:	83 c4 10             	add    $0x10,%esp
408538:	6a 03                	push   $0x3
40853a:	5e                   	pop    %esi
40853b:	eb 02                	jmp    0x40853f
40853d:	8b f7                	mov    %edi,%esi
40853f:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
408543:	74 12                	je     0x408557
408545:	ff 75 fc             	push   -0x4(%ebp)
408548:	68 2c cc 44 00       	push   $0x44cc2c
40854d:	6a 02                	push   $0x2
40854f:	e8 c6 80 03 00       	call   0x44061a
408554:	83 c4 0c             	add    $0xc,%esp
408557:	56                   	push   %esi
408558:	8d 45 c8             	lea    -0x38(%ebp),%eax
40855b:	50                   	push   %eax
40855c:	e8 56 79 01 00       	call   0x41feb7
408561:	8b f0                	mov    %eax,%esi
408563:	85 f6                	test   %esi,%esi
408565:	0f 88 46 01 00 00    	js     0x4086b1
40856b:	8d 45 e8             	lea    -0x18(%ebp),%eax
40856e:	50                   	push   %eax
40856f:	ff 75 fc             	push   -0x4(%ebp)
408572:	53                   	push   %ebx
408573:	e8 3e d0 ff ff       	call   0x4055b6
408578:	8b f0                	mov    %eax,%esi
40857a:	85 f6                	test   %esi,%esi
40857c:	0f 88 24 01 00 00    	js     0x4086a6
408582:	8b 7d e8             	mov    -0x18(%ebp),%edi
408585:	83 fe 01             	cmp    $0x1,%esi
408588:	75 1d                	jne    0x4085a7
40858a:	57                   	push   %edi
40858b:	ff 75 fc             	push   -0x4(%ebp)
40858e:	53                   	push   %ebx
40858f:	e8 32 e5 ff ff       	call   0x406ac6
408594:	8b f0                	mov    %eax,%esi
408596:	85 f6                	test   %esi,%esi
408598:	79 1e                	jns    0x4085b8
40859a:	ff 75 fc             	push   -0x4(%ebp)
40859d:	68 98 cc 44 00       	push   $0x44cc98
4085a2:	e9 07 01 00 00       	jmp    0x4086ae
4085a7:	8b 43 20             	mov    0x20(%ebx),%eax
4085aa:	6b cf 38             	imul   $0x38,%edi,%ecx
4085ad:	83 7c 01 2c 00       	cmpl   $0x0,0x2c(%ecx,%eax,1)
4085b2:	0f 8f cd 00 00 00    	jg     0x408685
4085b8:	8b 4b 20             	mov    0x20(%ebx),%ecx
4085bb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4085be:	6b ff 38             	imul   $0x38,%edi,%edi
4085c1:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
4085c5:	8b 4b 20             	mov    0x20(%ebx),%ecx
4085c8:	8b 45 e0             	mov    -0x20(%ebp),%eax
4085cb:	89 44 0f 28          	mov    %eax,0x28(%edi,%ecx,1)
4085cf:	8d 45 c8             	lea    -0x38(%ebp),%eax
4085d2:	50                   	push   %eax
4085d3:	8b 43 20             	mov    0x20(%ebx),%eax
4085d6:	83 c0 08             	add    $0x8,%eax
4085d9:	03 c7                	add    %edi,%eax
4085db:	50                   	push   %eax
4085dc:	e8 7a 7d 01 00       	call   0x42035b
4085e1:	8b f0                	mov    %eax,%esi
4085e3:	85 f6                	test   %esi,%esi
4085e5:	0f 88 90 00 00 00    	js     0x40867b
4085eb:	8b 43 20             	mov    0x20(%ebx),%eax
4085ee:	ff 75 f0             	push   -0x10(%ebp)
4085f1:	83 c0 08             	add    $0x8,%eax
4085f4:	03 c7                	add    %edi,%eax
4085f6:	50                   	push   %eax
4085f7:	e8 4a 7c 01 00       	call   0x420246
4085fc:	8b f0                	mov    %eax,%esi
4085fe:	85 f6                	test   %esi,%esi
408600:	78 72                	js     0x408674
408602:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408605:	85 c9                	test   %ecx,%ecx
408607:	74 0a                	je     0x408613
408609:	8b 01                	mov    (%ecx),%eax
40860b:	51                   	push   %ecx
40860c:	ff 50 08             	call   *0x8(%eax)
40860f:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
408613:	8d 45 c8             	lea    -0x38(%ebp),%eax
408616:	50                   	push   %eax
408617:	e8 7d 7e 01 00       	call   0x420499
40861c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
408620:	74 0c                	je     0x40862e
408622:	ff 75 f8             	push   -0x8(%ebp)
408625:	e8 69 a1 ff ff       	call   0x402793
40862a:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40862e:	8b 7d 08             	mov    0x8(%ebp),%edi
408631:	47                   	inc    %edi
408632:	89 7d 08             	mov    %edi,0x8(%ebp)
408635:	3b 7d e4             	cmp    -0x1c(%ebp),%edi
408638:	0f 83 9c 00 00 00    	jae    0x4086da
40863e:	33 ff                	xor    %edi,%edi
408640:	e9 8b fd ff ff       	jmp    0x4083d0
408645:	ff 75 f8             	push   -0x8(%ebp)
408648:	bf 57 00 07 80       	mov    $0x80070057,%edi
40864d:	8b f7                	mov    %edi,%esi
40864f:	68 0c cc 44 00       	push   $0x44cc0c
408654:	57                   	push   %edi
408655:	e8 d5 7a 03 00       	call   0x44012f
40865a:	83 c4 0c             	add    $0xc,%esp
40865d:	eb 7b                	jmp    0x4086da
40865f:	68 28 cb 44 00       	push   $0x44cb28
408664:	eb 6c                	jmp    0x4086d2
408666:	68 fc ca 44 00       	push   $0x44cafc
40866b:	eb 65                	jmp    0x4086d2
40866d:	68 e4 ca 44 00       	push   $0x44cae4
408672:	eb 5e                	jmp    0x4086d2
408674:	68 20 cd 44 00       	push   $0x44cd20
408679:	eb 57                	jmp    0x4086d2
40867b:	ff 75 fc             	push   -0x4(%ebp)
40867e:	68 f8 cc 44 00       	push   $0x44ccf8
408683:	eb 29                	jmp    0x4086ae
408685:	bf 57 00 07 80       	mov    $0x80070057,%edi
40868a:	57                   	push   %edi
40868b:	68 8a 01 00 00       	push   $0x18a
408690:	68 bc cc 44 00       	push   $0x44ccbc
408695:	8b f7                	mov    %edi,%esi
408697:	e8 37 b1 ff ff       	call   0x4037d3
40869c:	ff 75 fc             	push   -0x4(%ebp)
40869f:	68 cc cc 44 00       	push   $0x44cccc
4086a4:	eb ae                	jmp    0x408654
4086a6:	ff 75 fc             	push   -0x4(%ebp)
4086a9:	68 70 cc 44 00       	push   $0x44cc70
4086ae:	56                   	push   %esi
4086af:	eb a4                	jmp    0x408655
4086b1:	68 50 cc 44 00       	push   $0x44cc50
4086b6:	eb 1a                	jmp    0x4086d2
4086b8:	68 bc ca 44 00       	push   $0x44cabc
4086bd:	eb 13                	jmp    0x4086d2
4086bf:	68 90 ca 44 00       	push   $0x44ca90
4086c4:	eb 0c                	jmp    0x4086d2
4086c6:	68 6c ca 44 00       	push   $0x44ca6c
4086cb:	eb 05                	jmp    0x4086d2
4086cd:	68 48 ca 44 00       	push   $0x44ca48
4086d2:	56                   	push   %esi
4086d3:	e8 57 7a 03 00       	call   0x44012f
4086d8:	59                   	pop    %ecx
4086d9:	59                   	pop    %ecx
4086da:	53                   	push   %ebx
4086db:	ff 15 b8 b1 44 00    	call   *0x44b1b8
4086e1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4086e4:	85 c9                	test   %ecx,%ecx
4086e6:	74 06                	je     0x4086ee
4086e8:	8b 01                	mov    (%ecx),%eax
4086ea:	51                   	push   %ecx
4086eb:	ff 50 08             	call   *0x8(%eax)
4086ee:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4086f1:	85 c9                	test   %ecx,%ecx
4086f3:	74 06                	je     0x4086fb
4086f5:	8b 01                	mov    (%ecx),%eax
4086f7:	51                   	push   %ecx
4086f8:	ff 50 08             	call   *0x8(%eax)
4086fb:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4086ff:	74 08                	je     0x408709
408701:	ff 75 f8             	push   -0x8(%ebp)
408704:	e8 e6 cd 03 00       	call   0x4454ef
408709:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40870d:	74 08                	je     0x408717
40870f:	ff 75 fc             	push   -0x4(%ebp)
408712:	e8 d8 cd 03 00       	call   0x4454ef
408717:	8d 45 c8             	lea    -0x38(%ebp),%eax
40871a:	50                   	push   %eax
40871b:	e8 79 7d 01 00       	call   0x420499
408720:	5f                   	pop    %edi
408721:	8b c6                	mov    %esi,%eax
408723:	5e                   	pop    %esi
408724:	5b                   	pop    %ebx