4054d2:	8b f0                	mov    %eax,%esi
4054d4:	83 fe 7a             	cmp    $0x7a,%esi
4054d7:	0f 85 c8 00 00 00    	jne    0x4055a5
4054dd:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
4054e3:	ff 15 a4 f0 40 00    	call   *0x40f0a4
4054e9:	8b f8                	mov    %eax,%edi
4054eb:	85 ff                	test   %edi,%edi
4054ed:	0f 84 83 01 00 00    	je     0x405676
4054f3:	8d 45 a4             	lea    -0x5c(%ebp),%eax
4054f6:	50                   	push   %eax
4054f7:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
4054fd:	50                   	push   %eax
4054fe:	57                   	push   %edi
4054ff:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
405505:	50                   	push   %eax
405506:	8d 85 4f ff ff ff    	lea    -0xb1(%ebp),%eax
40550c:	50                   	push   %eax
40550d:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
405513:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
405519:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
40551f:	50                   	push   %eax
405520:	ff 15 4c f0 40 00    	call   *0x40f04c
405526:	8b f0                	mov    %eax,%esi
405528:	85 f6                	test   %esi,%esi
40552a:	75 72                	jne    0x40559e
40552c:	6a 20                	push   $0x20
40552e:	8d 45 b8             	lea    -0x48(%ebp),%eax
405531:	50                   	push   %eax
405532:	68 5c 04 00 00       	push   $0x45c
405537:	53                   	push   %ebx
405538:	ff 15 20 f1 40 00    	call   *0x40f120
40553e:	85 c0                	test   %eax,%eax
405540:	75 04                	jne    0x405546
405542:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
405546:	6a 20                	push   $0x20
405548:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
40554e:	50                   	push   %eax
40554f:	68 5b 04 00 00       	push   $0x45b
405554:	53                   	push   %ebx
405555:	ff 15 20 f1 40 00    	call   *0x40f120
40555b:	85 c0                	test   %eax,%eax
40555d:	75 07                	jne    0x405566
40555f:	66 89 85 60 ff ff ff 	mov    %ax,-0xa0(%ebp)
405566:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
40556c:	8d 45 b8             	lea    -0x48(%ebp),%eax
40556f:	50                   	push   %eax
405570:	0f b6 85 4f ff ff ff 	movzbl -0xb1(%ebp),%eax
405577:	50                   	push   %eax
405578:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
40557e:	50                   	push   %eax
40557f:	68 d0 18 40 00       	push   $0x4018d0
405584:	e8 31 d3 ff ff       	call   0x4028ba
405589:	83 c4 14             	add    $0x14,%esp
40558c:	8b d7                	mov    %edi,%edx
40558e:	b9 2c 19 40 00       	mov    $0x40192c,%ecx
405593:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
405599:	e8 9c df ff ff       	call   0x40353a
40559e:	57                   	push   %edi
40559f:	ff 15 b0 f0 40 00    	call   *0x40f0b0
4055a5:	81 fe 1d 00 ff ef    	cmp    $0xefff001d,%esi
4055ab:	0f 85 c5 00 00 00    	jne    0x405676
4055b1:	6a 20                	push   $0x20
4055b3:	8d 45 b8             	lea    -0x48(%ebp),%eax
4055b6:	50                   	push   %eax
4055b7:	68 5d 04 00 00       	push   $0x45d
4055bc:	53                   	push   %ebx
4055bd:	ff 15 20 f1 40 00    	call   *0x40f120
4055c3:	85 c0                	test   %eax,%eax
4055c5:	75 04                	jne    0x4055cb
4055c7:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
4055cb:	6a 20                	push   $0x20
4055cd:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
4055d3:	50                   	push   %eax
4055d4:	68 5b 04 00 00       	push   $0x45b
4055d9:	53                   	push   %ebx
4055da:	ff 15 20 f1 40 00    	call   *0x40f120
4055e0:	85 c0                	test   %eax,%eax
4055e2:	75 07                	jne    0x4055eb
4055e4:	66 89 85 60 ff ff ff 	mov    %ax,-0xa0(%ebp)
4055eb:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
4055f1:	8d 45 b8             	lea    -0x48(%ebp),%eax
4055f4:	50                   	push   %eax
4055f5:	0f b6 85 4f ff ff ff 	movzbl -0xb1(%ebp),%eax
4055fc:	50                   	push   %eax
4055fd:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
405603:	50                   	push   %eax
405604:	68 40 19 40 00       	push   $0x401940
405609:	e8 ac d2 ff ff       	call   0x4028ba
40560e:	83 c4 14             	add    $0x14,%esp
405611:	8d 55 a4             	lea    -0x5c(%ebp),%edx
405614:	b9 04 14 40 00       	mov    $0x401404,%ecx
405619:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
40561f:	e8 16 df ff ff       	call   0x40353a
405624:	eb 50                	jmp    0x405676
405626:	6a 20                	push   $0x20
405628:	8d 45 b8             	lea    -0x48(%ebp),%eax
40562b:	50                   	push   %eax
40562c:	68 5f 04 00 00       	push   $0x45f
405631:	53                   	push   %ebx
405632:	ff 15 20 f1 40 00    	call   *0x40f120
405638:	85 c0                	test   %eax,%eax
40563a:	75 04                	jne    0x405640
40563c:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
405640:	ff 77 0c             	push   0xc(%edi)
405643:	eb 1d                	jmp    0x405662
405645:	6a 20                	push   $0x20
405647:	8d 45 b8             	lea    -0x48(%ebp),%eax
40564a:	50                   	push   %eax
40564b:	68 5e 04 00 00       	push   $0x45e
405650:	53                   	push   %ebx
405651:	ff 15 20 f1 40 00    	call   *0x40f120
405657:	85 c0                	test   %eax,%eax
405659:	75 04                	jne    0x40565f
40565b:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
40565f:	ff 77 08             	push   0x8(%edi)
405662:	8d 45 b8             	lea    -0x48(%ebp),%eax
405665:	50                   	push   %eax
405666:	68 a0 19 40 00       	push   $0x4019a0
40566b:	e8 4a d2 ff ff       	call   0x4028ba
405670:	83 c4 0c             	add    $0xc,%esp
405673:	6a 57                	push   $0x57
405675:	5e                   	pop    %esi
405676:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405679:	8b c6                	mov    %esi,%eax
40567b:	5f                   	pop    %edi
40567c:	5e                   	pop    %esi
40567d:	33 cd                	xor    %ebp,%ecx
40567f:	5b                   	pop    %ebx
405680:	e8 4b 34 00 00       	call   0x408ad0
405685:	c9                   	leave
405686:	c3                   	ret
405687:	8b ff                	mov    %edi,%edi
405689:	55                   	push   %ebp
40568a:	8b ec                	mov    %esp,%ebp
40568c:	81 ec d4 00 00 00    	sub    $0xd4,%esp
405692:	a1 04 a0 40 00       	mov    0x40a004,%eax
405697:	33 c5                	xor    %ebp,%eax
405699:	89 45 fc             	mov    %eax,-0x4(%ebp)
40569c:	53                   	push   %ebx
40569d:	56                   	push   %esi
40569e:	57                   	push   %edi
40569f:	6a 40                	push   $0x40
4056a1:	33 db                	xor    %ebx,%ebx
4056a3:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
4056a9:	53                   	push   %ebx
4056aa:	50                   	push   %eax
4056ab:	8b fa                	mov    %edx,%edi
4056ad:	8b f1                	mov    %ecx,%esi
4056af:	e8 30 3a 00 00       	call   0x4090e4
4056b4:	83 c4 0c             	add    $0xc,%esp
4056b7:	8d 45 b8             	lea    -0x48(%ebp),%eax
4056ba:	6a 40                	push   $0x40
4056bc:	53                   	push   %ebx
4056bd:	50                   	push   %eax
4056be:	e8 21 3a 00 00       	call   0x4090e4
4056c3:	83 c4 0c             	add    $0xc,%esp
4056c6:	83 fe 06             	cmp    $0x6,%esi
4056c9:	74 0f                	je     0x4056da
4056cb:	6a 10                	push   $0x10
4056cd:	59                   	pop    %ecx
4056ce:	e8 8c d3 ff ff       	call   0x402a5f
4056d3:	8b f3                	mov    %ebx,%esi
4056d5:	e9 49 02 00 00       	jmp    0x405923
4056da:	8b 4f 08             	mov    0x8(%edi),%ecx
4056dd:	8d 95 50 ff ff ff    	lea    -0xb0(%ebp),%edx
4056e3:	e8 ac e3 ff ff       	call   0x403a94
4056e8:	84 c0                	test   %al,%al
4056ea:	0f 84 02 02 00 00    	je     0x4058f2
4056f0:	51                   	push   %ecx
4056f1:	51                   	push   %ecx
4056f2:	8b 4f 0c             	mov    0xc(%edi),%ecx
4056f5:	8d 95 30 ff ff ff    	lea    -0xd0(%ebp),%edx
4056fb:	e8 f8 e2 ff ff       	call   0x4039f8
405700:	85 c0                	test   %eax,%eax
405702:	0f 84 cb 01 00 00    	je     0x4058d3
405708:	8b 4f 10             	mov    0x10(%edi),%ecx
40570b:	e8 66 e5 ff ff       	call   0x403c76
405710:	8b 4f 14             	mov    0x14(%edi),%ecx
405713:	88 85 3c ff ff ff    	mov    %al,-0xc4(%ebp)
405719:	e8 58 e5 ff ff       	call   0x403c76
40571e:	88 85 40 ff ff ff    	mov    %al,-0xc0(%ebp)
405724:	8d 45 a4             	lea    -0x5c(%ebp),%eax
405727:	50                   	push   %eax
405728:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
40572e:	c7 85 44 ff ff ff 12 	movl   $0x12,-0xbc(%ebp)
405735:	00 00 00
405738:	50                   	push   %eax
405739:	53                   	push   %ebx
40573a:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
405740:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
405746:	50                   	push   %eax
405747:	8d 85 4f ff ff ff    	lea    -0xb1(%ebp),%eax
40574d:	50                   	push   %eax
40574e:	ff b5 40 ff ff ff    	push   -0xc0(%ebp)
405754:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
40575a:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
405760:	ff b5 34 ff ff ff    	push   -0xcc(%ebp)
405766:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
40576c:	50                   	push   %eax
40576d:	ff 15 24 f0 40 00    	call   *0x40f024
405773:	8b f0                	mov    %eax,%esi
405775:	83 fe 7a             	cmp    $0x7a,%esi
405778:	0f 85 d4 00 00 00    	jne    0x405852
40577e:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
405784:	ff 15 a4 f0 40 00    	call   *0x40f0a4
40578a:	8b f8                	mov    %eax,%edi
40578c:	85 ff                	test   %edi,%edi
40578e:	0f 84 8f 01 00 00    	je     0x405923
405794:	8d 45 a4             	lea    -0x5c(%ebp),%eax
405797:	50                   	push   %eax
405798:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
40579e:	50                   	push   %eax
40579f:	57                   	push   %edi
4057a0:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
4057a6:	50                   	push   %eax
4057a7:	8d 85 4f ff ff ff    	lea    -0xb1(%ebp),%eax
4057ad:	50                   	push   %eax
4057ae:	ff b5 40 ff ff ff    	push   -0xc0(%ebp)
4057b4:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
4057ba:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
4057c0:	ff b5 34 ff ff ff    	push   -0xcc(%ebp)
4057c6:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
4057cc:	50                   	push   %eax
4057cd:	ff 15 24 f0 40 00    	call   *0x40f024
4057d3:	8b f0                	mov    %eax,%esi
4057d5:	85 f6                	test   %esi,%esi
4057d7:	75 72                	jne    0x40584b
4057d9:	6a 20                	push   $0x20
4057db:	8d 45 b8             	lea    -0x48(%ebp),%eax
4057de:	50                   	push   %eax
4057df:	68 5c 04 00 00       	push   $0x45c
4057e4:	53                   	push   %ebx
4057e5:	ff 15 20 f1 40 00    	call   *0x40f120
4057eb:	85 c0                	test   %eax,%eax
4057ed:	75 04                	jne    0x4057f3
4057ef:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
4057f3:	6a 20                	push   $0x20
4057f5:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
4057fb:	50                   	push   %eax
4057fc:	68 5b 04 00 00       	push   $0x45b
405801:	53                   	push   %ebx
405802:	ff 15 20 f1 40 00    	call   *0x40f120
405808:	85 c0                	test   %eax,%eax
40580a:	75 07                	jne    0x405813
40580c:	66 89 85 60 ff ff ff 	mov    %ax,-0xa0(%ebp)
405813:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
405819:	8d 45 b8             	lea    -0x48(%ebp),%eax
40581c:	50                   	push   %eax
40581d:	0f b6 85 4f ff ff ff 	movzbl -0xb1(%ebp),%eax
405824:	50                   	push   %eax
405825:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
40582b:	50                   	push   %eax
40582c:	68 d0 18 40 00       	push   $0x4018d0
405831:	e8 84 d0 ff ff       	call   0x4028ba
405836:	83 c4 14             	add    $0x14,%esp
405839:	8b d7                	mov    %edi,%edx
40583b:	b9 2c 19 40 00       	mov    $0x40192c,%ecx
405840:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
405846:	e8 ef dc ff ff       	call   0x40353a
40584b:	57                   	push   %edi
40584c:	ff 15 b0 f0 40 00    	call   *0x40f0b0
405852:	81 fe 1d 00 ff ef    	cmp    $0xefff001d,%esi
405858:	0f 85 c5 00 00 00    	jne    0x405923
40585e:	6a 20                	push   $0x20
405860:	8d 45 b8             	lea    -0x48(%ebp),%eax
405863:	50                   	push   %eax
405864:	68 5d 04 00 00       	push   $0x45d
405869:	53                   	push   %ebx
40586a:	ff 15 20 f1 40 00    	call   *0x40f120
405870:	85 c0                	test   %eax,%eax
405872:	75 04                	jne    0x405878
405874:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
405878:	6a 20                	push   $0x20
40587a:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
405880:	50                   	push   %eax
405881:	68 5b 04 00 00       	push   $0x45b
405886:	53                   	push   %ebx
405887:	ff 15 20 f1 40 00    	call   *0x40f120
40588d:	85 c0                	test   %eax,%eax
40588f:	75 07                	jne    0x405898
405891:	66 89 85 60 ff ff ff 	mov    %ax,-0xa0(%ebp)
405898:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
40589e:	8d 45 b8             	lea    -0x48(%ebp),%eax
4058a1:	50                   	push   %eax
4058a2:	0f b6 85 4f ff ff ff 	movzbl -0xb1(%ebp),%eax
4058a9:	50                   	push   %eax
4058aa:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
4058b0:	50                   	push   %eax
4058b1:	68 40 19 40 00       	push   $0x401940
4058b6:	e8 ff cf ff ff       	call   0x4028ba
4058bb:	83 c4 14             	add    $0x14,%esp
4058be:	8d 55 a4             	lea    -0x5c(%ebp),%edx
4058c1:	b9 04 14 40 00       	mov    $0x401404,%ecx
4058c6:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
4058cc:	e8 69 dc ff ff       	call   0x40353a
4058d1:	eb 50                	jmp    0x405923
4058d3:	6a 20                	push   $0x20
4058d5:	8d 45 b8             	lea    -0x48(%ebp),%eax
4058d8:	50                   	push   %eax
4058d9:	68 5f 04 00 00       	push   $0x45f
4058de:	53                   	push   %ebx
4058df:	ff 15 20 f1 40 00    	call   *0x40f120
4058e5:	85 c0                	test   %eax,%eax
4058e7:	75 04                	jne    0x4058ed
4058e9:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
4058ed:	ff 77 0c             	push   0xc(%edi)
4058f0:	eb 1d                	jmp    0x40590f
4058f2:	6a 20                	push   $0x20
4058f4:	8d 45 b8             	lea    -0x48(%ebp),%eax
4058f7:	50                   	push   %eax
4058f8:	68 5e 04 00 00       	push   $0x45e
4058fd:	53                   	push   %ebx
4058fe:	ff 15 20 f1 40 00    	call   *0x40f120
405904:	85 c0                	test   %eax,%eax
405906:	75 04                	jne    0x40590c
405908:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
40590c:	ff 77 08             	push   0x8(%edi)
40590f:	8d 45 b8             	lea    -0x48(%ebp),%eax
405912:	50                   	push   %eax
405913:	68 a0 19 40 00       	push   $0x4019a0
405918:	e8 9d cf ff ff       	call   0x4028ba
40591d:	83 c4 0c             	add    $0xc,%esp
405920:	6a 57                	push   $0x57
405922:	5e                   	pop    %esi
405923:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405926:	8b c6                	mov    %esi,%eax
405928:	5f                   	pop    %edi
405929:	5e                   	pop    %esi
40592a:	33 cd                	xor    %ebp,%ecx
40592c:	5b                   	pop    %ebx
40592d:	e8 9e 31 00 00       	call   0x408ad0
405932:	c9                   	leave
405933:	c3                   	ret
405934:	8b ff                	mov    %edi,%edi
405936:	55                   	push   %ebp
405937:	8b ec                	mov    %esp,%ebp
405939:	83 ec 5c             	sub    $0x5c,%esp
40593c:	a1 04 a0 40 00       	mov    0x40a004,%eax
405941:	33 c5                	xor    %ebp,%eax
405943:	89 45 fc             	mov    %eax,-0x4(%ebp)
405946:	53                   	push   %ebx
405947:	56                   	push   %esi
405948:	57                   	push   %edi
405949:	6a 40                	push   $0x40
40594b:	33 ff                	xor    %edi,%edi
40594d:	8d 45 b8             	lea    -0x48(%ebp),%eax
405950:	57                   	push   %edi
405951:	50                   	push   %eax
405952:	8b da                	mov    %edx,%ebx
405954:	8b f1                	mov    %ecx,%esi