597758:	83 c4 1c             	add    $0x1c,%esp
59775b:	85 c0                	test   %eax,%eax
59775d:	74 1c                	je     0x59777b
59775f:	50                   	push   %eax
597760:	57                   	push   %edi
597761:	e8 2a 6f f1 ff       	call   0x4ae690
597766:	53                   	push   %ebx
597767:	46                   	inc    %esi
597768:	e8 a3 6e f1 ff       	call   0x4ae610
59776d:	83 c4 0c             	add    $0xc,%esp
597770:	3b f0                	cmp    %eax,%esi
597772:	7c ce                	jl     0x597742
597774:	5e                   	pop    %esi
597775:	5d                   	pop    %ebp
597776:	5b                   	pop    %ebx
597777:	8b c7                	mov    %edi,%eax
597779:	5f                   	pop    %edi
59777a:	c3                   	ret
59777b:	68 00 de 58 00       	push   $0x58de00
597780:	57                   	push   %edi
597781:	e8 ba 6e f1 ff       	call   0x4ae640
597786:	83 c4 08             	add    $0x8,%esp
597789:	33 c0                	xor    %eax,%eax
59778b:	5e                   	pop    %esi
59778c:	5d                   	pop    %ebp
59778d:	5b                   	pop    %ebx
59778e:	5f                   	pop    %edi
59778f:	c3                   	ret
597790:	8b 44 24 10          	mov    0x10(%esp),%eax
597794:	56                   	push   %esi
597795:	57                   	push   %edi
597796:	8b 78 08             	mov    0x8(%eax),%edi
597799:	8b 70 04             	mov    0x4(%eax),%esi
59779c:	85 ff                	test   %edi,%edi
59779e:	75 1d                	jne    0x5977bd
5977a0:	68 1d 02 00 00       	push   $0x21d
5977a5:	68 24 8b 6c 00       	push   $0x6c8b24
5977aa:	6a 7c                	push   $0x7c
5977ac:	6a 75                	push   $0x75
5977ae:	6a 22                	push   $0x22
5977b0:	e8 eb 9c f0 ff       	call   0x4a14a0
5977b5:	83 c4 14             	add    $0x14,%esp
5977b8:	33 c0                	xor    %eax,%eax
5977ba:	5f                   	pop    %edi
5977bb:	5e                   	pop    %esi
5977bc:	c3                   	ret
5977bd:	68 38 8a 6c 00       	push   $0x6c8a38
5977c2:	56                   	push   %esi
5977c3:	e8 28 16 fe ff       	call   0x578df0
5977c8:	83 c4 08             	add    $0x8,%esp
5977cb:	85 c0                	test   %eax,%eax
5977cd:	75 0a                	jne    0x5977d9
5977cf:	b8 01 00 00 00       	mov    $0x1,%eax
5977d4:	e9 8f 00 00 00       	jmp    0x597868
5977d9:	68 44 8a 6c 00       	push   $0x6c8a44
5977de:	56                   	push   %esi
5977df:	e8 0c 16 fe ff       	call   0x578df0
5977e4:	83 c4 08             	add    $0x8,%esp
5977e7:	85 c0                	test   %eax,%eax
5977e9:	75 07                	jne    0x5977f2
5977eb:	b8 06 00 00 00       	mov    $0x6,%eax
5977f0:	eb 76                	jmp    0x597868
5977f2:	68 40 8a 6c 00       	push   $0x6c8a40
5977f7:	56                   	push   %esi
5977f8:	e8 f3 15 fe ff       	call   0x578df0
5977fd:	83 c4 08             	add    $0x8,%esp
597800:	85 c0                	test   %eax,%eax
597802:	75 07                	jne    0x59780b
597804:	b8 02 00 00 00       	mov    $0x2,%eax
597809:	eb 5d                	jmp    0x597868
59780b:	68 50 8b 6c 00       	push   $0x6c8b50
597810:	56                   	push   %esi
597811:	e8 da 15 fe ff       	call   0x578df0
597816:	83 c4 08             	add    $0x8,%esp
597819:	85 c0                	test   %eax,%eax
59781b:	75 07                	jne    0x597824
59781d:	b8 08 00 00 00       	mov    $0x8,%eax
597822:	eb 44                	jmp    0x597868
597824:	68 54 8b 6c 00       	push   $0x6c8b54
597829:	56                   	push   %esi
59782a:	e8 c1 15 fe ff       	call   0x578df0
59782f:	83 c4 08             	add    $0x8,%esp
597832:	85 c0                	test   %eax,%eax
597834:	75 07                	jne    0x59783d
597836:	b8 07 00 00 00       	mov    $0x7,%eax
59783b:	eb 2b                	jmp    0x597868
59783d:	68 58 8b 6c 00       	push   $0x6c8b58
597842:	56                   	push   %esi
597843:	e8 a8 15 fe ff       	call   0x578df0
597848:	83 c4 08             	add    $0x8,%esp
59784b:	85 c0                	test   %eax,%eax
59784d:	75 07                	jne    0x597856
59784f:	b8 04 00 00 00       	mov    $0x4,%eax
597854:	eb 12                	jmp    0x597868
597856:	68 60 8b 6c 00       	push   $0x6c8b60
59785b:	56                   	push   %esi
59785c:	e8 8f 15 fe ff       	call   0x578df0
597861:	83 c4 08             	add    $0x8,%esp
597864:	85 c0                	test   %eax,%eax
597866:	75 1d                	jne    0x597885
597868:	ff 74 24 1c          	push   0x1c(%esp)
59786c:	57                   	push   %edi
59786d:	50                   	push   %eax
59786e:	ff 74 24 20          	push   0x20(%esp)
597872:	ff 74 24 20          	push   0x20(%esp)
597876:	ff 74 24 20          	push   0x20(%esp)
59787a:	e8 41 f6 ff ff       	call   0x596ec0
59787f:	83 c4 18             	add    $0x18,%esp
597882:	5f                   	pop    %edi
597883:	5e                   	pop    %esi
597884:	c3                   	ret
597885:	68 30 02 00 00       	push   $0x230
59788a:	68 24 8b 6c 00       	push   $0x6c8b24
59788f:	6a 75                	push   $0x75
597891:	6a 75                	push   $0x75
597893:	6a 22                	push   $0x22
597895:	e8 06 9c f0 ff       	call   0x4a14a0
59789a:	56                   	push   %esi
59789b:	68 bc 2e 6c 00       	push   $0x6c2ebc
5978a0:	6a 02                	push   $0x2
5978a2:	e8 19 97 f0 ff       	call   0x4a0fc0
5978a7:	83 c4 20             	add    $0x20,%esp
5978aa:	33 c0                	xor    %eax,%eax
5978ac:	5f                   	pop    %edi
5978ad:	5e                   	pop    %esi
5978ae:	c3                   	ret
5978af:	cc                   	int3
5978b0:	b8 d8 8b 6c 00       	mov    $0x6c8bd8,%eax
5978b5:	c3                   	ret
5978b6:	cc                   	int3
5978b7:	cc                   	int3
5978b8:	cc                   	int3
5978b9:	cc                   	int3
5978ba:	cc                   	int3
5978bb:	cc                   	int3
5978bc:	cc                   	int3
5978bd:	cc                   	int3
5978be:	cc                   	int3
5978bf:	cc                   	int3
5978c0:	56                   	push   %esi
5978c1:	8b 74 24 0c          	mov    0xc(%esp),%esi
5978c5:	8d 44 24 10          	lea    0x10(%esp),%eax
5978c9:	50                   	push   %eax
5978ca:	ff 36                	push   (%esi)
5978cc:	68 14 8c 6c 00       	push   $0x6c8c14
5978d1:	e8 ca 08 fe ff       	call   0x5781a0
5978d6:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5978da:	50                   	push   %eax
5978db:	ff 76 04             	push   0x4(%esi)
5978de:	68 f8 8b 6c 00       	push   $0x6c8bf8
5978e3:	e8 e8 08 fe ff       	call   0x5781d0
5978e8:	8b 44 24 28          	mov    0x28(%esp),%eax
5978ec:	83 c4 18             	add    $0x18,%esp
5978ef:	5e                   	pop    %esi
5978f0:	c3                   	ret
5978f1:	cc                   	int3
5978f2:	cc                   	int3
5978f3:	cc                   	int3
5978f4:	cc                   	int3
5978f5:	cc                   	int3
5978f6:	cc                   	int3
5978f7:	cc                   	int3
5978f8:	cc                   	int3
5978f9:	cc                   	int3
5978fa:	cc                   	int3
5978fb:	cc                   	int3
5978fc:	cc                   	int3
5978fd:	cc                   	int3
5978fe:	cc                   	int3
5978ff:	cc                   	int3
597900:	b8 04 00 00 00       	mov    $0x4,%eax
597905:	e8 e6 9b 04 00       	call   0x5e14f0
59790a:	68 d8 8b 6c 00       	push   $0x6c8bd8
59790f:	e8 3c 42 f3 ff       	call   0x4cbb50
597914:	83 c4 04             	add    $0x4,%esp
597917:	89 04 24             	mov    %eax,(%esp)
59791a:	85 c0                	test   %eax,%eax
59791c:	75 19                	jne    0x597937
59791e:	6a 6f                	push   $0x6f
597920:	68 18 8c 6c 00       	push   $0x6c8c18
597925:	6a 41                	push   $0x41
597927:	6a 66                	push   $0x66
597929:	6a 22                	push   $0x22
59792b:	e8 70 9b f0 ff       	call   0x4a14a0
597930:	83 c4 14             	add    $0x14,%esp
597933:	33 c0                	xor    %eax,%eax
597935:	59                   	pop    %ecx
597936:	c3                   	ret
597937:	53                   	push   %ebx
597938:	8b 5c 24 14          	mov    0x14(%esp),%ebx
59793c:	55                   	push   %ebp
59793d:	56                   	push   %esi
59793e:	57                   	push   %edi
59793f:	53                   	push   %ebx
597940:	33 ff                	xor    %edi,%edi
597942:	e8 c9 6c f1 ff       	call   0x4ae610
597947:	83 c4 04             	add    $0x4,%esp
59794a:	85 c0                	test   %eax,%eax
59794c:	0f 8e a4 00 00 00    	jle    0x5979f6
597952:	57                   	push   %edi
597953:	53                   	push   %ebx
597954:	e8 d7 6d f1 ff       	call   0x4ae730
597959:	8b e8                	mov    %eax,%ebp
59795b:	83 c4 08             	add    $0x8,%esp
59795e:	be 14 8c 6c 00       	mov    $0x6c8c14,%esi
597963:	8b 4d 04             	mov    0x4(%ebp),%ecx
597966:	8b d1                	mov    %ecx,%edx
597968:	8a 1a                	mov    (%edx),%bl
59796a:	3a 1e                	cmp    (%esi),%bl
59796c:	75 1a                	jne    0x597988
59796e:	84 db                	test   %bl,%bl
597970:	74 12                	je     0x597984
597972:	8a 42 01             	mov    0x1(%edx),%al
597975:	3a 46 01             	cmp    0x1(%esi),%al
597978:	75 0e                	jne    0x597988
59797a:	83 c2 02             	add    $0x2,%edx
59797d:	83 c6 02             	add    $0x2,%esi
597980:	84 c0                	test   %al,%al
597982:	75 e4                	jne    0x597968
597984:	33 c0                	xor    %eax,%eax
597986:	eb 05                	jmp    0x59798d
597988:	1b c0                	sbb    %eax,%eax
59798a:	83 c8 01             	or     $0x1,%eax
59798d:	85 c0                	test   %eax,%eax
59798f:	75 0c                	jne    0x59799d
597991:	ff 74 24 10          	push   0x10(%esp)
597995:	55                   	push   %ebp
597996:	e8 15 09 fe ff       	call   0x5782b0
59799b:	eb 3c                	jmp    0x5979d9
59799d:	b8 f8 8b 6c 00       	mov    $0x6c8bf8,%eax
5979a2:	8a 11                	mov    (%ecx),%dl
5979a4:	3a 10                	cmp    (%eax),%dl
5979a6:	75 1a                	jne    0x5979c2
5979a8:	84 d2                	test   %dl,%dl
5979aa:	74 12                	je     0x5979be
5979ac:	8a 51 01             	mov    0x1(%ecx),%dl
5979af:	3a 50 01             	cmp    0x1(%eax),%dl
5979b2:	75 0e                	jne    0x5979c2
5979b4:	83 c1 02             	add    $0x2,%ecx
5979b7:	83 c0 02             	add    $0x2,%eax
5979ba:	84 d2                	test   %dl,%dl
5979bc:	75 e4                	jne    0x5979a2
5979be:	33 c0                	xor    %eax,%eax
5979c0:	eb 05                	jmp    0x5979c7
5979c2:	1b c0                	sbb    %eax,%eax
5979c4:	83 c8 01             	or     $0x1,%eax
5979c7:	85 c0                	test   %eax,%eax
5979c9:	75 35                	jne    0x597a00
5979cb:	8b 44 24 10          	mov    0x10(%esp),%eax
5979cf:	83 c0 04             	add    $0x4,%eax
5979d2:	50                   	push   %eax
5979d3:	55                   	push   %ebp
5979d4:	e8 b7 0b fe ff       	call   0x578590
5979d9:	83 c4 08             	add    $0x8,%esp
5979dc:	85 c0                	test   %eax,%eax
5979de:	74 54                	je     0x597a34
5979e0:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5979e4:	47                   	inc    %edi
5979e5:	53                   	push   %ebx
5979e6:	e8 25 6c f1 ff       	call   0x4ae610
5979eb:	83 c4 04             	add    $0x4,%esp
5979ee:	3b f8                	cmp    %eax,%edi
5979f0:	0f 8c 5c ff ff ff    	jl     0x597952
5979f6:	8b 44 24 10          	mov    0x10(%esp),%eax
5979fa:	5f                   	pop    %edi
5979fb:	5e                   	pop    %esi
5979fc:	5d                   	pop    %ebp
5979fd:	5b                   	pop    %ebx
5979fe:	59                   	pop    %ecx
5979ff:	c3                   	ret
597a00:	6a 7b                	push   $0x7b
597a02:	68 18 8c 6c 00       	push   $0x6c8c18
597a07:	6a 6a                	push   $0x6a
597a09:	6a 66                	push   $0x66
597a0b:	6a 22                	push   $0x22
597a0d:	e8 8e 9a f0 ff       	call   0x4a14a0
597a12:	ff 75 08             	push   0x8(%ebp)
597a15:	68 08 d4 6b 00       	push   $0x6bd408
597a1a:	ff 75 04             	push   0x4(%ebp)
597a1d:	68 10 d4 6b 00       	push   $0x6bd410
597a22:	ff 75 00             	push   0x0(%ebp)
597a25:	68 18 d4 6b 00       	push   $0x6bd418
597a2a:	6a 06                	push   $0x6
597a2c:	e8 8f 95 f0 ff       	call   0x4a0fc0
597a31:	83 c4 30             	add    $0x30,%esp
597a34:	68 d8 8b 6c 00       	push   $0x6c8bd8
597a39:	ff 74 24 14          	push   0x14(%esp)
597a3d:	e8 4e a4 f1 ff       	call   0x4b1e90
597a42:	83 c4 08             	add    $0x8,%esp
597a45:	33 c0                	xor    %eax,%eax
597a47:	5f                   	pop    %edi
597a48:	5e                   	pop    %esi
597a49:	5d                   	pop    %ebp
597a4a:	5b                   	pop    %ebx
597a4b:	59                   	pop    %ecx
597a4c:	c3                   	ret
597a4d:	cc                   	int3
597a4e:	cc                   	int3
597a4f:	cc                   	int3
597a50:	68 d8 8b 6c 00       	push   $0x6c8bd8
597a55:	ff 74 24 08          	push   0x8(%esp)
597a59:	e8 32 a4 f1 ff       	call   0x4b1e90
597a5e:	83 c4 08             	add    $0x8,%esp
597a61:	c3                   	ret
597a62:	cc                   	int3
597a63:	cc                   	int3
597a64:	cc                   	int3
597a65:	cc                   	int3
597a66:	cc                   	int3
597a67:	cc                   	int3
597a68:	cc                   	int3
597a69:	cc                   	int3
597a6a:	cc                   	int3
597a6b:	cc                   	int3
597a6c:	cc                   	int3
597a6d:	cc                   	int3
597a6e:	cc                   	int3
597a6f:	cc                   	int3
597a70:	b8 08 00 00 00       	mov    $0x8,%eax
597a75:	e8 76 9a 04 00       	call   0x5e14f0
597a7a:	6a 03                	push   $0x3
597a7c:	e8 7f a0 f1 ff       	call   0x4b1b00
597a81:	83 c4 04             	add    $0x4,%esp
597a84:	89 04 24             	mov    %eax,(%esp)
597a87:	85 c0                	test   %eax,%eax
597a89:	75 1b                	jne    0x597aa6
597a8b:	6a 74                	push   $0x74
597a8d:	68 60 8e 6c 00       	push   $0x6c8e60
597a92:	6a 41                	push   $0x41
597a94:	6a 65                	push   $0x65
597a96:	6a 22                	push   $0x22
597a98:	e8 03 9a f0 ff       	call   0x4a14a0
597a9d:	83 c4 14             	add    $0x14,%esp
597aa0:	33 c0                	xor    %eax,%eax
597aa2:	83 c4 08             	add    $0x8,%esp
597aa5:	c3                   	ret
597aa6:	53                   	push   %ebx
597aa7:	55                   	push   %ebp
597aa8:	56                   	push   %esi
597aa9:	57                   	push   %edi
597aaa:	8b 7c 24 24          	mov    0x24(%esp),%edi
597aae:	33 ed                	xor    %ebp,%ebp
597ab0:	57                   	push   %edi
597ab1:	e8 5a 6b f1 ff       	call   0x4ae610
597ab6:	83 c4 04             	add    $0x4,%esp
597ab9:	85 c0                	test   %eax,%eax
597abb:	0f 8e c9 00 00 00    	jle    0x597b8a
597ac1:	55                   	push   %ebp
597ac2:	57                   	push   %edi
597ac3:	e8 68 6c f1 ff       	call   0x4ae730