596897:	75 25                	jne    0x5968be
596899:	6a 01                	push   $0x1
59689b:	57                   	push   %edi
59689c:	55                   	push   %ebp
59689d:	e8 1e 08 00 00       	call   0x5970c0
5968a2:	83 c4 0c             	add    $0xc,%esp
5968a5:	85 c0                	test   %eax,%eax
5968a7:	75 35                	jne    0x5968de
5968a9:	68 00 de 58 00       	push   $0x58de00
5968ae:	57                   	push   %edi
5968af:	e8 8c 7d f1 ff       	call   0x4ae640
5968b4:	83 c4 08             	add    $0x8,%esp
5968b7:	33 c0                	xor    %eax,%eax
5968b9:	5e                   	pop    %esi
5968ba:	5d                   	pop    %ebp
5968bb:	5b                   	pop    %ebx
5968bc:	5f                   	pop    %edi
5968bd:	c3                   	ret
5968be:	6a 00                	push   $0x0
5968c0:	56                   	push   %esi
5968c1:	55                   	push   %ebp
5968c2:	ff 74 24 20          	push   0x20(%esp)
5968c6:	6a 00                	push   $0x0
5968c8:	e8 c3 0e 00 00       	call   0x597790
5968cd:	83 c4 14             	add    $0x14,%esp
5968d0:	85 c0                	test   %eax,%eax
5968d2:	74 d5                	je     0x5968a9
5968d4:	50                   	push   %eax
5968d5:	57                   	push   %edi
5968d6:	e8 b5 7d f1 ff       	call   0x4ae690
5968db:	83 c4 08             	add    $0x8,%esp
5968de:	8b 74 24 1c          	mov    0x1c(%esp),%esi
5968e2:	43                   	inc    %ebx
5968e3:	56                   	push   %esi
5968e4:	e8 27 7d f1 ff       	call   0x4ae610
5968e9:	83 c4 04             	add    $0x4,%esp
5968ec:	3b d8                	cmp    %eax,%ebx
5968ee:	0f 8c fc fe ff ff    	jl     0x5967f0
5968f4:	5e                   	pop    %esi
5968f5:	5d                   	pop    %ebp
5968f6:	5b                   	pop    %ebx
5968f7:	8b c7                	mov    %edi,%eax
5968f9:	5f                   	pop    %edi
5968fa:	c3                   	ret
5968fb:	cc                   	int3
5968fc:	cc                   	int3
5968fd:	cc                   	int3
5968fe:	cc                   	int3
5968ff:	cc                   	int3
596900:	53                   	push   %ebx
596901:	e8 fa 7c f1 ff       	call   0x4ae600
596906:	8b d8                	mov    %eax,%ebx
596908:	85 db                	test   %ebx,%ebx
59690a:	75 1f                	jne    0x59692b
59690c:	68 01 01 00 00       	push   $0x101
596911:	68 24 8b 6c 00       	push   $0x6c8b24
596916:	6a 41                	push   $0x41
596918:	68 99 00 00 00       	push   $0x99
59691d:	6a 22                	push   $0x22
59691f:	e8 7c ab f0 ff       	call   0x4a14a0
596924:	83 c4 14             	add    $0x14,%esp
596927:	33 c0                	xor    %eax,%eax
596929:	5b                   	pop    %ebx
59692a:	c3                   	ret
59692b:	55                   	push   %ebp
59692c:	8b 6c 24 14          	mov    0x14(%esp),%ebp
596930:	56                   	push   %esi
596931:	57                   	push   %edi
596932:	55                   	push   %ebp
596933:	33 f6                	xor    %esi,%esi
596935:	e8 d6 7c f1 ff       	call   0x4ae610
59693a:	83 c4 04             	add    $0x4,%esp
59693d:	85 c0                	test   %eax,%eax
59693f:	0f 8e af 00 00 00    	jle    0x5969f4
596945:	56                   	push   %esi
596946:	55                   	push   %ebp
596947:	e8 e4 7d f1 ff       	call   0x4ae730
59694c:	8b f8                	mov    %eax,%edi
59694e:	68 38 55 6c 00       	push   $0x6c5538
596953:	ff 77 04             	push   0x4(%edi)
596956:	e8 95 24 fe ff       	call   0x578df0
59695b:	83 c4 10             	add    $0x10,%esp
59695e:	85 c0                	test   %eax,%eax
596960:	75 5d                	jne    0x5969bf
596962:	8b 4f 08             	mov    0x8(%edi),%ecx
596965:	85 c9                	test   %ecx,%ecx
596967:	74 56                	je     0x5969bf
596969:	b8 40 8b 6c 00       	mov    $0x6c8b40,%eax
59696e:	66 90                	xchg   %ax,%ax
596970:	8a 11                	mov    (%ecx),%dl
596972:	3a 10                	cmp    (%eax),%dl
596974:	75 1a                	jne    0x596990
596976:	84 d2                	test   %dl,%dl
596978:	74 12                	je     0x59698c
59697a:	8a 51 01             	mov    0x1(%ecx),%dl
59697d:	3a 50 01             	cmp    0x1(%eax),%dl
596980:	75 0e                	jne    0x596990
596982:	83 c1 02             	add    $0x2,%ecx
596985:	83 c0 02             	add    $0x2,%eax
596988:	84 d2                	test   %dl,%dl
59698a:	75 e4                	jne    0x596970
59698c:	33 c0                	xor    %eax,%eax
59698e:	eb 05                	jmp    0x596995
596990:	1b c0                	sbb    %eax,%eax
596992:	83 c8 01             	or     $0x1,%eax
596995:	85 c0                	test   %eax,%eax
596997:	75 26                	jne    0x5969bf
596999:	53                   	push   %ebx
59699a:	ff 74 24 1c          	push   0x1c(%esp)
59699e:	e8 4d 08 00 00       	call   0x5971f0
5969a3:	83 c4 08             	add    $0x8,%esp
5969a6:	85 c0                	test   %eax,%eax
5969a8:	75 38                	jne    0x5969e2
5969aa:	68 00 de 58 00       	push   $0x58de00
5969af:	53                   	push   %ebx
5969b0:	e8 8b 7c f1 ff       	call   0x4ae640
5969b5:	83 c4 08             	add    $0x8,%esp
5969b8:	33 c0                	xor    %eax,%eax
5969ba:	5f                   	pop    %edi
5969bb:	5e                   	pop    %esi
5969bc:	5d                   	pop    %ebp
5969bd:	5b                   	pop    %ebx
5969be:	c3                   	ret
5969bf:	6a 00                	push   $0x0
5969c1:	57                   	push   %edi
5969c2:	ff 74 24 20          	push   0x20(%esp)
5969c6:	ff 74 24 20          	push   0x20(%esp)
5969ca:	6a 00                	push   $0x0
5969cc:	e8 bf 0d 00 00       	call   0x597790
5969d1:	83 c4 14             	add    $0x14,%esp
5969d4:	85 c0                	test   %eax,%eax
5969d6:	74 d2                	je     0x5969aa
5969d8:	50                   	push   %eax
5969d9:	53                   	push   %ebx
5969da:	e8 b1 7c f1 ff       	call   0x4ae690
5969df:	83 c4 08             	add    $0x8,%esp
5969e2:	55                   	push   %ebp
5969e3:	46                   	inc    %esi
5969e4:	e8 27 7c f1 ff       	call   0x4ae610
5969e9:	83 c4 04             	add    $0x4,%esp
5969ec:	3b f0                	cmp    %eax,%esi
5969ee:	0f 8c 51 ff ff ff    	jl     0x596945
5969f4:	5f                   	pop    %edi
5969f5:	5e                   	pop    %esi
5969f6:	5d                   	pop    %ebp
5969f7:	8b c3                	mov    %ebx,%eax
5969f9:	5b                   	pop    %ebx
5969fa:	c3                   	ret
5969fb:	cc                   	int3
5969fc:	cc                   	int3
5969fd:	cc                   	int3
5969fe:	cc                   	int3
5969ff:	cc                   	int3
596a00:	b8 18 01 00 00       	mov    $0x118,%eax
596a05:	e8 e6 aa 04 00       	call   0x5e14f0
596a0a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
596a0f:	33 c4                	xor    %esp,%eax
596a11:	89 84 24 14 01 00 00 	mov    %eax,0x114(%esp)
596a18:	53                   	push   %ebx
596a19:	56                   	push   %esi
596a1a:	8b b4 24 2c 01 00 00 	mov    0x12c(%esp),%esi
596a21:	33 db                	xor    %ebx,%ebx
596a23:	57                   	push   %edi
596a24:	8b bc 24 2c 01 00 00 	mov    0x12c(%esp),%edi
596a2b:	57                   	push   %edi
596a2c:	89 7c 24 18          	mov    %edi,0x18(%esp)
596a30:	89 5c 24 14          	mov    %ebx,0x14(%esp)
596a34:	e8 d7 7b f1 ff       	call   0x4ae610
596a39:	83 c4 04             	add    $0x4,%esp
596a3c:	85 c0                	test   %eax,%eax
596a3e:	0f 8e 2e 02 00 00    	jle    0x596c72
596a44:	55                   	push   %ebp
596a45:	53                   	push   %ebx
596a46:	57                   	push   %edi
596a47:	e8 e4 7c f1 ff       	call   0x4ae730
596a4c:	83 c4 08             	add    $0x8,%esp
596a4f:	89 74 24 10          	mov    %esi,0x10(%esp)
596a53:	8b 08                	mov    (%eax),%ecx
596a55:	83 f9 08             	cmp    $0x8,%ecx
596a58:	0f 87 fd 01 00 00    	ja     0x596c5b
596a5e:	ff 24 8d b0 6c 59 00 	jmp    *0x596cb0(,%ecx,4)
596a65:	8d 44 24 10          	lea    0x10(%esp),%eax
596a69:	50                   	push   %eax
596a6a:	68 00 8a 6c 00       	push   $0x6c8a00
596a6f:	68 10 8a 6c 00       	push   $0x6c8a10
596a74:	e8 57 16 fe ff       	call   0x5780d0
596a79:	83 c4 0c             	add    $0xc,%esp
596a7c:	85 c0                	test   %eax,%eax
596a7e:	0f 85 d3 01 00 00    	jne    0x596c57
596a84:	33 f6                	xor    %esi,%esi
596a86:	e9 d0 01 00 00       	jmp    0x596c5b
596a8b:	8d 44 24 10          	lea    0x10(%esp),%eax
596a8f:	50                   	push   %eax
596a90:	68 00 8a 6c 00       	push   $0x6c8a00
596a95:	68 1c 8a 6c 00       	push   $0x6c8a1c
596a9a:	eb d8                	jmp    0x596a74
596a9c:	8d 44 24 10          	lea    0x10(%esp),%eax
596aa0:	50                   	push   %eax
596aa1:	68 00 8a 6c 00       	push   $0x6c8a00
596aa6:	68 28 8a 6c 00       	push   $0x6c8a28
596aab:	eb c7                	jmp    0x596a74
596aad:	8b 40 04             	mov    0x4(%eax),%eax
596ab0:	8d 4c 24 10          	lea    0x10(%esp),%ecx
596ab4:	51                   	push   %ecx
596ab5:	ff 70 08             	push   0x8(%eax)
596ab8:	68 38 8a 6c 00       	push   $0x6c8a38
596abd:	e8 8e 17 fe ff       	call   0x578250
596ac2:	eb b5                	jmp    0x596a79
596ac4:	8b 40 04             	mov    0x4(%eax),%eax
596ac7:	8d 4c 24 10          	lea    0x10(%esp),%ecx
596acb:	51                   	push   %ecx
596acc:	ff 70 08             	push   0x8(%eax)
596acf:	68 40 8a 6c 00       	push   $0x6c8a40
596ad4:	e8 77 17 fe ff       	call   0x578250
596ad9:	eb 9e                	jmp    0x596a79
596adb:	8b 40 04             	mov    0x4(%eax),%eax
596ade:	8d 4c 24 10          	lea    0x10(%esp),%ecx
596ae2:	51                   	push   %ecx
596ae3:	ff 70 08             	push   0x8(%eax)
596ae6:	68 44 8a 6c 00       	push   $0x6c8a44
596aeb:	e8 60 17 fe ff       	call   0x578250
596af0:	eb 87                	jmp    0x596a79
596af2:	68 00 01 00 00       	push   $0x100
596af7:	8d 4c 24 28          	lea    0x28(%esp),%ecx
596afb:	51                   	push   %ecx
596afc:	ff 70 04             	push   0x4(%eax)
596aff:	e8 5c c2 ff ff       	call   0x592d60
596b04:	83 c4 0c             	add    $0xc,%esp
596b07:	85 c0                	test   %eax,%eax
596b09:	0f 84 75 ff ff ff    	je     0x596a84
596b0f:	8d 44 24 10          	lea    0x10(%esp),%eax
596b13:	50                   	push   %eax
596b14:	8d 44 24 28          	lea    0x28(%esp),%eax
596b18:	50                   	push   %eax
596b19:	68 48 8a 6c 00       	push   $0x6c8a48
596b1e:	e9 51 ff ff ff       	jmp    0x596a74
596b23:	8b 40 04             	mov    0x4(%eax),%eax
596b26:	8b 68 08             	mov    0x8(%eax),%ebp
596b29:	8b 00                	mov    (%eax),%eax
596b2b:	83 f8 04             	cmp    $0x4,%eax
596b2e:	75 3f                	jne    0x596b6f
596b30:	0f b6 45 03          	movzbl 0x3(%ebp),%eax
596b34:	50                   	push   %eax
596b35:	0f b6 45 02          	movzbl 0x2(%ebp),%eax
596b39:	50                   	push   %eax
596b3a:	0f b6 45 01          	movzbl 0x1(%ebp),%eax
596b3e:	50                   	push   %eax
596b3f:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
596b43:	50                   	push   %eax
596b44:	68 24 d4 6b 00       	push   $0x6bd424
596b49:	8d 44 24 38          	lea    0x38(%esp),%eax
596b4d:	68 00 01 00 00       	push   $0x100
596b52:	50                   	push   %eax
596b53:	e8 98 83 f1 ff       	call   0x4aeef0
596b58:	83 c4 1c             	add    $0x1c,%esp
596b5b:	8d 44 24 10          	lea    0x10(%esp),%eax
596b5f:	50                   	push   %eax
596b60:	8d 44 24 28          	lea    0x28(%esp),%eax
596b64:	50                   	push   %eax
596b65:	68 60 8a 6c 00       	push   $0x6c8a60
596b6a:	e9 05 ff ff ff       	jmp    0x596a74
596b6f:	83 f8 10             	cmp    $0x10,%eax
596b72:	0f 85 9d 00 00 00    	jne    0x596c15
596b78:	c6 44 24 24 00       	movb   $0x0,0x24(%esp)
596b7d:	33 db                	xor    %ebx,%ebx
596b7f:	90                   	nop
596b80:	0f b6 4d 00          	movzbl 0x0(%ebp),%ecx
596b84:	0f b6 45 01          	movzbl 0x1(%ebp),%eax
596b88:	c1 e1 08             	shl    $0x8,%ecx
596b8b:	0b c8                	or     %eax,%ecx
596b8d:	8d 44 24 1c          	lea    0x1c(%esp),%eax
596b91:	51                   	push   %ecx
596b92:	68 50 8a 6c 00       	push   $0x6c8a50
596b97:	6a 05                	push   $0x5
596b99:	50                   	push   %eax
596b9a:	e8 51 83 f1 ff       	call   0x4aeef0
596b9f:	8d 54 24 2c          	lea    0x2c(%esp),%edx
596ba3:	83 c4 10             	add    $0x10,%esp
596ba6:	8d 6d 02             	lea    0x2(%ebp),%ebp
596ba9:	8b f2                	mov    %edx,%esi
596bab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
596bb0:	8a 02                	mov    (%edx),%al
596bb2:	42                   	inc    %edx
596bb3:	84 c0                	test   %al,%al
596bb5:	75 f9                	jne    0x596bb0
596bb7:	8d 7c 24 24          	lea    0x24(%esp),%edi
596bbb:	2b d6                	sub    %esi,%edx
596bbd:	4f                   	dec    %edi
596bbe:	66 90                	xchg   %ax,%ax
596bc0:	8a 47 01             	mov    0x1(%edi),%al
596bc3:	47                   	inc    %edi
596bc4:	84 c0                	test   %al,%al
596bc6:	75 f8                	jne    0x596bc0
596bc8:	8b ca                	mov    %edx,%ecx
596bca:	c1 e9 02             	shr    $0x2,%ecx
596bcd:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
596bcf:	8b ca                	mov    %edx,%ecx
596bd1:	83 e1 03             	and    $0x3,%ecx
596bd4:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
596bd6:	83 fb 07             	cmp    $0x7,%ebx
596bd9:	74 18                	je     0x596bf3
596bdb:	8d 7c 24 24          	lea    0x24(%esp),%edi
596bdf:	4f                   	dec    %edi
596be0:	8a 47 01             	mov    0x1(%edi),%al
596be3:	8d 7f 01             	lea    0x1(%edi),%edi
596be6:	84 c0                	test   %al,%al
596be8:	75 f6                	jne    0x596be0
596bea:	66 a1 40 d1 6b 00    	mov    0x6bd140,%ax
596bf0:	66 89 07             	mov    %ax,(%edi)
596bf3:	43                   	inc    %ebx
596bf4:	83 fb 08             	cmp    $0x8,%ebx
596bf7:	7c 87                	jl     0x596b80
596bf9:	8b 5c 24 14          	mov    0x14(%esp),%ebx
596bfd:	8d 44 24 10          	lea    0x10(%esp),%eax
596c01:	8b 7c 24 18          	mov    0x18(%esp),%edi
596c05:	50                   	push   %eax
596c06:	8d 44 24 28          	lea    0x28(%esp),%eax
596c0a:	50                   	push   %eax
596c0b:	68 60 8a 6c 00       	push   $0x6c8a60
596c10:	e9 5f fe ff ff       	jmp    0x596a74
596c15:	8d 44 24 10          	lea    0x10(%esp),%eax
596c19:	50                   	push   %eax
596c1a:	68 54 8a 6c 00       	push   $0x6c8a54
596c1f:	68 60 8a 6c 00       	push   $0x6c8a60
596c24:	e9 4b fe ff ff       	jmp    0x596a74
596c29:	ff 70 04             	push   0x4(%eax)
596c2c:	8d 44 24 28          	lea    0x28(%esp),%eax
596c30:	68 00 01 00 00       	push   $0x100
596c35:	50                   	push   %eax
596c36:	e8 65 09 f1 ff       	call   0x4a75a0
596c3b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
596c3f:	50                   	push   %eax
596c40:	8d 44 24 34          	lea    0x34(%esp),%eax
596c44:	50                   	push   %eax
596c45:	68 6c 8a 6c 00       	push   $0x6c8a6c
596c4a:	e8 81 14 fe ff       	call   0x5780d0
596c4f:	83 c4 18             	add    $0x18,%esp
596c52:	e9 25 fe ff ff       	jmp    0x596a7c
596c57:	8b 74 24 10          	mov    0x10(%esp),%esi
596c5b:	43                   	inc    %ebx
596c5c:	57                   	push   %edi
596c5d:	89 5c 24 18          	mov    %ebx,0x18(%esp)
596c61:	e8 aa 79 f1 ff       	call   0x4ae610
596c66:	83 c4 04             	add    $0x4,%esp
596c69:	3b d8                	cmp    %eax,%ebx
596c6b:	0f 8c d4 fd ff ff    	jl     0x596a45
596c71:	5d                   	pop    %ebp
596c72:	85 f6                	test   %esi,%esi
596c74:	75 1d                	jne    0x596c93
596c76:	e8 85 79 f1 ff       	call   0x4ae600