5a0835:	8d ae fc 0e 00 00    	lea    0xefc(%esi),%ebp
5a083b:	75 0a                	jne    0x5a0847
5a083d:	83 7d 00 0d          	cmpl   $0xd,0x0(%ebp)
5a0841:	0f 83 76 01 00 00    	jae    0x5a09bd
5a0847:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a084b:	8b dd                	mov    %ebp,%ebx
5a084d:	50                   	push   %eax
5a084e:	6a 01                	push   $0x1
5a0850:	6a 00                	push   $0x0
5a0852:	ff b6 6c 06 00 00    	push   0x66c(%esi)
5a0858:	6a 0d                	push   $0xd
5a085a:	56                   	push   %esi
5a085b:	e8 20 21 ff ff       	call   0x592980
5a0860:	83 c4 18             	add    $0x18,%esp
5a0863:	85 c0                	test   %eax,%eax
5a0865:	0f 8e 04 02 00 00    	jle    0x5a0a6f
5a086b:	83 3b 0d             	cmpl   $0xd,(%ebx)
5a086e:	74 0b                	je     0x5a087b
5a0870:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5a0876:	e9 2c 02 00 00       	jmp    0x5a0aa7
5a087b:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
5a0881:	8b ae f8 0e 00 00    	mov    0xef8(%esi),%ebp
5a0887:	c7 86 58 06 00 00 f1 	movl   $0xf1,0x658(%esi)
5a088e:	00 00 00
5a0891:	85 c0                	test   %eax,%eax
5a0893:	74 18                	je     0x5a08ad
5a0895:	ff b6 88 00 00 00    	push   0x88(%esi)
5a089b:	56                   	push   %esi
5a089c:	6a 0d                	push   $0xd
5a089e:	55                   	push   %ebp
5a089f:	68 00 01 00 00       	push   $0x100
5a08a4:	6a 00                	push   $0x0
5a08a6:	6a 00                	push   $0x0
5a08a8:	ff d0                	call   *%eax
5a08aa:	83 c4 1c             	add    $0x1c,%esp
5a08ad:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
5a08b1:	89 47 04             	mov    %eax,0x4(%edi)
5a08b4:	0f b6 55 01          	movzbl 0x1(%ebp),%edx
5a08b8:	0f b6 45 02          	movzbl 0x2(%ebp),%eax
5a08bc:	0f b6 4d 03          	movzbl 0x3(%ebp),%ecx
5a08c0:	66 c1 e2 08          	shl    $0x8,%dx
5a08c4:	66 0b d0             	or     %ax,%dx
5a08c7:	c1 e1 08             	shl    $0x8,%ecx
5a08ca:	0f b6 45 04          	movzbl 0x4(%ebp),%eax
5a08ce:	0b c8                	or     %eax,%ecx
5a08d0:	0f b7 d2             	movzwl %dx,%edx
5a08d3:	89 4f 24             	mov    %ecx,0x24(%edi)
5a08d6:	8b 45 05             	mov    0x5(%ebp),%eax
5a08d9:	89 86 22 0f 00 00    	mov    %eax,0xf22(%esi)
5a08df:	66 8b 45 09          	mov    0x9(%ebp),%ax
5a08e3:	66 89 86 26 0f 00 00 	mov    %ax,0xf26(%esi)
5a08ea:	0f b6 4d 0b          	movzbl 0xb(%ebp),%ecx
5a08ee:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
5a08f2:	c1 e1 08             	shl    $0x8,%ecx
5a08f5:	0b c8                	or     %eax,%ecx
5a08f7:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
5a08fe:	89 4f 08             	mov    %ecx,0x8(%edi)
5a0901:	83 be 00 05 00 00 00 	cmpl   $0x0,0x500(%esi)
5a0908:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a090c:	75 23                	jne    0x5a0931
5a090e:	83 7f 04 15          	cmpl   $0x15,0x4(%edi)
5a0912:	74 1d                	je     0x5a0931
5a0914:	3b 16                	cmp    (%esi),%edx
5a0916:	74 19                	je     0x5a0931
5a0918:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5a091f:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
5a0926:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5a092c:	e9 76 01 00 00       	jmp    0x5a0aa7
5a0931:	33 16                	xor    (%esi),%edx
5a0933:	f7 c2 00 ff 00 00    	test   $0xff00,%edx
5a0939:	74 19                	je     0x5a0954
5a093b:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5a0942:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
5a0949:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5a094f:	e9 53 01 00 00       	jmp    0x5a0aa7
5a0954:	81 f9 40 41 00 00    	cmp    $0x4140,%ecx
5a095a:	76 19                	jbe    0x5a0975
5a095c:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5a0963:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
5a096a:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5a0970:	e9 32 01 00 00       	jmp    0x5a0aa7
5a0975:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
5a097b:	8b eb                	mov    %ebx,%ebp
5a097d:	85 c0                	test   %eax,%eax
5a097f:	74 3c                	je     0x5a09bd
5a0981:	8a 88 f0 01 00 00    	mov    0x1f0(%eax),%cl
5a0987:	8d 41 ff             	lea    -0x1(%ecx),%eax
5a098a:	3c 03                	cmp    $0x3,%al
5a098c:	77 2f                	ja     0x5a09bd
5a098e:	0f b6 c9             	movzbl %cl,%ecx
5a0991:	b8 00 02 00 00       	mov    $0x200,%eax
5a0996:	49                   	dec    %ecx
5a0997:	d3 e0                	shl    %cl,%eax
5a0999:	05 40 01 00 00       	add    $0x140,%eax
5a099e:	39 44 24 10          	cmp    %eax,0x10(%esp)
5a09a2:	76 19                	jbe    0x5a09bd
5a09a4:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5a09ab:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
5a09b2:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5a09b8:	e9 ea 00 00 00       	jmp    0x5a0aa7
5a09bd:	8b 45 00             	mov    0x0(%ebp),%eax
5a09c0:	8b 5f 08             	mov    0x8(%edi),%ebx
5a09c3:	83 e8 0d             	sub    $0xd,%eax
5a09c6:	3b d8                	cmp    %eax,%ebx
5a09c8:	76 26                	jbe    0x5a09f0
5a09ca:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a09ce:	50                   	push   %eax
5a09cf:	6a 01                	push   $0x1
5a09d1:	6a 01                	push   $0x1
5a09d3:	53                   	push   %ebx
5a09d4:	53                   	push   %ebx
5a09d5:	56                   	push   %esi
5a09d6:	e8 a5 1f ff ff       	call   0x592980
5a09db:	83 c4 18             	add    $0x18,%esp
5a09de:	85 c0                	test   %eax,%eax
5a09e0:	0f 8e 9f 00 00 00    	jle    0x5a0a85
5a09e6:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
5a09ea:	0f 85 95 00 00 00    	jne    0x5a0a85
5a09f0:	8d 44 24 14          	lea    0x14(%esp),%eax
5a09f4:	c7 86 58 06 00 00 f0 	movl   $0xf0,0x658(%esi)
5a09fb:	00 00 00
5a09fe:	50                   	push   %eax
5a09ff:	57                   	push   %edi
5a0a00:	56                   	push   %esi
5a0a01:	e8 6a e2 00 00       	call   0x5aec70
5a0a06:	8b d8                	mov    %eax,%ebx
5a0a08:	83 c4 0c             	add    $0xc,%esp
5a0a0b:	85 db                	test   %ebx,%ebx
5a0a0d:	0f 84 86 00 00 00    	je     0x5a0a99
5a0a13:	53                   	push   %ebx
5a0a14:	56                   	push   %esi
5a0a15:	e8 16 14 01 00       	call   0x5b1e30
5a0a1a:	83 c4 08             	add    $0x8,%esp
5a0a1d:	85 c0                	test   %eax,%eax
5a0a1f:	74 71                	je     0x5a0a92
5a0a21:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
5a0a25:	75 09                	jne    0x5a0a30
5a0a27:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
5a0a2e:	eb 77                	jmp    0x5a0aa7
5a0a30:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5a0a35:	74 40                	je     0x5a0a77
5a0a37:	56                   	push   %esi
5a0a38:	e8 f3 e5 fe ff       	call   0x58f030
5a0a3d:	83 c4 04             	add    $0x4,%esp
5a0a40:	85 c0                	test   %eax,%eax
5a0a42:	75 0d                	jne    0x5a0a51
5a0a44:	56                   	push   %esi
5a0a45:	e8 f6 f6 f4 ff       	call   0x4f0140
5a0a4a:	83 c4 04             	add    $0x4,%esp
5a0a4d:	85 c0                	test   %eax,%eax
5a0a4f:	74 41                	je     0x5a0a92
5a0a51:	8d 47 28             	lea    0x28(%edi),%eax
5a0a54:	50                   	push   %eax
5a0a55:	8b 86 38 0f 00 00    	mov    0xf38(%esi),%eax
5a0a5b:	83 c0 1c             	add    $0x1c,%eax
5a0a5e:	50                   	push   %eax
5a0a5f:	56                   	push   %esi
5a0a60:	e8 fb df 00 00       	call   0x5aea60
5a0a65:	83 c4 0c             	add    $0xc,%esp
5a0a68:	85 c0                	test   %eax,%eax
5a0a6a:	79 26                	jns    0x5a0a92
5a0a6c:	83 c8 ff             	or     $0xffffffff,%eax
5a0a6f:	5f                   	pop    %edi
5a0a70:	5e                   	pop    %esi
5a0a71:	5d                   	pop    %ebp
5a0a72:	5b                   	pop    %ebx
5a0a73:	83 c4 08             	add    $0x8,%esp
5a0a76:	c3                   	ret
5a0a77:	53                   	push   %ebx
5a0a78:	56                   	push   %esi
5a0a79:	e8 52 00 00 00       	call   0x5a0ad0
5a0a7e:	83 c4 08             	add    $0x8,%esp
5a0a81:	85 c0                	test   %eax,%eax
5a0a83:	75 3e                	jne    0x5a0ac3
5a0a85:	56                   	push   %esi
5a0a86:	e8 e5 e6 fe ff       	call   0x58f170
5a0a8b:	83 c4 04             	add    $0x4,%esp
5a0a8e:	85 c0                	test   %eax,%eax
5a0a90:	75 da                	jne    0x5a0a6c
5a0a92:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
5a0a99:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5a0aa0:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
5a0aa7:	56                   	push   %esi
5a0aa8:	e8 23 e2 00 00       	call   0x5aecd0
5a0aad:	83 c4 04             	add    $0x4,%esp
5a0ab0:	85 c0                	test   %eax,%eax
5a0ab2:	0f 85 58 fd ff ff    	jne    0x5a0810
5a0ab8:	5f                   	pop    %edi
5a0ab9:	5e                   	pop    %esi
5a0aba:	5d                   	pop    %ebp
5a0abb:	83 c8 ff             	or     $0xffffffff,%eax
5a0abe:	5b                   	pop    %ebx
5a0abf:	83 c4 08             	add    $0x8,%esp
5a0ac2:	c3                   	ret
5a0ac3:	5f                   	pop    %edi
5a0ac4:	5e                   	pop    %esi
5a0ac5:	5d                   	pop    %ebp
5a0ac6:	b8 01 00 00 00       	mov    $0x1,%eax
5a0acb:	5b                   	pop    %ebx
5a0acc:	83 c4 08             	add    $0x8,%esp
5a0acf:	c3                   	ret
5a0ad0:	b8 8c 00 00 00       	mov    $0x8c,%eax
5a0ad5:	e8 d6 0c 03 00       	call   0x5d17b0
5a0ada:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a0adf:	33 c4                	xor    %esp,%eax
5a0ae1:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
5a0ae8:	8b 84 24 94 00 00 00 	mov    0x94(%esp),%eax
5a0aef:	55                   	push   %ebp
5a0af0:	56                   	push   %esi
5a0af1:	8b b4 24 98 00 00 00 	mov    0x98(%esp),%esi
5a0af8:	bd 00 40 00 00       	mov    $0x4000,%ebp
5a0afd:	89 44 24 0c          	mov    %eax,0xc(%esp)
5a0b01:	57                   	push   %edi
5a0b02:	8b 86 f8 0e 00 00    	mov    0xef8(%esi),%eax
5a0b08:	8b be 74 04 00 00    	mov    0x474(%esi),%edi
5a0b0e:	83 c0 0d             	add    $0xd,%eax
5a0b11:	8b 8e 00 09 00 00    	mov    0x900(%esi),%ecx
5a0b17:	89 7c 24 0c          	mov    %edi,0xc(%esp)
5a0b1b:	89 86 10 09 00 00    	mov    %eax,0x910(%esi)
5a0b21:	81 f9 40 41 00 00    	cmp    $0x4140,%ecx
5a0b27:	76 39                	jbe    0x5a0b62
5a0b29:	68 67 06 00 00       	push   $0x667
5a0b2e:	68 5c 7c 66 00       	push   $0x667c5c
5a0b33:	68 96 00 00 00       	push   $0x96
5a0b38:	68 01 01 00 00       	push   $0x101
5a0b3d:	6a 16                	push   $0x16
5a0b3f:	56                   	push   %esi
5a0b40:	e8 cb e5 fe ff       	call   0x58f110
5a0b45:	83 c4 18             	add    $0x18,%esp
5a0b48:	33 c0                	xor    %eax,%eax
5a0b4a:	5f                   	pop    %edi
5a0b4b:	5e                   	pop    %esi
5a0b4c:	5d                   	pop    %ebp
5a0b4d:	8b 8c 24 88 00 00 00 	mov    0x88(%esp),%ecx
5a0b54:	33 cc                	xor    %esp,%ecx
5a0b56:	e8 cb 0e 03 00       	call   0x5d1a26
5a0b5b:	81 c4 8c 00 00 00    	add    $0x8c,%esp
5a0b61:	c3                   	ret
5a0b62:	89 86 0c 09 00 00    	mov    %eax,0x90c(%esi)
5a0b68:	89 8e 04 09 00 00    	mov    %ecx,0x904(%esi)
5a0b6e:	8b 46 7c             	mov    0x7c(%esi),%eax
5a0b71:	53                   	push   %ebx
5a0b72:	f7 00 00 01 00 00    	testl  $0x100,(%eax)
5a0b78:	0f 84 c9 00 00 00    	je     0x5a0c47
5a0b7e:	8b 86 e0 03 00 00    	mov    0x3e0(%esi),%eax
5a0b84:	85 c0                	test   %eax,%eax
5a0b86:	0f 84 bb 00 00 00    	je     0x5a0c47
5a0b8c:	50                   	push   %eax
5a0b8d:	e8 de fb f4 ff       	call   0x4f0770
5a0b92:	50                   	push   %eax
5a0b93:	e8 28 fd f4 ff       	call   0x4f08c0
5a0b98:	8b f8                	mov    %eax,%edi
5a0b9a:	83 c4 08             	add    $0x8,%esp
5a0b9d:	83 ff 40             	cmp    $0x40,%edi
5a0ba0:	76 23                	jbe    0x5a0bc5
5a0ba2:	68 74 06 00 00       	push   $0x674
5a0ba7:	68 5c 7c 66 00       	push   $0x667c5c
5a0bac:	6a 44                	push   $0x44
5a0bae:	68 01 01 00 00       	push   $0x101
5a0bb3:	6a 50                	push   $0x50
5a0bb5:	56                   	push   %esi
5a0bb6:	e8 55 e5 fe ff       	call   0x58f110
5a0bbb:	83 c4 18             	add    $0x18,%esp
5a0bbe:	33 c0                	xor    %eax,%eax
5a0bc0:	e9 34 03 00 00       	jmp    0x5a0ef9
5a0bc5:	39 be 04 09 00 00    	cmp    %edi,0x904(%esi)
5a0bcb:	73 0a                	jae    0x5a0bd7
5a0bcd:	68 79 06 00 00       	push   $0x679
5a0bd2:	e9 6c 02 00 00       	jmp    0x5a0e43
5a0bd7:	29 be 00 09 00 00    	sub    %edi,0x900(%esi)
5a0bdd:	8d 4c 24 18          	lea    0x18(%esp),%ecx
5a0be1:	8b 46 04             	mov    0x4(%esi),%eax
5a0be4:	8b 9e 0c 09 00 00    	mov    0x90c(%esi),%ebx
5a0bea:	03 9e 00 09 00 00    	add    0x900(%esi),%ebx
5a0bf0:	6a 00                	push   $0x0
5a0bf2:	8b 40 64             	mov    0x64(%eax),%eax
5a0bf5:	51                   	push   %ecx
5a0bf6:	8d 8e f8 08 00 00    	lea    0x8f8(%esi),%ecx
5a0bfc:	51                   	push   %ecx
5a0bfd:	8b 40 04             	mov    0x4(%eax),%eax
5a0c00:	56                   	push   %esi
5a0c01:	ff d0                	call   *%eax
5a0c03:	83 c4 10             	add    $0x10,%esp
5a0c06:	85 c0                	test   %eax,%eax
5a0c08:	74 13                	je     0x5a0c1d
5a0c0a:	57                   	push   %edi
5a0c0b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a0c0f:	53                   	push   %ebx
5a0c10:	50                   	push   %eax
5a0c11:	e8 3a 0e e6 ff       	call   0x401a50
5a0c16:	83 c4 0c             	add    $0xc,%esp
5a0c19:	85 c0                	test   %eax,%eax
5a0c1b:	74 26                	je     0x5a0c43
5a0c1d:	68 81 06 00 00       	push   $0x681
5a0c22:	68 5c 7c 66 00       	push   $0x667c5c
5a0c27:	68 19 01 00 00       	push   $0x119
5a0c2c:	68 01 01 00 00       	push   $0x101
5a0c31:	6a 14                	push   $0x14
5a0c33:	56                   	push   %esi
5a0c34:	e8 d7 e4 fe ff       	call   0x58f110
5a0c39:	83 c4 18             	add    $0x18,%esp
5a0c3c:	33 c0                	xor    %eax,%eax
5a0c3e:	e9 b6 02 00 00       	jmp    0x5a0ef9
5a0c43:	8b 7c 24 10          	mov    0x10(%esp),%edi
5a0c47:	8b 46 04             	mov    0x4(%esi),%eax
5a0c4a:	8d 8e f8 08 00 00    	lea    0x8f8(%esi),%ecx
5a0c50:	6a 00                	push   $0x0
5a0c52:	6a 01                	push   $0x1
5a0c54:	51                   	push   %ecx
5a0c55:	8b 40 64             	mov    0x64(%eax),%eax
5a0c58:	56                   	push   %esi
5a0c59:	8b 00                	mov    (%eax),%eax
5a0c5b:	ff d0                	call   *%eax
5a0c5d:	8b d8                	mov    %eax,%ebx
5a0c5f:	83 c4 10             	add    $0x10,%esp
5a0c62:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5a0c66:	85 db                	test   %ebx,%ebx
5a0c68:	75 18                	jne    0x5a0c82
5a0c6a:	56                   	push   %esi
5a0c6b:	e8 00 e5 fe ff       	call   0x58f170
5a0c70:	83 c4 04             	add    $0x4,%esp
5a0c73:	85 c0                	test   %eax,%eax
5a0c75:	0f 84 a8 01 00 00    	je     0x5a0e23
5a0c7b:	33 c0                	xor    %eax,%eax
5a0c7d:	e9 77 02 00 00       	jmp    0x5a0ef9
5a0c82:	85 ff                	test   %edi,%edi
5a0c84:	0f 84 95 01 00 00    	je     0x5a0e1f
5a0c8a:	8b 46 7c             	mov    0x7c(%esi),%eax
5a0c8d:	f7 00 00 01 00 00    	testl  $0x100,(%eax)
5a0c93:	0f 85 86 01 00 00    	jne    0x5a0e1f
5a0c99:	83 be cc 03 00 00 00 	cmpl   $0x0,0x3cc(%esi)
5a0ca0:	0f 84 79 01 00 00    	je     0x5a0e1f
5a0ca6:	ff b6 e0 03 00 00    	push   0x3e0(%esi)
5a0cac:	e8 bf fa f4 ff       	call   0x4f0770
5a0cb1:	83 c4 04             	add    $0x4,%esp
5a0cb4:	85 c0                	test   %eax,%eax
5a0cb6:	0f 84 63 01 00 00    	je     0x5a0e1f
5a0cbc:	ff b6 e0 03 00 00    	push   0x3e0(%esi)
5a0cc2:	e8 a9 fa f4 ff       	call   0x4f0770
5a0cc7:	50                   	push   %eax
5a0cc8:	e8 f3 fb f4 ff       	call   0x4f08c0
5a0ccd:	8b f8                	mov    %eax,%edi
5a0ccf:	83 c4 08             	add    $0x8,%esp
5a0cd2:	85 ff                	test   %edi,%edi
5a0cd4:	79 23                	jns    0x5a0cf9
5a0cd6:	68 ac 06 00 00       	push   $0x6ac
5a0cdb:	68 5c 7c 66 00       	push   $0x667c5c
5a0ce0:	6a 06                	push   $0x6
5a0ce2:	68 01 01 00 00       	push   $0x101
5a0ce7:	6a 50                	push   $0x50