4085bc:	8b f1                	mov    %ecx,%esi
4085be:	8b 4e 08             	mov    0x8(%esi),%ecx
4085c1:	6a 02                	push   $0x2
4085c3:	6a 02                	push   $0x2
4085c5:	e8 f7 e5 ff ff       	call   0x406bc1
4085ca:	8b 4e 08             	mov    0x8(%esi),%ecx
4085cd:	68 04 10 41 00       	push   $0x411004
4085d2:	e8 b9 e4 ff ff       	call   0x406a90
4085d7:	8b 4e 08             	mov    0x8(%esi),%ecx
4085da:	33 db                	xor    %ebx,%ebx
4085dc:	43                   	inc    %ebx
4085dd:	53                   	push   %ebx
4085de:	e8 6d e4 ff ff       	call   0x406a50
4085e3:	50                   	push   %eax
4085e4:	8d 4e 18             	lea    0x18(%esi),%ecx
4085e7:	e8 b5 de ff ff       	call   0x4064a1
4085ec:	8b 4e 08             	mov    0x8(%esi),%ecx
4085ef:	8d 45 d7             	lea    -0x29(%ebp),%eax
4085f2:	50                   	push   %eax
4085f3:	68 7c 24 40 00       	push   $0x40247c
4085f8:	68 a4 26 40 00       	push   $0x4026a4
4085fd:	68 a8 26 40 00       	push   $0x4026a8
408602:	e8 43 e3 ff ff       	call   0x40694a
408607:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40860b:	33 c9                	xor    %ecx,%ecx
40860d:	66 89 4d d8          	mov    %cx,-0x28(%ebp)
408611:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408614:	50                   	push   %eax
408615:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
40861c:	e8 80 de ff ff       	call   0x4064a1
408621:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408625:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
408629:	8b 45 d8             	mov    -0x28(%ebp),%eax
40862c:	73 03                	jae    0x408631
40862e:	8d 45 d8             	lea    -0x28(%ebp),%eax
408631:	83 cf ff             	or     $0xffffffff,%edi
408634:	57                   	push   %edi
408635:	68 b8 26 40 00       	push   $0x4026b8
40863a:	57                   	push   %edi
40863b:	50                   	push   %eax
40863c:	53                   	push   %ebx
40863d:	6a 7f                	push   $0x7f
40863f:	ff 15 f4 20 41 00    	call   *0x4120f4
408645:	83 f8 02             	cmp    $0x2,%eax
408648:	74 48                	je     0x408692
40864a:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40864e:	8b 45 d8             	mov    -0x28(%ebp),%eax
408651:	73 03                	jae    0x408656
408653:	8d 45 d8             	lea    -0x28(%ebp),%eax
408656:	57                   	push   %edi
408657:	68 7c 24 40 00       	push   $0x40247c
40865c:	57                   	push   %edi
40865d:	50                   	push   %eax
40865e:	53                   	push   %ebx
40865f:	6a 7f                	push   $0x7f
408661:	ff 15 f4 20 41 00    	call   *0x4120f4
408667:	83 f8 02             	cmp    $0x2,%eax
40866a:	74 26                	je     0x408692
40866c:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
408670:	8b 45 d8             	mov    -0x28(%ebp),%eax
408673:	73 03                	jae    0x408678
408675:	8d 45 d8             	lea    -0x28(%ebp),%eax
408678:	57                   	push   %edi
408679:	68 c4 26 40 00       	push   $0x4026c4
40867e:	57                   	push   %edi
40867f:	50                   	push   %eax
408680:	53                   	push   %ebx
408681:	6a 7f                	push   $0x7f
408683:	ff 15 f4 20 41 00    	call   *0x4120f4
408689:	83 f8 02             	cmp    $0x2,%eax
40868c:	75 1a                	jne    0x4086a8
40868e:	8a c3                	mov    %bl,%al
408690:	eb 02                	jmp    0x408694
408692:	32 c0                	xor    %al,%al
408694:	6a 00                	push   $0x0
408696:	53                   	push   %ebx
408697:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40869a:	88 46 30             	mov    %al,0x30(%esi)
40869d:	e8 4e de ff ff       	call   0x4064f0
4086a2:	e8 89 5f 00 00       	call   0x40e630
4086a7:	c3                   	ret
4086a8:	6a 12                	push   $0x12
4086aa:	6a 57                	push   $0x57
4086ac:	e8 64 ef ff ff       	call   0x407615
4086b1:	cc                   	int3
4086b2:	cc                   	int3
4086b3:	cc                   	int3
4086b4:	cc                   	int3
4086b5:	cc                   	int3
4086b6:	cc                   	int3
4086b7:	cc                   	int3
4086b8:	cc                   	int3
4086b9:	cc                   	int3
4086ba:	cc                   	int3
4086bb:	cc                   	int3
4086bc:	cc                   	int3
4086bd:	cc                   	int3
4086be:	cc                   	int3
4086bf:	cc                   	int3
4086c0:	8b ff                	mov    %edi,%edi
4086c2:	55                   	push   %ebp
4086c3:	8b ec                	mov    %esp,%ebp
4086c5:	83 e4 f8             	and    $0xfffffff8,%esp
4086c8:	80 79 30 00          	cmpb   $0x0,0x30(%ecx)
4086cc:	74 07                	je     0x4086d5
4086ce:	e8 30 0c 00 00       	call   0x409303
4086d3:	eb 05                	jmp    0x4086da
4086d5:	e8 04 00 00 00       	call   0x4086de
4086da:	8b e5                	mov    %ebp,%esp
4086dc:	5d                   	pop    %ebp
4086dd:	c3                   	ret
4086de:	6a 54                	push   $0x54
4086e0:	b8 3a f0 40 00       	mov    $0x40f03a,%eax
4086e5:	e8 97 5f 00 00       	call   0x40e681
4086ea:	8b f1                	mov    %ecx,%esi
4086ec:	8d 7e 18             	lea    0x18(%esi),%edi
4086ef:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4086f3:	72 04                	jb     0x4086f9
4086f5:	8b 07                	mov    (%edi),%eax
4086f7:	eb 02                	jmp    0x4086fb
4086f9:	8b c7                	mov    %edi,%eax
4086fb:	6a 02                	push   $0x2
4086fd:	6a 01                	push   $0x1
4086ff:	50                   	push   %eax
408700:	ff 15 28 20 41 00    	call   *0x412028
408706:	8b d8                	mov    %eax,%ebx
408708:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40870b:	85 db                	test   %ebx,%ebx
40870d:	0f 84 d2 0b 00 00    	je     0x4092e5
408713:	a1 30 20 41 00       	mov    0x412030,%eax
408718:	33 c9                	xor    %ecx,%ecx
40871a:	88 4d a0             	mov    %cl,-0x60(%ebp)
40871d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
408720:	89 5d a8             	mov    %ebx,-0x58(%ebp)
408723:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408726:	89 4d c8             	mov    %ecx,-0x38(%ebp)
408729:	89 4d cc             	mov    %ecx,-0x34(%ebp)
40872c:	89 4d d0             	mov    %ecx,-0x30(%ebp)
40872f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408733:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
408737:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
40873e:	72 02                	jb     0x408742
408740:	8b 3f                	mov    (%edi),%edi
408742:	57                   	push   %edi
408743:	68 cc 26 40 00       	push   $0x4026cc
408748:	56                   	push   %esi
408749:	e8 fa fb ff ff       	call   0x408348
40874e:	83 c4 0c             	add    $0xc,%esp
408751:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408754:	50                   	push   %eax
408755:	8d 45 c8             	lea    -0x38(%ebp),%eax
408758:	50                   	push   %eax
408759:	51                   	push   %ecx
40875a:	6a 1b                	push   $0x1b
40875c:	5a                   	pop    %edx
40875d:	8b cb                	mov    %ebx,%ecx
40875f:	e8 01 f9 ff ff       	call   0x408065
408764:	85 c0                	test   %eax,%eax
408766:	0f 85 89 0b 00 00    	jne    0x4092f5
40876c:	8b 7d d4             	mov    -0x2c(%ebp),%edi
40876f:	8b 47 0c             	mov    0xc(%edi),%eax
408772:	85 c0                	test   %eax,%eax
408774:	74 3b                	je     0x4087b1
408776:	83 f8 02             	cmp    $0x2,%eax
408779:	75 14                	jne    0x40878f
40877b:	85 c0                	test   %eax,%eax
40877d:	74 32                	je     0x4087b1
40877f:	8b 17                	mov    (%edi),%edx
408781:	b9 10 12 41 00       	mov    $0x411210,%ecx
408786:	e8 d4 53 00 00       	call   0x40db5f
40878b:	85 c0                	test   %eax,%eax
40878d:	75 0e                	jne    0x40879d
40878f:	68 f8 26 40 00       	push   $0x4026f8
408794:	6a 0e                	push   $0xe
408796:	6a 0d                	push   $0xd
408798:	e9 60 0b 00 00       	jmp    0x4092fd
40879d:	50                   	push   %eax
40879e:	68 1c 27 40 00       	push   $0x40271c
4087a3:	56                   	push   %esi
4087a4:	e8 9f fb ff ff       	call   0x408348
4087a9:	8b 07                	mov    (%edi),%eax
4087ab:	83 c4 0c             	add    $0xc,%esp
4087ae:	89 45 c0             	mov    %eax,-0x40(%ebp)
4087b1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4087b4:	50                   	push   %eax
4087b5:	8d 45 c8             	lea    -0x38(%ebp),%eax
4087b8:	50                   	push   %eax
4087b9:	51                   	push   %ecx
4087ba:	6a 06                	push   $0x6
4087bc:	5a                   	pop    %edx
4087bd:	8b cb                	mov    %ebx,%ecx
4087bf:	e8 a1 f8 ff ff       	call   0x408065
4087c4:	85 c0                	test   %eax,%eax
4087c6:	74 0a                	je     0x4087d2
4087c8:	68 4c 27 40 00       	push   $0x40274c
4087cd:	e9 28 0b 00 00       	jmp    0x4092fa
4087d2:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4087d5:	8b 41 0c             	mov    0xc(%ecx),%eax
4087d8:	85 c0                	test   %eax,%eax
4087da:	74 20                	je     0x4087fc
4087dc:	83 f8 04             	cmp    $0x4,%eax
4087df:	74 07                	je     0x4087e8
4087e1:	68 4c 27 40 00       	push   $0x40274c
4087e6:	eb ac                	jmp    0x408794
4087e8:	85 c0                	test   %eax,%eax
4087ea:	74 10                	je     0x4087fc
4087ec:	ff 31                	push   (%ecx)
4087ee:	68 64 27 40 00       	push   $0x402764
4087f3:	56                   	push   %esi
4087f4:	e8 4f fb ff ff       	call   0x408348
4087f9:	83 c4 0c             	add    $0xc,%esp
4087fc:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4087ff:	33 d2                	xor    %edx,%edx
408801:	50                   	push   %eax
408802:	8d 45 c8             	lea    -0x38(%ebp),%eax
408805:	50                   	push   %eax
408806:	51                   	push   %ecx
408807:	8b cb                	mov    %ebx,%ecx
408809:	e8 57 f8 ff ff       	call   0x408065
40880e:	85 c0                	test   %eax,%eax
408810:	74 0a                	je     0x40881c
408812:	68 88 27 40 00       	push   $0x402788
408817:	e9 de 0a 00 00       	jmp    0x4092fa
40881c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40881f:	8b 41 0c             	mov    0xc(%ecx),%eax
408822:	85 c0                	test   %eax,%eax
408824:	74 32                	je     0x408858
408826:	83 f8 01             	cmp    $0x1,%eax
408829:	74 0a                	je     0x408835
40882b:	68 88 27 40 00       	push   $0x402788
408830:	e9 5f ff ff ff       	jmp    0x408794
408835:	85 c0                	test   %eax,%eax
408837:	74 1f                	je     0x408858
408839:	33 c0                	xor    %eax,%eax
40883b:	39 01                	cmp    %eax,(%ecx)
40883d:	b8 80 24 40 00       	mov    $0x402480,%eax
408842:	75 05                	jne    0x408849
408844:	b8 8c 24 40 00       	mov    $0x40248c,%eax
408849:	50                   	push   %eax
40884a:	68 98 27 40 00       	push   $0x402798
40884f:	56                   	push   %esi
408850:	e8 f3 fa ff ff       	call   0x408348
408855:	83 c4 0c             	add    $0xc,%esp
408858:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40885b:	50                   	push   %eax
40885c:	8d 45 c8             	lea    -0x38(%ebp),%eax
40885f:	50                   	push   %eax
408860:	51                   	push   %ecx
408861:	6a 07                	push   $0x7
408863:	5a                   	pop    %edx
408864:	8b cb                	mov    %ebx,%ecx
408866:	e8 fa f7 ff ff       	call   0x408065
40886b:	85 c0                	test   %eax,%eax
40886d:	74 0a                	je     0x408879
40886f:	68 b4 27 40 00       	push   $0x4027b4
408874:	e9 81 0a 00 00       	jmp    0x4092fa
408879:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40887c:	8b 41 0c             	mov    0xc(%ecx),%eax
40887f:	85 c0                	test   %eax,%eax
408881:	74 23                	je     0x4088a6
408883:	83 f8 04             	cmp    $0x4,%eax
408886:	74 0a                	je     0x408892
408888:	68 b4 27 40 00       	push   $0x4027b4
40888d:	e9 02 ff ff ff       	jmp    0x408794
408892:	85 c0                	test   %eax,%eax
408894:	74 10                	je     0x4088a6
408896:	ff 31                	push   (%ecx)
408898:	68 bc 27 40 00       	push   $0x4027bc
40889d:	56                   	push   %esi
40889e:	e8 a5 fa ff ff       	call   0x408348
4088a3:	83 c4 0c             	add    $0xc,%esp
4088a6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4088a9:	50                   	push   %eax
4088aa:	8d 45 c8             	lea    -0x38(%ebp),%eax
4088ad:	50                   	push   %eax
4088ae:	51                   	push   %ecx
4088af:	6a 08                	push   $0x8
4088b1:	5a                   	pop    %edx
4088b2:	8b cb                	mov    %ebx,%ecx
4088b4:	e8 ac f7 ff ff       	call   0x408065
4088b9:	85 c0                	test   %eax,%eax
4088bb:	74 0a                	je     0x4088c7
4088bd:	68 d0 27 40 00       	push   $0x4027d0
4088c2:	e9 33 0a 00 00       	jmp    0x4092fa
4088c7:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4088ca:	8b 42 0c             	mov    0xc(%edx),%eax
4088cd:	85 c0                	test   %eax,%eax
4088cf:	74 32                	je     0x408903
4088d1:	83 f8 02             	cmp    $0x2,%eax
4088d4:	75 14                	jne    0x4088ea
4088d6:	85 c0                	test   %eax,%eax
4088d8:	74 29                	je     0x408903
4088da:	8b 12                	mov    (%edx),%edx
4088dc:	b9 e0 11 41 00       	mov    $0x4111e0,%ecx
4088e1:	e8 79 52 00 00       	call   0x40db5f
4088e6:	85 c0                	test   %eax,%eax
4088e8:	75 0a                	jne    0x4088f4
4088ea:	68 d0 27 40 00       	push   $0x4027d0
4088ef:	e9 a0 fe ff ff       	jmp    0x408794
4088f4:	50                   	push   %eax
4088f5:	68 f4 27 40 00       	push   $0x4027f4
4088fa:	56                   	push   %esi
4088fb:	e8 48 fa ff ff       	call   0x408348
408900:	83 c4 0c             	add    $0xc,%esp
408903:	33 c0                	xor    %eax,%eax
408905:	40                   	inc    %eax
408906:	89 45 c4             	mov    %eax,-0x3c(%ebp)
408909:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40890c:	50                   	push   %eax
40890d:	8d 45 c8             	lea    -0x38(%ebp),%eax
408910:	50                   	push   %eax
408911:	51                   	push   %ecx
408912:	6a 0d                	push   $0xd
408914:	5a                   	pop    %edx
408915:	8b cb                	mov    %ebx,%ecx
408917:	e8 49 f7 ff ff       	call   0x408065
40891c:	85 c0                	test   %eax,%eax
40891e:	74 0a                	je     0x40892a
408920:	68 24 28 40 00       	push   $0x402824
408925:	e9 d0 09 00 00       	jmp    0x4092fa
40892a:	8b 7d d4             	mov    -0x2c(%ebp),%edi
40892d:	8b 47 0c             	mov    0xc(%edi),%eax
408930:	85 c0                	test   %eax,%eax
408932:	74 41                	je     0x408975
408934:	83 f8 02             	cmp    $0x2,%eax
408937:	74 0a                	je     0x408943
408939:	68 24 28 40 00       	push   $0x402824
40893e:	e9 51 fe ff ff       	jmp    0x408794
408943:	85 c0                	test   %eax,%eax
408945:	74 2e                	je     0x408975
408947:	8b 17                	mov    (%edi),%edx
408949:	b9 c0 11 41 00       	mov    $0x4111c0,%ecx
40894e:	e8 0c 52 00 00       	call   0x40db5f
408953:	85 c0                	test   %eax,%eax
408955:	75 08                	jne    0x40895f
408957:	52                   	push   %edx
408958:	6a 13                	push   $0x13
40895a:	e9 37 fe ff ff       	jmp    0x408796
40895f:	50                   	push   %eax
408960:	68 40 28 40 00       	push   $0x402840
408965:	56                   	push   %esi
408966:	e8 dd f9 ff ff       	call   0x408348
40896b:	8b 3f                	mov    (%edi),%edi
40896d:	83 c4 0c             	add    $0xc,%esp
408970:	89 7d c4             	mov    %edi,-0x3c(%ebp)
408973:	eb 03                	jmp    0x408978
408975:	8b 7d c4             	mov    -0x3c(%ebp),%edi
408978:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40897b:	50                   	push   %eax
40897c:	8d 45 c8             	lea    -0x38(%ebp),%eax