581a13:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
581a1a:	85 f6                	test   %esi,%esi
581a1c:	74 29                	je     0x581a47
581a1e:	6a 30                	push   $0x30
581a20:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
581a26:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
581a2d:	e8 10 f6 05 00       	call   0x5e1042
581a32:	83 c4 04             	add    $0x4,%esp
581a35:	89 00                	mov    %eax,(%eax)
581a37:	89 40 04             	mov    %eax,0x4(%eax)
581a3a:	89 40 08             	mov    %eax,0x8(%eax)
581a3d:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
581a43:	89 06                	mov    %eax,(%esi)
581a45:	eb 02                	jmp    0x581a49
581a47:	33 f6                	xor    %esi,%esi
581a49:	8d 45 d8             	lea    -0x28(%ebp),%eax
581a4c:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
581a53:	50                   	push   %eax
581a54:	8b cf                	mov    %edi,%ecx
581a56:	89 75 d8             	mov    %esi,-0x28(%ebp)
581a59:	e8 92 05 00 00       	call   0x581ff0
581a5e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
581a61:	e8 1a e6 ff ff       	call   0x580080
581a66:	8b cf                	mov    %edi,%ecx
581a68:	e8 13 05 00 00       	call   0x581f80
581a6d:	8b 5d 08             	mov    0x8(%ebp),%ebx
581a70:	89 45 d4             	mov    %eax,-0x2c(%ebp)
581a73:	85 db                	test   %ebx,%ebx
581a75:	75 63                	jne    0x581ada
581a77:	8a 47 08             	mov    0x8(%edi),%al
581a7a:	84 c0                	test   %al,%al
581a7c:	74 0c                	je     0x581a8a
581a7e:	3c 06                	cmp    $0x6,%al
581a80:	74 08                	je     0x581a8a
581a82:	3c 07                	cmp    $0x7,%al
581a84:	0f 85 05 01 00 00    	jne    0x581b8f
581a8a:	2c 06                	sub    $0x6,%al
581a8c:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
581a93:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
581a9a:	3c 01                	cmp    $0x1,%al
581a9c:	77 1e                	ja     0x581abc
581a9e:	8b 3f                	mov    (%edi),%edi
581aa0:	8b cf                	mov    %edi,%ecx
581aa2:	8b 37                	mov    (%edi),%esi
581aa4:	ff 76 04             	push   0x4(%esi)
581aa7:	57                   	push   %edi
581aa8:	e8 f3 d8 ff ff       	call   0x57f3a0
581aad:	89 76 04             	mov    %esi,0x4(%esi)
581ab0:	89 36                	mov    %esi,(%esi)
581ab2:	89 76 08             	mov    %esi,0x8(%esi)
581ab5:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
581abc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
581abf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581ac6:	59                   	pop    %ecx
581ac7:	5f                   	pop    %edi
581ac8:	5e                   	pop    %esi
581ac9:	5b                   	pop    %ebx
581aca:	8b 4d f0             	mov    -0x10(%ebp),%ecx
581acd:	33 cd                	xor    %ebp,%ecx
581acf:	e8 06 fa 05 00       	call   0x5e14da
581ad4:	8b e5                	mov    %ebp,%esp
581ad6:	5d                   	pop    %ebp
581ad7:	c2 04 00             	ret    $0x4
581ada:	3b d8                	cmp    %eax,%ebx
581adc:	76 0d                	jbe    0x581aeb
581ade:	8d 43 ff             	lea    -0x1(%ebx),%eax
581ae1:	8b cf                	mov    %edi,%ecx
581ae3:	50                   	push   %eax
581ae4:	e8 47 e8 ff ff       	call   0x580330
581ae9:	eb d1                	jmp    0x581abc
581aeb:	8b f3                	mov    %ebx,%esi
581aed:	73 35                	jae    0x581b24
581aef:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
581af2:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
581af9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
581b00:	89 75 d0             	mov    %esi,-0x30(%ebp)
581b03:	8b 0f                	mov    (%edi),%ecx
581b05:	8d 45 cc             	lea    -0x34(%ebp),%eax
581b08:	50                   	push   %eax
581b09:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
581b10:	e8 0b f8 ff ff       	call   0x581320
581b15:	46                   	inc    %esi
581b16:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
581b1d:	3b f3                	cmp    %ebx,%esi
581b1f:	72 df                	jb     0x581b00
581b21:	8b 5d 08             	mov    0x8(%ebp),%ebx
581b24:	8b cf                	mov    %edi,%ecx
581b26:	e8 55 04 00 00       	call   0x581f80
581b2b:	3b c3                	cmp    %ebx,%eax
581b2d:	74 8d                	je     0x581abc
581b2f:	68 88 30 6c 00       	push   $0x6c3088
581b34:	8d 4d d8             	lea    -0x28(%ebp),%ecx
581b37:	e8 34 7f ee ff       	call   0x469a70
581b3c:	8d 45 d8             	lea    -0x28(%ebp),%eax
581b3f:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
581b46:	50                   	push   %eax
581b47:	e8 74 05 00 00       	call   0x5820c0
581b4c:	6a 01                	push   $0x1
581b4e:	6a 02                	push   $0x2
581b50:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
581b56:	e8 d5 d1 ff ff       	call   0x57ed30
581b5b:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
581b61:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
581b68:	68 68 32 6c 00       	push   $0x6c3268
581b6d:	50                   	push   %eax
581b6e:	e8 4d 97 f1 ff       	call   0x49b2c0
581b73:	83 c4 08             	add    $0x8,%esp
581b76:	8d 45 d8             	lea    -0x28(%ebp),%eax
581b79:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
581b7f:	50                   	push   %eax
581b80:	e8 2b d3 ff ff       	call   0x57eeb0
581b85:	50                   	push   %eax
581b86:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
581b8a:	e8 31 05 00 00       	call   0x5820c0
581b8f:	6a 01                	push   $0x1
581b91:	6a 02                	push   $0x2
581b93:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
581b99:	e8 92 d1 ff ff       	call   0x57ed30
581b9e:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
581ba4:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
581bab:	68 38 32 6c 00       	push   $0x6c3238
581bb0:	50                   	push   %eax
581bb1:	e8 0a 97 f1 ff       	call   0x49b2c0
581bb6:	83 c4 08             	add    $0x8,%esp
581bb9:	8d 45 d8             	lea    -0x28(%ebp),%eax
581bbc:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
581bc2:	50                   	push   %eax
581bc3:	e8 e8 d2 ff ff       	call   0x57eeb0
581bc8:	50                   	push   %eax
581bc9:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
581bcd:	e8 ee 04 00 00       	call   0x5820c0
581bd2:	cc                   	int3
581bd3:	cc                   	int3
581bd4:	cc                   	int3
581bd5:	cc                   	int3
581bd6:	cc                   	int3
581bd7:	cc                   	int3
581bd8:	cc                   	int3
581bd9:	cc                   	int3
581bda:	cc                   	int3
581bdb:	cc                   	int3
581bdc:	cc                   	int3
581bdd:	cc                   	int3
581bde:	cc                   	int3
581bdf:	cc                   	int3
581be0:	55                   	push   %ebp
581be1:	8b ec                	mov    %esp,%ebp
581be3:	6a ff                	push   $0xffffffff
581be5:	68 72 ce 65 00       	push   $0x65ce72
581bea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
581bf0:	50                   	push   %eax
581bf1:	81 ec e0 00 00 00    	sub    $0xe0,%esp
581bf7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
581bfc:	33 c5                	xor    %ebp,%eax
581bfe:	89 45 f0             	mov    %eax,-0x10(%ebp)
581c01:	53                   	push   %ebx
581c02:	56                   	push   %esi
581c03:	57                   	push   %edi
581c04:	50                   	push   %eax
581c05:	8d 45 f4             	lea    -0xc(%ebp),%eax
581c08:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
581c0e:	8b f9                	mov    %ecx,%edi
581c10:	8a 47 08             	mov    0x8(%edi),%al
581c13:	84 c0                	test   %al,%al
581c15:	74 0a                	je     0x581c21
581c17:	3c 07                	cmp    $0x7,%al
581c19:	0f 85 42 01 00 00    	jne    0x581d61
581c1f:	eb 7b                	jmp    0x581c9c
581c21:	c6 45 e0 07          	movb   $0x7,-0x20(%ebp)
581c25:	81 65 e0 ff fe ff ff 	andl   $0xfffffeff,-0x20(%ebp)
581c2c:	6a 08                	push   $0x8
581c2e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
581c35:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
581c3c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
581c43:	e8 fa f3 05 00       	call   0x5e1042
581c48:	8b f0                	mov    %eax,%esi
581c4a:	83 c4 04             	add    $0x4,%esp
581c4d:	89 75 cc             	mov    %esi,-0x34(%ebp)
581c50:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
581c57:	85 f6                	test   %esi,%esi
581c59:	74 29                	je     0x581c84
581c5b:	6a 30                	push   $0x30
581c5d:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
581c63:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
581c6a:	e8 d3 f3 05 00       	call   0x5e1042
581c6f:	83 c4 04             	add    $0x4,%esp
581c72:	89 00                	mov    %eax,(%eax)
581c74:	89 40 04             	mov    %eax,0x4(%eax)
581c77:	89 40 08             	mov    %eax,0x8(%eax)
581c7a:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
581c80:	89 06                	mov    %eax,(%esi)
581c82:	eb 02                	jmp    0x581c86
581c84:	33 f6                	xor    %esi,%esi
581c86:	8d 45 d8             	lea    -0x28(%ebp),%eax
581c89:	89 75 d8             	mov    %esi,-0x28(%ebp)
581c8c:	50                   	push   %eax
581c8d:	8b cf                	mov    %edi,%ecx
581c8f:	e8 5c 03 00 00       	call   0x581ff0
581c94:	8d 4d d8             	lea    -0x28(%ebp),%ecx
581c97:	e8 e4 e3 ff ff       	call   0x580080
581c9c:	8b 45 08             	mov    0x8(%ebp),%eax
581c9f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
581ca2:	2b d8                	sub    %eax,%ebx
581ca4:	89 45 d0             	mov    %eax,-0x30(%ebp)
581ca7:	c1 e3 02             	shl    $0x2,%ebx
581caa:	83 cb 02             	or     $0x2,%ebx
581cad:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
581cb0:	8b 0f                	mov    (%edi),%ecx
581cb2:	8d 45 d0             	lea    -0x30(%ebp),%eax
581cb5:	50                   	push   %eax
581cb6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
581cb9:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
581cc0:	50                   	push   %eax
581cc1:	e8 fa d8 ff ff       	call   0x57f5c0
581cc6:	8b 70 08             	mov    0x8(%eax),%esi
581cc9:	8b 07                	mov    (%edi),%eax
581ccb:	3b 30                	cmp    (%eax),%esi
581ccd:	74 10                	je     0x581cdf
581ccf:	8d 45 d0             	lea    -0x30(%ebp),%eax
581cd2:	8d 4e 10             	lea    0x10(%esi),%ecx
581cd5:	50                   	push   %eax
581cd6:	e8 95 e4 ff ff       	call   0x580170
581cdb:	84 c0                	test   %al,%al
581cdd:	75 61                	jne    0x581d40
581cdf:	e8 2c fc ff ff       	call   0x581910
581ce4:	50                   	push   %eax
581ce5:	8d 45 d0             	lea    -0x30(%ebp),%eax
581ce8:	50                   	push   %eax
581ce9:	8d 4d ac             	lea    -0x54(%ebp),%ecx
581cec:	e8 0f d5 ff ff       	call   0x57f200
581cf1:	8b 0f                	mov    (%edi),%ecx
581cf3:	8d 45 ac             	lea    -0x54(%ebp),%eax
581cf6:	50                   	push   %eax
581cf7:	56                   	push   %esi
581cf8:	8d 45 cc             	lea    -0x34(%ebp),%eax
581cfb:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
581cff:	50                   	push   %eax
581d00:	e8 cb d9 ff ff       	call   0x57f6d0
581d05:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
581d08:	8b 30                	mov    (%eax),%esi
581d0a:	e8 71 e3 ff ff       	call   0x580080
581d0f:	8b 4d ac             	mov    -0x54(%ebp),%ecx
581d12:	85 c9                	test   %ecx,%ecx
581d14:	74 12                	je     0x581d28
581d16:	8b 45 b0             	mov    -0x50(%ebp),%eax
581d19:	24 03                	and    $0x3,%al
581d1b:	3c 01                	cmp    $0x1,%al
581d1d:	75 09                	jne    0x581d28
581d1f:	51                   	push   %ecx
581d20:	e8 4b c9 06 00       	call   0x5ee670
581d25:	83 c4 04             	add    $0x4,%esp
581d28:	8b 45 08             	mov    0x8(%ebp),%eax
581d2b:	85 c0                	test   %eax,%eax
581d2d:	74 11                	je     0x581d40
581d2f:	80 e3 03             	and    $0x3,%bl
581d32:	80 fb 01             	cmp    $0x1,%bl
581d35:	75 09                	jne    0x581d40
581d37:	50                   	push   %eax
581d38:	e8 33 c9 06 00       	call   0x5ee670
581d3d:	83 c4 04             	add    $0x4,%esp
581d40:	8d 46 18             	lea    0x18(%esi),%eax
581d43:	8b 4d f4             	mov    -0xc(%ebp),%ecx
581d46:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581d4d:	59                   	pop    %ecx
581d4e:	5f                   	pop    %edi
581d4f:	5e                   	pop    %esi
581d50:	5b                   	pop    %ebx
581d51:	8b 4d f0             	mov    -0x10(%ebp),%ecx
581d54:	33 cd                	xor    %ebp,%ecx
581d56:	e8 7f f7 05 00       	call   0x5e14da
581d5b:	8b e5                	mov    %ebp,%esp
581d5d:	5d                   	pop    %ebp
581d5e:	c2 08 00             	ret    $0x8
581d61:	6a 01                	push   $0x1
581d63:	6a 02                	push   $0x2
581d65:	8d 8d 14 ff ff ff    	lea    -0xec(%ebp),%ecx
581d6b:	e8 c0 cf ff ff       	call   0x57ed30
581d70:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
581d76:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
581d7d:	68 a8 33 6c 00       	push   $0x6c33a8
581d82:	50                   	push   %eax
581d83:	e8 38 95 f1 ff       	call   0x49b2c0
581d88:	83 c4 08             	add    $0x8,%esp
581d8b:	8d 45 d8             	lea    -0x28(%ebp),%eax
581d8e:	8d 8d 14 ff ff ff    	lea    -0xec(%ebp),%ecx
581d94:	50                   	push   %eax
581d95:	e8 16 d1 ff ff       	call   0x57eeb0
581d9a:	50                   	push   %eax
581d9b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
581d9f:	e8 1c 03 00 00       	call   0x5820c0
581da4:	cc                   	int3
581da5:	cc                   	int3
581da6:	cc                   	int3
581da7:	cc                   	int3
581da8:	cc                   	int3
581da9:	cc                   	int3
581daa:	cc                   	int3
581dab:	cc                   	int3
581dac:	cc                   	int3
581dad:	cc                   	int3
581dae:	cc                   	int3
581daf:	cc                   	int3
581db0:	55                   	push   %ebp
581db1:	8b ec                	mov    %esp,%ebp
581db3:	6a ff                	push   $0xffffffff
581db5:	68 bb ce 65 00       	push   $0x65cebb
581dba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
581dc0:	50                   	push   %eax
581dc1:	81 ec cc 00 00 00    	sub    $0xcc,%esp
581dc7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
581dcc:	33 c5                	xor    %ebp,%eax
581dce:	89 45 f0             	mov    %eax,-0x10(%ebp)
581dd1:	53                   	push   %ebx
581dd2:	56                   	push   %esi
581dd3:	57                   	push   %edi
581dd4:	50                   	push   %eax
581dd5:	8d 45 f4             	lea    -0xc(%ebp),%eax
581dd8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
581dde:	8b f9                	mov    %ecx,%edi
581de0:	8b 07                	mov    (%edi),%eax
581de2:	8b 75 08             	mov    0x8(%ebp),%esi
581de5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
581de8:	85 c0                	test   %eax,%eax
581dea:	74 0f                	je     0x581dfb
581dec:	50                   	push   %eax
581ded:	e8 7e c8 06 00       	call   0x5ee670
581df2:	83 c4 04             	add    $0x4,%esp
581df5:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
581dfb:	85 f6                	test   %esi,%esi
581dfd:	74 34                	je     0x581e33
581dff:	8a 06                	mov    (%esi),%al
581e01:	84 c0                	test   %al,%al
581e03:	74 04                	je     0x581e09
581e05:	3c 2f                	cmp    $0x2f,%al
581e07:	75 47                	jne    0x581e50
581e09:	53                   	push   %ebx
581e0a:	56                   	push   %esi
581e0b:	e8 70 f4 ff ff       	call   0x581280
581e10:	83 c4 08             	add    $0x8,%esp
581e13:	89 07                	mov    %eax,(%edi)
581e15:	8b 4d f4             	mov    -0xc(%ebp),%ecx
581e18:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581e1f:	59                   	pop    %ecx
581e20:	5f                   	pop    %edi
581e21:	5e                   	pop    %esi
581e22:	5b                   	pop    %ebx
581e23:	8b 4d f0             	mov    -0x10(%ebp),%ecx
581e26:	33 cd                	xor    %ebp,%ecx
581e28:	e8 ad f6 05 00       	call   0x5e14da
581e2d:	8b e5                	mov    %ebp,%esp